使用GeoPandas / Shapely查找由纬度和经度坐标定义的多边形的交集区域。

4
我有两个GeoDataFrames,名为leftright,它们都包含许多多边形。现在我正在尝试找到每个left多边形与所有right多边形的总交集面积。
我使用gpd.sjoin获得了left中每个多边形与right中相交多边形的索引,因此我使用以下方法计算交集面积:
area = left.iloc[i].geometry.intersection(right.iloc[idx].geometry).area
其中i和idx是两个GDF中相交多边形的索引(假设左侧多边形只与右侧的一个多边形相交)。问题是我得到的面积值看起来毫无意义,而且我不知道它使用的单位是什么。两个GeoDataFrames的CRS都是EPSG:4326,这是标准的WSG84投影方式,多边形坐标以经度和纬度的形式定义。 有人知道计算出的面积单位是什么吗?还是需要在计算面积之前将它们转换为不同的投影方式吗? 感谢您的帮助!
1个回答

3

我通过使用EPSG:6933投影进行修复,EPSG:6933是一个保面积的地图投影,并以平方米为单位返回面积(EPSG:4326不保留面积,因此不适合面积计算)。 我可以使用以下方法将我的GDF更改为这个投影。

gdf.to_crs(espg=6933)

然后用与上述相同的方法计算面积。


为了让这个答案对其他用户有所帮助,你能展示一下你用来解决问题的代码以及最好附上解释吗?提示:原始区域单位是平方度。 - Michael Delgado

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接