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. AIX HA模拟宕机--维护磁带机
  2. GAE Python 2009-3-22
  3. golang sync.Map 使用
  4. 「Python-Bug」错误requests.exceptions.proxyerror: httpsconnectionpool解决方法
  5. php 解析xml 的四种方法(转)
  6. [网摘]CSS z-index 属性
  7. Linux 网络相关命令
  8. php 统计 系统设计,求解统计系统设计的一些技术方案和实现
  9. java中clone方法_Java Object clone()方法– Java中的克隆
  10. IOSday04 UIButton使用
  11. OpenCV-图像处理(26、直方图反向投影(Back Projection))
  12. iOS 报错 : dyld: Library not loaded: @rpath/
  13. Notepad++ 6.9 官方中文版
  14. 前端开发过程中经常遇到的问题以及对应解决方法 (持续更新)
  15. 北大开源ECCV2018深度去雨算法:RESCAN
  16. 计算机主板供电故障,电脑主板出现故障怎么办 电脑主板故障排查方法
  17. seed lab 2020 packet sniffing and spoofing lab
  18. 虚拟化介绍及Docker与传统虚拟化有什么区别
  19. 怎样让自己的【微信公众号】快速涨粉?
  20. matlab画动物轮廓图,MATLAB一维插值的应用实例—画左右手的轮廓图

热门文章

  1. 高大上的“区块链”离生活有多远?来看国家超算济南中心专家解码!
  2. 【读书】吴恩达:成功之前,先快速、廉价地失败
  3. 如何在浏览器中调试Android的WebView
  4. Oracle 数据库服务重启步骤
  5. 10JavaScript
  6. python construct_python--二进制处理之construct库
  7. 数据库分页查询PageHelper
  8. 20172321 20172333 2017-2018 暑假作业APP
  9. matlab帕累托分布函数,Matlab里面的重尾分布
  10. 2022暑期杭电第四场