주어진 위치 (지점)와 방향 (각도 범위)에서 사용자가 볼 수있는 건물 (다각형)을 찾는 방법은 무엇입니까?


10

주어진 위치 (point-lat, lng) 및 방향 (각도 간격) + 주어진 깊이 (예 : 100 미터)에서 볼 수있는 건물 세트를 검색하고 싶습니다. 이상적으로는 출력 1과 같이 각도 1에서 각도 2까지 사용자가 건물 1을 볼 수 있고 각도 2에서 각도 3으로 2를 볼 수 있습니다.

데이터 = 셰이프 파일로 도시의 건물을 나타내는 다각형.

입력 : 사람의 시각적 인식을 나타내는 위치 및 방향 (각도 범위).

출력 :
버전 1-{BuildingID} 목록
2 (더 나은)-{BuildingID, 각 건물에 대해 보이는 세그먼트 세트 (건물 외관)}
버전 3 (이상적인 출력)-{buildingID, 각도 범위 목록 }. (예를 들어, 각도 1에서 각도 2까지 사용자는 건물 1을 볼 수 있고, 각도 2에서 각도 3으로 우리는 건물 2 등을 볼 수 있습니다.)

사용할 수있는 도구 상자 : PostGis, QGis, ruby, R

출력 v1에 대한 솔루션 시작 :
-주어진 점과 방향 (각도의 중간) 및 특정 반경 / 깊이 (예 : 100 미터)에 대해 사용자의 단순화 된 시각적 범위를 나타내는 삼각형 만들기
-건물과의 교차점 계산 (예 : ST_INTERSECTION ) 및 시각적 범위. 그러나 건물은 다른 건물을 숨길 수 있으므로 시각적 범위와 건물 사이의 순수한 교차로에 보이는 건물이 추가되지 않을 수 있습니다. 이 문제를 해결해야합니다.

업데이트 : 잠재적 인 해결책 2- 주어진 점과 방향 (각도 간격)에 대해 사용자의 단순화 된 시각적 범위를 나타내는 삼각형을 만들고 특정 반경 / 깊이 (예 : 100 미터)-다른 각도에서 n 광선 (LINE) 만들기 범위를 채우십시오.
-모든 건물 (POLYGONS)을 SEGMENTS / LINES로 변환
-가장 가까운 SEGMENT 및 관련 buildingID를 찾는 각 광선마다.
이 단계에서 (ST_DISTANCE, ST_DWithin) 광선의 목록과 관련 건물 ID가 있어야합니다.
-그런 다음이 목록을 집계 할 수 있습니다 (각도 범위, 관련 건물 ID}).

더 효율적인 방법에 대한 아이디어가 있습니까?

답변:


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.