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 gpd

def 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

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值