【问题标题】:gis calculate distance between point and polygon / bordergis计算点和多边形/边界之间的距离
【发布时间】:2017-02-21 02:13:07
【问题描述】:

我想使用 python / shapely 计算一个点和一个国家边界之间的距离。它应该可以正常工作 point.distance(poly) 例如这里演示了Find Coordinate of Closest Point on Polygon Shapely,但使用geopandas我面临的问题是: 'GeoSeries' object has no attribute '_geom'

我在处理数据时出了什么问题? 我的边框数据集来自http://www.gadm.org/

【问题讨论】:

  • 如图所示:0 MultiPolygon dtype: object
  • austriaBorders.geometry 真的是匀称几何吗?请执行print type(austriaBorders.geometry)
  • 我通过 geopandas 读取了 ESRI 文件
  • 所以命令的输出是 geopandas.geoseries.GeoSeries

标签: python gis distance shapely geopandas


【解决方案1】:

根据geopandas 文档,GeoSeries 是几何图形的向量(在您的情况下,0 (POLYGON... 告诉您只有一个对象,但它仍然是向量)。应该有一种方法可以获取第一个几何元素。 GeoSeries 类实现了__getitem__ 方法,因此austriaBorders.geometry[0] 应该为您提供所需的几何图形。所以,试试point.distance(austriaBorders.geometry[0])

如果您只需要到某个点的距离,GeoSeries 实现了distance 方法,但它会返回一个向量,其中包含到它包含的每个几何图形的距离(根据文档)。

【讨论】:

  • 确实 [0] 是 shapely.geometry.multipolygon.MultiPolygon
猜你喜欢
  • 2021-10-25
  • 2023-03-25
  • 2017-01-08
  • 2018-05-03
  • 2016-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多