2017-03-09 110 views
4

我現在在處理shp文件,並遇到預測問題。 讓我給你下面的代碼。geopandas投影問題

進口大熊貓作爲PD 進口geopandas爲GPD 從geopandas進口GeoSeries,GeoDataFrame 進口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()) 

data construction

當我執行print(base_map.crs), print(Aelly_to_crs.crs)時,我得到了如下結果。

results

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

data construction

上面的照片是在執行Aelly.plot(ax=base_map.plot()) 你可以看到兩個畫面不相互匹配的結果。 我該如何解決這個問題?

-----------編輯

我的理想輸出如圖所示。

enter image description here

這裏是我的數據鏈接: http://blog.naver.com/khm2963/220929301892

下面圖片下載我的flie

enter image description here enter image description here

+0

我不明白這個問題。什麼是預期的輸出?可能是什麼問題?你有什麼嘗試?人們可能不會下載你的文件,所以最好給我們一個最小的例子,我們可以複製/粘貼 – cd98

+0

哦〜對不起〜我遲到了。我假設人們從我的鏈接中獲取我的數據。但它不起作用。 我更改了我的數據鏈接,並在我的問題中添加了更多信息。對不起 –

+1

請考慮在http://geojson.io/或某些類似的服務上共享幾個(或全部)多邊形,所以我們不必下載文件! – cd98

回答

0

從已打印的它看起來像數據的過程一切工作都應該如此!形狀文件之間的座標是非常不同的,但crs是相同的,所以情節完全合理。

GeoPandas無法告訴您數據和數字在現實世界中是否有意義。你給了它兩個帶有明確定義的投影的形狀文件(EPSG:32652)和硬編碼座標,GeoPandas對此很滿意。

如果你知道,在現實中這兩種形狀文件表示相同的區域,那麼你是必須認識到數據源的一個是有點損壞。我認爲其中一個shapefile意外地將元數據定義爲不同的crs定義(例如,將其想象爲錯誤的文本編碼)。

最簡單的方法來找出答案並糾正它是通過使用ArcGIS或QGIS軟件,在那裏你可以爲了與不同的投影播放弄清楚,怎樣纔是正確的投影效果。然後,您可以使用新的投影元數據保存shapefile,其餘部分可以在框中使用。