如何解决大熊猫重投影问题?

问题描述 投票:0回答:1

this geopandas示例中,为了防止包含极点的形状(会变得无限大)的问题,在重新投影到墨卡托投影之前,南极陆块从GeoDataFrame掉落。

我想知道,是否有可能找到更健壮的重投影方法,从而无需手动调整数据框。特别是因为我正在使用的数据集没有南极洲的单独行:

enter image description here

我有两个想法:

1。使用有关目的地crs的信息>

例如,在epsg website上,显示“使用区域”:

enter image description here

[我们可以使用它来准备重新投影之前的数据:将任何向南延伸超过-80度的形状掉落,或者将其与描述目标crs使用区域的shapely Polygon相交,源crs-在这种情况下为标准epsg:4326,因此为Polygon([(-180,-80), (-180,84), ...])

这种方法的问题

:我不确定,是否可以从任何地方以编程方式访问任何crs的使用信息区域,例如从GeoDataFrame对象开始。

2。在帖子中修复

Just do it,然后稍后取出错误复制的部分。以我目前的情况为例,重新投影的地理数据框gdf_merc = gdf.to_crs(epsg=3395)确实有错误...

enter image description here

...但是通过在几何图形的字符串表示中搜索inf词,我可以在Polygon ...中找到有问题的MultiPolygon ...>

In [360]: for i, polygon in enumerate(gdf_merc.geometry[0]):
   ...:     if 'inf' in str(polygon): 
   ...:         print(i)

0

...然后将其删除:

enter image description here

使用这种方法的问题

:似乎很详尽,我更希望防止出现任何问题。

关于如何解决这些方法的任何想法,或者还有第三种方法?

一条评论:我对一般情况感兴趣,在这种情况下,[[any

crs可以重新投影到,所以我不想抢先删除南极洲(“以防万一”),因为其他投影可能很完美很好,更重要的是,他们可能还有其他问题所在。 非常感谢!

在此大熊猫的示例中,为了防止包含极点的形状出现问题(其中...

python geopandas proj
1个回答
0
投票
选项1可能是这里最好的镜头。最新的GeoPandas使用pyproj.CRS存储CRS数据,您可以从中轻松提取投影范围。

要从df中提取:

© www.soinside.com 2019 - 2024. All rights reserved.