pyproj.Proj也支持直接通过epsg代码设置投影坐标系。
注:通过pyproj.Proj可以将球面上的点投影到平面上,具体用法可参考 利用pyproj将经纬度投影为平面坐标以及地理坐标系背景知识.

EPSP的英文全称是European Petroleum Survey Group,中文名称为欧洲石油调查组织。它负责维护并发布坐标参照系统的数据集参数,以及坐标转换描述,该数据集被广泛接受并使用,通过一个Web发布平台进行分发,同时提供了微软Acess数据库的存储文件,通过SQL脚本文件,mySQL, Oracle和PostgreSQL等数据库也可使用。
目前已有的参考椭球体,大地坐标系,投影坐标系等不同组合都对应着不同的epsg ID号,在EPSG中被称为EPSG code,它代表特定的椭球体、单位、地理坐标系或投影坐标系等信息。EPSG对世界的每一个地方都制定了地图,但是由于座标系不同,所以地图也各不相同。具体不同的EPSG code可在Coordinate Systems Worldwide上查询。

比较常用的几个EPSG CODE如下表:

EPSG CODE 含义
4479 中国大地2000坐标系,中国专用
4326 WGS84坐标系,GPS使用
3857 基于WGS84的伪墨卡托投影坐标系,互联网常用

pyproj.CRS表示一个坐标参数系统(Coordinate Reference System),pyproj.CRS.from_epsg()支持epsg代码。比如:

In [34]: crs=pyproj.CRS.from_epsg(4479)
In [35]: crs
Out[35]:
<Geocentric CRS: EPSG:4479>
Name: China Geodetic Coordinate System 2000
Axis Info [cartesian]:
- X[geocentricX]: Geocentric X (metre)
- Y[geocentricY]: Geocentric Y (metre)
- Z[geocentricZ]: Geocentric Z (metre)
Area of Use:
- name: China
- bounds: (73.62, 16.7, 134.77, 53.56)
Datum: China 2000
- Ellipsoid: CGCS2000
- Prime Meridian: Greenwich

然而,epsg代码既可以表示投影坐标系(如EPSG:3070表示NAD83/Wisconsin Transverse Mercator),
也可以表示大地坐标系(如EPSG:4479表示China Geodetic Coordinate System 2000 ),
还可以表示大地基准面(如EPSG:1043表示China 2000 ),
还可以表示参考椭球(如EPSG:1024表示CGCS2000 )。
注:上述四种坐标系的定义和区别可参考 利用pyproj将经纬度投影为平面坐标以及地理坐标系背景知识.
但pyproj.CRS.from_epsg()只支持表示投影坐标系和大地坐标系的EPSG代码,比如:

In [40]: crs=pyproj.CRS.from_epsg(3070)In [41]: crs
Out[41]:
<Projected CRS: EPSG:3070>
Name: NAD83 / Wisconsin Transverse Mercator
Axis Info [cartesian]:
- X[east]: Easting (metre)
- Y[north]: Northing (metre)
Area of Use:
- name: USA - Wisconsin
- bounds: (-92.89, 42.48, -86.25, 47.31)
Coordinate Operation:
- name: Wisconsin Transverse Mercator 83
- method: Transverse Mercator
Datum: North American Datum 1983
- Ellipsoid: GRS 1980
- Prime Meridian: Greenwich
In [42]: crs=pyproj.CRS.from_epsg(4479)In [43]: crs
Out[43]:
<Geocentric CRS: EPSG:4479>
Name: China Geodetic Coordinate System 2000
Axis Info [cartesian]:
- X[geocentricX]: Geocentric X (metre)
- Y[geocentricY]: Geocentric Y (metre)
- Z[geocentricZ]: Geocentric Z (metre)
Area of Use:
- name: China
- bounds: (73.62, 16.7, 134.77, 53.56)
Datum: China 2000
- Ellipsoid: CGCS2000
- Prime Meridian: Greenwich
In [44]: crs.datum
Out[44]:
DATUM["China 2000",ELLIPSOID["CGCS2000",6378137,298.257222101,LENGTHUNIT["metre",1]],ID["EPSG",1043]]In [45]: pyproj.CRS.from_epsg(1043)
---------------------------------------------------------------------------
CRSError                                  Traceback (most recent call last)
<ipython-input-45-afd15e3adcf2> in <module>
----> 1 pyproj.CRS.from_epsg(1043)~\anaconda3\lib\site-packages\pyproj\crs\crs.py in from_epsg(code)329         CRS330         """
--> 331         return CRS(_prepare_from_epsg(code))332333     @staticmethod~\anaconda3\lib\site-packages\pyproj\crs\crs.py in __init__(self, projparams, **kwargs)294             projstring = _prepare_from_string(" ".join((projstring, projkwargs)))295
--> 296         super().__init__(projstring)297298     @staticmethodpyproj\_crs.pyx in pyproj._crs._CRS.__init__()CRSError: Invalid projection: epsg:1043: (Internal Proj Error: proj_create: crs not found)
In [46]: crs.ellipsoid
Out[46]:
ELLIPSOID["CGCS2000",6378137,298.257222101,LENGTHUNIT["metre",1],ID["EPSG",1024]]In [47]: pyproj.CRS.from_epsg(1024)
---------------------------------------------------------------------------
CRSError                                  Traceback (most recent call last)
<ipython-input-47-e84987c37b35> in <module>
----> 1 pyproj.CRS.from_epsg(1024)~\anaconda3\lib\site-packages\pyproj\crs\crs.py in from_epsg(code)329         CRS330         """
--> 331         return CRS(_prepare_from_epsg(code))332333     @staticmethod~\anaconda3\lib\site-packages\pyproj\crs\crs.py in __init__(self, projparams, **kwargs)294             projstring = _prepare_from_string(" ".join((projstring, projkwargs)))295
--> 296         super().__init__(projstring)297298     @staticmethodpyproj\_crs.pyx in pyproj._crs._CRS.__init__()CRSError: Invalid projection: epsg:1024: (Internal Proj Error: proj_create: crs not found)

