gpt4 book ai didi

geopandas - 将右投影 crs 设置为 geodataframe 以米为单位计算

转载 作者:行者123 更新时间:2023-12-02 19:54:28 25 4
gpt4 key购买 nike

尽管我的问题有答案 How to create an accurate buffer of 5 miles around a coordinate in python? ,但我不能代表它。

我有一系列采用标准纬度、经度浮点度格式的位置,需要计算它们周围的缓冲区(以米为单位)。

地点来自葡萄牙,所以我在这里选择了“正确的”crs:https://epsg.io/3763 ,即 epsg:3763

gdf = gpd.GeoDataFrame(df, geometry=gpd.points_from_xy(df['latitude'], df['longitude']),
crs={'init' :'epsg:3763'})

gdf['radius'] = gdf.geometry.buffer(50)

根据上面的答案,这应该给我围绕指定半径(以米为单位)的多边形,但实际上返回以度为单位的半径。

我知道,这应该很简单,但我仍然很困惑。谢谢!

最佳答案

数据框中的点是纬度/经度。您需要使用纬度/经度 crs 初始化数据框,然后重新投影。

gdf = gpd.GeoDataFrame(df, geometry=gpd.points_from_xy(df['latitude'], df['longitude']),
crs={'init' :'epsg:4326'})
gdf = gdf.to_crs(epsg=3763)
gdf['radius'] = gdf.geometry.buffer(50)

关于geopandas - 将右投影 crs 设置为 geodataframe 以米为单位计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57378829/

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