4

我现在正在处理shp文件,但遇到了投影问题。让我在下面给你我的代码。

将 pandas 作为 pd 导入 geopandas 作为 gpd 从 geopandas 导入 GeoSeries、GeoDataFrame 导入 o​​s

Aelly = gpd.read_file(r'C:\Users\Hyun Mo\Downloads\조인 (1)\after_join.shp', encoding = 'utf-8') 
base_map = gpd.read_file(r'C:\Users\Hyun Mo\Downloads\11000 (3)\TL_SCCO_SIG.shp', encoding = 'ANSI')
Aelly_to_crs = Aelly.to_crs(base_map.crs)
Aelly_to_crs.plot(ax=base_map.plot())

这是我的数据构建

print(base_map.head())

数据构建

print(Aelly.head())

数据构建

当我执行时print(base_map.crs), print(Aelly_to_crs.crs),我得到如下结果。

结果

Aelly_to_crs.plot(ax=base_map.plot())

数据构建

上图是执行Aelly.plot(ax=base_map.plot()) 的结果,可以看到两张图不匹配。我该如何解决这个问题?

- - - - - -编辑

我想要的输出如下图。

在此处输入图像描述

这是我的数据链接:http: //blog.naver.com/khm2963/220929301892

下面的图片是下载我的苍蝇的过程

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

1

从您打印的数据来看,一切正常!shapefile 之间的坐标非常不同,但 crs 是相同的,因此该图完全有意义。

GeoPandas 无法告诉您数据和数字在现实世界中是否有意义。你给了它两个具有明确投影(EPSG:32652)和硬编码坐标的shapefile,GeoPandas对此很满意。

如果您知道实际上两个 shapefile 代表同一个区域,那么您就是必须意识到数据源以某种方式损坏的人。我认为其中一个 shapefile 意外地将不同的 crs 定义作为元数据(例如,将其想象为错误的文本编码)。

找出并纠正它的最简单方法是使用 ArcGIS 或 QGIS 软件,您可以在其中使用不同的投影来确定正确的投影是什么。然后,您可以使用新的投影元数据保存 shapefile,其余的将开箱即用。

于 2017-06-15T11:21:28.380 回答