我有一个简单的 GeoJSON 数据对象,其功能如下所示:
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-94.62979125976562,
35.6382942199707
],
...
它不是一个Leaflet多边形对象,只是一个具有简单值的对象,所以我无法运行它的方法,如.getBounds().getCenter()
。
如何使用标准 Leaflet 功能知道质心?
最佳答案
第一步是根据给定 GeoJSON 中的“坐标”创建多边形。您可以使用库 rgdal 来实现此目的并获取多边形,
polygons <- readOGR(data, "OGRGeoJSON", require_geomType="wkbPolygon")
这将创建一个正式类 SpatialPolygonsDataFrame。
要查找该多边形的质心,请使用库rgeos。它包含一个名为 gCentroid 的函数。
Centroid <- gCentroid(polygons, byid = TRUE)
这给出了质心坐标的正式类 SpatialPoints。
要最终提取纬度和经度,您可以执行以下操作,
centroid <- list(centroid)
lat <- centroid$x
long <- centroid$y
关于javascript - 如何获取 GeoJSON 要素坐标的质心?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44491999/