【发布时间】:2020-10-30 07:12:00
【问题描述】:
我有点 shapefile 和多边形 shapefile。我想找出每个多边形内的最高点。 我做了一个交集来找出哪些点属于每个多边形:
import geopandas as gpd
from geopandas.tools import sjoin
point = gpd.GeoDataFrame.from_file(pointSHP)
print("POINT", point)
poly = gpd.GeoDataFrame.from_file(polygonSHP)
print("POLY", poly)
points_within_poly = gpd.sjoin(point, poly, how="inner", op='intersects')
print(points_within_poly.head(10))
现在我想为每个 index_right 选择最高点。我认为这是按几何列中的 Z 值排序的问题,但我遇到了问题。我不知道如何使用 geopandas 从几何图形中提取 Z 坐标。最后我想做一个空间连接并将 Z 值填充到最近的点(另一个 shapefile)。
谢谢
【问题讨论】:
-
要在您的情况下从 3D 点获取
z的值,只需将point.geometry[0].z用于地理数据框中的第一项即可。 -
谢谢 swatchai,你知道如何为每个多边形保留最高值的点吗?之后,我只需使用多边形 ID 将该点与同一多边形内的另一组点连接起来。谢谢:)
标签: python geopandas shapely fiona