2017-02-08 2 views
1

두 개 이상의 다각형 객체로 구성된 국가/대륙의 중심을 찾는 방법이 있습니까 (예 : 미국, 캐나다, 주요 토지 이외의 섬이 있음) ? 리플릿의 Layer.getCenter() 또는 심지어 Layer.getBounds().getCenter()을 사용하려고 시도했지만 이러한 방법은 확실히 이러한 유형의 국가에서는 작동하지 않으며 "중단"결과를 반환합니다.geojson의 중심 얻기 리셉션이있는 대륙/국가/주

예는 다음 링크 (전단지)에서 볼 수 있습니다. 스크롤하여 미국 또는 캐나다를 클릭하고 circleMarker이 표시되는 곳을 확인하십시오. 그런 다음 작은 개체를 클릭하십시오 미국의 남쪽 일부 섬처럼, 그들은 조금은 저질렀 중앙에 정확하게이 마커를 배치한다 단지 기능의 경계 상자의 중심을 계산할 수 있습니다

http://playground-leaflet.rhcloud.com/voyi/1/edit?html,output

답변

2

리플릿. 다른 라이브러리 (예 : Turf.js)에서 약간의 도움을 받으면 centroid 다각형 또는 (다중 다각형)을 계산할 수 있습니다.

http://postgis.net/docs/images/st_centroid03.png

(그림 PostGIS's ST_Centroid documentation에 따라 다각형의 1 무게 중심)

: 때때로 중심이 다각형 (또는 다중) 내에 있지 않기 때문에 어떤 경우

, 당신은 혼란스러워지고있다

다각형 또는 다중를 감안할 때, 나는 중심을 계산하는 방법 (또는 센트 :

그래서 나는 당신이 정말로 묻고 싶은 것은 추측 er-like point)는 폴리곤 내에 있어야하고, 중앙에 시각적으로 보이므로, 리갈 (Leaflet)을 사용하여 그 지점에 심볼 화를 추가 할 수 있습니까? polylabel에 의해 구현 된

그리고 그것을위한

가, 대답은 "pole of inaccessibility"입니다 :«다각형 윤곽에서 가장 멀리 떨어진 내부 지점».

+0

감사합니다. 실제로 묻고 싶었지만 올바른 질문은 없었지만 중심에 대한 지식이 부족했습니다. 고마워요. 당신이 제공 한 정보를 바탕으로 좋은 결과를 얻으려고합니다. – Kamilius

+0

'polylabel'은 다각형을 도와줍니다. 그리고 '다중 폴리곤'은 어떻습니까? 북아메리카와 알래스카의 남쪽 parth를 가진 미국 국가를 위해 같이? 이 경우 뭔가를 할 수 있습니까? – Kamilius

+1

다중 다각형의 외부 링의 면적을 계산 한 다음 가장 큰 것에 '폴리 라벨'을 적용하십시오. 그리고/또는 https://github.com/mapbox/polylabel/issues에 기능 요청을 제출하십시오. – IvanSanchez