我有一个简单的GeoJSON数据对象,其功能如下所示:
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-94.62979125976562,
35.6382942199707
],
...
它不是Leaflet多边形对象,只是一个具有简单值的对象,因此我无法运行.getBounds().getCenter()
之类的方法。
如何使用标准Leaflet功能了解质心?
答案 0 :(得分:0)
第一步是根据给定的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