gpt4 book ai didi

python - 如何使用 Python 中的 geopandas 测试 Point 是否在 Polygon/Multipolygon 中?

转载 作者:行者123 更新时间:2023-12-04 12:38:07 25 4
gpt4 key购买 nike

我从网站上有来自美国的多边形数据
arcgis
我还有一个包含城市坐标的excel文件。我已将坐标转换为几何数据(点)。
现在我想测试点是否在美国。
两者都是 dtype:几何。我想用这个我可以很容易地进行比较,但是当我使用我的代码时,我得到的每个点的答案都是错误的。即使有在美国的积分。

代码是:

import geopandas as gp
import pandas as pd
import xlsxwriter
import xlrd
from shapely.geometry import Point, Polygon

df1 = pd.read_excel('PATH')
gdf = gp.GeoDataFrame(df1, geometry= gp.points_from_xy(df1.longitude, df1.latitude))

US = gp.read_file('PATH')

print(gdf['geometry'].contains(US['geometry']))

有谁知道我做错了什么?

最佳答案

contains在 GeoPandas 中,目前以一对一的方式工作,而不是一对多。为此,请使用 sjoin .

points_within = gp.sjoin(gdf, US, op='within')

这将仅返回 US 内的那些点.或者,您可以过滤包含点的多边形。
polygons_contains = gp.sjoin(US, gdf, op='contains')

关于python - 如何使用 Python 中的 geopandas 测试 Point 是否在 Polygon/Multipolygon 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62410871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com