gpt4 book ai didi

python - 如何有效地仅绘制那些落在 map 边界框中的点?

转载 作者:太空宇宙 更新时间:2023-11-03 16:24:00 25 4
gpt4 key购买 nike

我有以下代码,其中 mpFiona 框的 Shapely Multipolygon:

ax = fig.add_subplot(111)
minx, miny, maxx, maxy = mp.bounds
w, h = maxx - minx, maxy - miny
ax.set_xlim(minx, maxx)
ax.set_ylim(miny, maxy)
ax.set_aspect(1)
patches = []
for idx, p in enumerate(mp):
patches.append(PolygonPatch(p, fc='#ffffff', ec='#000000', alpha=1., zorder=1))
ax.add_collection(PatchCollection(patches, match_original=True))
plt.show()

我有一个 pandas 数据框,其中包含许多带标签的纬度/经度对。

> 0 -34.026810  -71.101670  A
> 1 -32.986970 -71.501580 G
> 2 -40.931400 -73.027190 C

但是,并非 df 中的所有点都“落入” map 边界内。问题是:如何有效地仅映射 map 边界框中的那些点?

最佳答案

我想在 pandas 级别上过滤点是最有效的。为此,使用其 bounds 属性获取 Multipolygon 的边界,然后使用

过滤数据帧
df[(df.lat > latmin) & (df.lat < latmax) 
& (df.long > longmin) & (df.long < longmax)]

我假设您的纬度列名为 lat,经度列名为 longlatminlatmax 等是从多重多边形边界中获得的值。

关于python - 如何有效地仅绘制那些落在 map 边界框中的点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38161133/

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