2015-02-06 10 views
0

몇 가지 도움이 필요한데 문제가 있습니다. 우리의 응용 프로그램에는 여러 개의 FeatureLayers가 있으며이 레이어 중 일부에는 사용자가 새로운 객체를 그릴 수 있습니다.ArcGIS에서 레이어와 지오메트리가 충돌합니다.

사용자가 새 객체를 그릴 때 텐트 (모든 유형의 기하학)를 호출 할 수 있으면 위치가 유효한지 확인해야합니다. 건물과 동일한 위치를 사용하지 않을 때 객체는 유효합니다. 건물은 MapServer에 저장되고 브라우저에로드되는 별도의 featureLayer에 저장됩니다. 그림 인 텐트는 로컬에 저장됩니다 (현재). 그래서

은 .. 무엇을 내가 층 (건물) 및에 - 더 - 순간을 그려 개체에있는 모든 개체 사이의 거리를 찾는 서비스가 필요하다고 생각이다 .. 지점에 도착하는

SummarizeNearby 서비스를 살펴 보았지만 현재로서는 라이센스가 없습니다. 그렇다면 GeometryService을 살펴보고 올바른 방법인지 알고 싶습니다.

GeometryService의 차이 또는 교차 방법을 사용하여 건물 층의 그래픽/기하학 및 그려진 객체. 차이가 건물 층의 그래픽과 같은 크기이면 충돌이 없습니다. 그러나 결과가 건물 층과 다른 경우 건물 층에는 방금 그려진 객체가 포함되어 있으며 그려진 객체는 유효하지 않습니다.

이 방법으로 가거나 교차/겹치는 오브젝트를 계산/찾는 다른 방법이 있다면 지금 알려주십시오.

감사합니다. 니코

답변

0

그냥 '텐트'중 하나가 건물의 겹치는 것을 알아 내기 위해 찾고 있다면, 나는 당신의 공간 필터로 텐트 형상을 사용하여 건물의 서비스에 대한 쿼리를하고 건의 할 것입니다.

API에 QueryQueryTask 개체를 사용하는 경우 여기에 the documentation이 있습니다. 당신은 다양한 공간 관계를 가지고 놀 수있어서 당신에게 맞는 것을 볼 수 있습니다. 지오메트리 속성을 텐트 지오메트리와 동일하게 설정하고 QueryTask을 만들고 executeForCount을 호출하십시오. 콜백 함수는 방금 수행 한 공간 쿼리와 일치하는 지형지 물 (이 경우 건물) 수를 제공합니다.

여기에 quick fiddle이 던져졌습니다.

+0

내가 실제로 그렇게 한 것입니다. 잘 작동합니다. – nickoooname