如果知道投影坐标系的EPSG CODE,可以通过代码构建投影坐标系,如下:

In [51]: crs=pyproj.CRS.from_epsg(3857)In [52]: proj = pyproj.Proj(crs)In [53]: proj
Out[53]: Proj('+proj=merc +a=6378137 +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null +wktext +no_defs', preserve_units=True)

但pyproj.Geod却不支持通过EPSG CODE或pyproj.CRS设置大地坐标系。
注:通过pyproj.Geod可以进行大地主题正反解算,具体可参考用pyproj进行大地主题解算.

pyproj.Proj通过epsg code设置投影坐标系相关推荐

  1. PythonGDAL给图像设置投影坐标系

    网站上下载的部分遥感数据只有地理坐标,没有投影坐标,本文章尝试给"只有地理坐标的图片"添加投影坐标. 原始数据:山东地区ASTER GDEM30m数据,该数据只有WGS84地理坐标 ...

  2. DEM设置投影坐标系

  3. Python地理坐标系和投影坐标系转换

    0 相关名词 在开始之前,有必要了解一下相关名词: 地心地固坐标系(Earth-Centered, Earth-Fixed,ECEF),简称地心坐标系. 地理坐标系统(Geographic Coord ...

  4. 利用Pyproj进行地理投影坐标系转换

    利用Pyproj进行坐标转换 作者:郜庆科 两个坐标系统的参考椭球不同,实地一个点的不同坐标系的值是不同的,不同的部门采用的坐标系统经常是不一致,所以要转换后才能相互利用.例如目前使用的北京市观测站点 ...

  5. OpenLayers5在EPSG:4326投影坐标系下测量长度和面积

    ol/sphere里有getLength()和getArea()可以用来测量距离和区域面积,默认的投影坐标系是EPSG:3857, 其中有个options的参数,可以设置投影坐标系.使用时, 可以先把 ...

  6. 地理坐标系和投影坐标系

    地理坐标系和投影坐标系讲解收藏 cr.龙之吻number7 (一)两种坐标系 坐标系(Coordinate System)的概念为:"In geometry, a coordinate sy ...

  7. GDAL中的地理坐标系、投影坐标系及其相互转换

    文章目录 地理坐标系 例1:国内常用地理坐标系 投影坐标系 例2:国内常用投影坐标系(不推荐使用) 坐标转换 例3:地理坐标转投影坐标 例4:投影坐标转地理坐标 地理坐标系 原理参考这篇文章: 地理坐 ...

  8. ArcMap自定义投影坐标系

    1.新建Shapefile文件 [1]启动ArcMap,新建空白地图文档: [2]打开[目录]窗口.单击[标准工具条]->[目录],弹出[目录]窗口,拖放[目录]窗口停靠在ArcMap右侧: [ ...

  9. 2020FME博客大赛——解放大脑 经纬度坐标自动重投影至常用投影坐标系

    作者:崔欣 单位:中国石油天然气管道工程有限公司 摘要:非测绘专业以及学艺不精的测绘人员对经纬度.投影带.带号.假东.假北.比例因子.高斯克吕格3度分带投影.高斯克吕格6度分带投影.墨卡托投影.通用横 ...

最新文章

  1. JNI命令行下编译错误解决方案
  2. Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解
  3. win7 ghost 安装串口驱动inf文件出现问题
  4. GIS数据的查找,插入,删除,更新(ArcEngine)
  5. java 默认参数 实例化_如何使用Kotlin中的默认构造函数参数值实例化对象?
  6. 使用tinylog 1.0简化您的日志记录
  7. Kettle7.1在window启动报错
  8. 【转】Dynamics版本历史演进及Dynamics 365重要功能介绍
  9. php 小程序自定义图,微信小程序之如何使用自定义组件封装原生 image 组件
  10. Golang标准库RPC实践及改进
  11. [转]DotNet C#开源资源汇总
  12. 腾讯回应微信读书侵害用户信息;苹果称今年新iPhone将推迟数周发布;Julia 1.6.0 发布| 极客头条...
  13. load data infile into table 的使用例子
  14. 伺服驱动伺服电机选型究竞有哪些问题要注意??
  15. OpenCV图像预处理常用函数及流程
  16. vue路由守卫及运用场景
  17. My Sixty-fifth Page - 整数拆分 - By Nicolas
  18. android 蓝牙Beacon开发
  19. DR5加强版2019全新 | PS磨皮插件高端人像后期修图工具
  20. 【ProVerif学习笔记】4:信息安全性质(Security Property)

热门文章

  1. Lua 之 Class 强化 - 持续优化迭代中
  2. Windows10安装配置Maven
  3. 考研机试刷题第二天:任意进制转任意进制【高进度短除法】
  4. IDEF1X建模工具
  5. Ruby on Rails已死?GitLab:我还在用呢!
  6. 新手入门:介绍JSP中request属性的用法
  7. 美国队长3 高清完整版下载
  8. 网站登录中的验证码作用
  9. 活动分区的引导记录 DBR 分析
  10. C++11 - std::string - stod/stof/stoi/stol/stold/stoll/stoul/stoull