【问题标题】:How to get centroid for a GeoJSON feature coordinates?如何获取 GeoJSON 特征坐标的质心?
【发布时间】:2019-04-15 18:58:15
【问题描述】:

我有一个 GeoJSON 数据的简单对象,其特征如下所示:

  "geometry": {
    "type": "Polygon",
    "coordinates": [
      [
        [
          -94.62979125976562,
          35.6382942199707
        ],
 ...

它不是一个 Leaflet 多边形对象,只是一个具有简单值的对象,所以我不能像 .getBounds().getCenter() 这样运行它的方法。

我如何使用标准 Leaflet 功能知道质心?

【问题讨论】:

标签: javascript leaflet geojson


【解决方案1】:

第一步是根据给定 GeoJSON 中的“坐标”创建多边形。您可以为此使用库 rgdal 并获得多边形,

 polygons <- readOGR(data, "OGRGeoJSON", require_geomType="wkbPolygon")

这将创建一个正式类 SpatialPolygonsDataFrame。

要找到这个多边形的质心,请使用库 rgeos。它包含一个名为 gCentroid 的函数。

Centroid <- gCentroid(polygons, byid = TRUE)

这给出了质心坐标的Formal类SpatialPoints。

要最终提取纬度和经度,您可以执行以下操作,

centroid <- list(centroid)
lat <- centroid$x  
long <- centroid$y

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多