重新投影未正确转换几何图形的GeoDataframe



我正在使用Geopandas通过读取已投影到EPSG:3735(俄亥俄州平面南部,美国英尺(的形状文件(.shp(来创建地理数据框架。现在我想将另一个地理数据框架加入到这个框架中。第二个地理数据框架是通过读取.csv文件创建的,该文件包含lon,lat格式的x,y坐标。因此,我将第二个地球数据框架的crs定义为EPSG:4326(WGS 1984(。要使用空间连接函数,两个地理数据框架的crs需要相同,所以我尝试使用To_crs将第一个地理数据帧重新投影到EPSG:4326。在重新投影之前,Geodataframe gdf如下所示:

地区类型>SHAPE_Area<1th>ID区域类型几何<1><248>>2261外径POLYGON((1286831.480 474763.929,1286845.315…(
TAZ 地区>FAZSHAPE_Leng
1656 2261 0291646500..2525691.147235e+08

我想我刚刚想明白了。与其用WGS 1984(4326(初始化.csv文件中的第二个gdf,不如将其设置为NAD 1983(4269(。GCS都使用lat和long,所以我想从一个转换到另一个会引起一些麻烦。然后,我能够使用to_crsgdfEPSG:4269转换为EPSG:3735,因为3735是使用NAD83的PCS。因此,我想,当使用地质标准中的其他地面军事系统将数据从一个地面军事系统直接投影到另一个PCS时,可能会造成一些麻烦。我没有检查源代码,但为了避免类似的问题,如果目标crs在另一个GCS中,我会说在尝试使用to_crs进行项目时要小心。

您可以检查gdf是否设置了正确的坐标系。使用gdf.crs可以做到这一点。如果不是EPSG:3735,而是其他东西,这可能会导致你看到的无限。

如果这是错误的,那么调查原因可能是有意义的。但在任何情况下,您都可以用set_crs:覆盖错误的值

gdf = gdf.set_crs("EPSG:3735")
gdf_proj = gdf.to_crs("EPSG:4326")

最新更新