2
A
回答
2
有幾種方法這一點,取決於你到底想要什麼。
最簡單的一個就是計算整個多邊形的質心。很多地理空間軟件能夠計算multipolygons的重心,與多個外環,多邊形等
如果您使用單張及GeoJSON的,我個人的選擇是使用Turf.js爲地理處理,如:
var poly1 = {
type: 'Feature',
geometry: {
type: 'Polygon',
coordinates: [[[10, 10], [10, 20], [20, 15]]]
}
};
var poly2 = {
type: 'Feature',
geometry: {
type: 'Polygon',
coordinates: [[[10, 45], [20, 40], [20, 50]]]
}
};
var featCollection = {
type: 'FeatureCollection',
features: [poly1, poly2]
}
L.geoJSON(featCollection).addTo(map)
// Magic happens here:
var centroid = turf.centroid(featCollection);
L.geoJSON(centroid).addTo(map);
您可以看到,作爲working example。
現在,質心是的中心密度的多邊形。如果你還記得高中幾何,你會記得lots of centers for something as simple as a triangle,每個都有自己的屬性。
對於更復雜的多邊形,這是正確的:some times you don't want the centroid。如果考慮到測地線(即地球不是二維平面),事情變得更加複雜。
因此,根據你想要做什麼,你可能需要一個更詳細的解決方案,以便找到不是質心,而是一個點,它將與任何多邊形的距離最小化(理解爲距離任何該多邊形的頂點)。
相關問題
- 1. LatLong屬於D3 +小冊子中給定的多邊形內
- 2. 確定一個點的多邊形是
- 3. 小冊子放大到多邊形
- 4. GeoJSON多邊形的中心
- 5. 小冊子中的多邊形背景紋理
- 6. 如何自動縮放到小冊子中的多邊形?
- 7. 動態更改小冊子中多邊形的顏色?
- 8. 使用小冊子刪除多邊形之外的多義線點
- 9. 確定點是否在多邊形內
- 10. 確定是否點在多邊形
- 11. 通過小冊子中的csv數據定義json多邊形的顏色
- 12. 用於多個多邊形的點多邊形算法
- 13. 在較小的多邊形中細分多邊形的算法
- 14. 確定多邊形法線,多邊形內部還是外部的點
- 15. 將多邊形拆分爲小多邊形,每個包含1個點
- 16. 多邊形組中的STConvexHull()多邊形
- 17. 匹配點在多邊形列表中的多邊形
- 18. 多邊形的重心
- 19. 確定多個點的質心
- 20. 在一些小凸多邊形中細分一般多邊形
- 21. 多邊形邊上的點
- 22. 小冊子:如何在多邊形後面顯示標記?
- 23. R小冊子:添加多邊形時傳遞popupOptions。
- 24. 如何使用R在小冊子上繪製多邊形?
- 25. 將新創建的多邊形轉換爲小冊子中的GeoJSON
- 26. 使用LINQ的多邊形中的點或多邊形上的點
- 27. 在每個多邊形中查找一組多邊形的最大點R
- 28. 從多個多邊形搜索點
- 29. 多邊形斑點(二值圖像)的中心線
- 30. 以PHP計算多邊形的緯度經度中心點
如何自動調整地圖的縮放級別以適合所有/大部分多邊形? – codejunkie
獲取每個多邊形的邊界,並創建一個延伸到所有邊界的'L.Bounds'實例。閱讀宣傳單文件,它應該很簡單,你自己做。 – IvanSanchez
http://stackoverflow.com/questions/16845614/zoom-to-fit-all-markers-in-mapbox-or-leaflet --->幫助我 – codejunkie