Ruby/Rail에서 PostGIS를 사용하고 있으며 원하는대로 간단한 상자 모양의 다각형을 만들었습니다 카운티의 토지 소포를 검색하십시오. st_overlaps 도구는 이전에이 작업을 수행했으며 이번에는 일했습니다. 나는 157 개 결과를 얻을 수PostGIS의 st_overlaps 메소드는 다각형의 외면을 구성하는 LinearRing과 중복되는 결과 만 반환합니다.
Parcel.where{st_overlaps(:parcel_multipolygon, polygon)}
:
그래서 내가 활성 기록 호출을 실행 한 후 (이 밝혀 다중 다각형)이
factory = RGeo::Cartesian.factory
coords = [[1554780, 1101102], [1561921, 1062647], [1634713, 1097531], [1630867, 1140657]]
points = coords.map { |pair| RGeo::WKRep::WKTParser.new.parse("POINT (#{pair.first} #{pair.last})") }
ring = factory.linear_ring(points)
polygon = factory.polygon(ring)
아래에 소포를 검색 할 다각형을 생성 . 기대했던 것보다 훨씬 적습니다. 내 사용자 지정 스크립트를 사용하여 kml 파일을 내 보냈습니다. 나는 그것을보기 위해 곧 업로드 할 것이다. 한 번 구글 어스에 탑재되는 KML에서 볼 수있는 것들
는 명확 내가 아래에 검색하기 위해 만든 매개 변수 - 다각형의 외부 링을 saddling하는 영역 (다각형) 소포를 표시 핀의 평행 사변형이다. 명확하고 뚜렷한 모양의이 보이지 않는 선을 따라 많은 소포가 있습니다. 모양 중간에 핀이 없으므로 검색 결과가 외면 모서리가있는 소포 다중 다각형의 겹침에만 있음을 분명히 나타냅니다 (LinearRing)를 검색합니다.
st_overlaps
에 대한 설명서를 다시 읽었을 때, 여기에 문제가있는 것 같아서 당황 스럽습니다.
다음은 kmz 내보내기를 볼 수있는 링크입니다. (내보내기 전에 지리적으로 변환 된 좌표). 브라우저에서 볼 수 있습니다. 검색 폴리곤 자체는 포함되어 있지 않지만 외부 링이 어디에 있는지 쉽게 알 수 있습니다. https://docs.google.com/file/d/0B5inC0VAuhH1TXdTbWQ2RngxZk0/edit?usp=sharing
체크 아웃합니다. 그것은 쉬운 하나, 감사 Shaun –
하하 you'er 환영 :) 나는 몇 년 전 똑같은 것을 기억하고 기억 : P – Shaunak
나는 재미있는 오늘 배웠습니다. btw. 나는 당신이 그것과 km 드라이브를 공유 할 수 있었다라는 것을 안다. 그리고 google drive는지도에서 그것을 열 것이다! 감사! 웃음 – Shaunak