python shp地理坐标系转换平面坐标系-(涉及geopandas安装)
生活随笔
收集整理的這篇文章主要介紹了
python shp地理坐标系转换平面坐标系-(涉及geopandas安装)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先需要正確安裝geopandas,步驟請參考:https://geoffboeing.com/2014/09/using-geopandas-windows/
話不多說,直接上代碼。例子寫的是4326轉2383,想要別的坐標系的就去代碼里提到的網站里找對應編碼對應的proj4字符串,替換進去。(長得類似于+proj=tmerc +lat_0=0.....一長串字符?)
我想了一下,之所以需要這樣寫,而不是直接用epsg=2383的原因是,pyproj里識別不出來2383是什么坐標系,所以只能直接輸入這個坐標系的proj4字符串。
import pandas as pd import numpy as np import geopandas as gpddef projTranslate(inputdir): ''' 功能:坐標系4326轉2383輸入:原始shp路徑輸出:轉換后的 shp,可以直接用于繪圖注意:geopandas依賴的pyproj新版本有些問題,網上有人用1.9.6版本的可以轉換成功,但是1.9.6版本的不支持python3.8以上。解決辦法:在to_crs的時候需要去 https://spatialreference.org/ 上找到坐標系對應的 proj4格式的字符串這樣才不會報錯。'''df=gpd.read_file(inputdir)df.set_crs(epsg=4326)df=df.to_crs("+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs ")return df?
總結
以上是生活随笔為你收集整理的python shp地理坐标系转换平面坐标系-(涉及geopandas安装)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 五分钟理解原码补码反码和移码
- 下一篇: Anti-Aliasing