地理空间数据处理库Geopandas的投影问题

4

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

import pandas as pd import geopandas as gpd from geopandas import GeoSeries, GeoDataFrame import os

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())

data construction

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

以下图片是下载我的文件的过程。

在此输入图片说明 在此输入图片说明


我不明白问题所在。期望的输出是什么?可能出了什么问题?你尝试过什么?人们可能不会下载你的文件,因此最好给我们提供一个可以复制/粘贴数据的最小示例。 - cd98
抱歉我迟到了。我以为人们可以从我的链接获取我的数据。但是它没有起作用。我更改了我的数据链接并在我的问题中添加了更多信息。抱歉。 - 김지영
1
请考虑在http://geojson.io/或其他类似的服务上分享一些(或全部)多边形,这样我们就不必下载文件了! - cd98
哦,抱歉。但是我不知道geojson.io。那您能告诉我您的电子邮件地址吗? 我会将我的文件转发给您。谢谢祝您有愉快的一天 - 김지영
任何提出的解决方案是否解决了您的问题?那么请将该答案标记为已选择,以供未来访问者参考并关闭该主题。 - Marjan Moderc
1个回答

1
从您打印的数据来看,一切似乎都按照预期工作!虽然shapefiles之间的坐标非常不同,但是crs是相同的,因此绘图完全有意义。
GeoPandas无法告诉您数据和数字在现实世界中是否合理。您提供了两个具有良好定义投影(EPSG:32652)和硬编码坐标的shapefile文件,GeoPandas对此感到满意。
如果您知道实际上两个shapefile代表同一区域,则您必须意识到数据源出现了某种损坏。我认为其中一个shapefile的元数据意外地获得了不同的crs定义(例如,将其想象为错误的文本编码)。
找出并纠正它的最简单方法是使用ArcGIS或QGIS软件,在那里您可以尝试使用不同的投影方式来确定正确的投影方式。然后,您可以保存具有新投影元数据的shapefile文件,剩下的工作就可以轻松完成。

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