了解投影坐标系统,并在精美的地图上探索

投影坐标系简介

地球椭球体表面也是个曲面,而我们日常生活中的地图及量测空间通常是二维平面,因此在地图制图和线性量测时首先要考虑把曲面转化成平面。由于球面上任何一点的位置是用地理坐标(λ,φ)表示的,而平面上的点的位置是用直角坐标(X,Y)表示的,所以要想将地球表面上的点转移到平面上,必须采用一定的方法来确定地理坐标与平面直角坐标或极坐标之间的关系。这种在球面和平面之间建立点与点之间函数关系的数学方法,就是地图投影方法。
在这里插入图片描述

构成

投影坐标系使用基于 X,Y 值的坐标系统来描述地球上某个点所处的位置。这个坐标系是从地球的近似椭球体投影得到的,它对应于某个地理坐标系。投影坐标系主要由 地理坐标系、投影方法和线性单位 构成。
  

线性单位

单位中文对照每单位长度(m)
metre1
Clarke’s link克拉克令0.201166195164
Gold Coast foot黄金海岸英尺0.304799710181509
US survey foot美国测量英尺0.304800609601219
foot英尺0.3048
Clarke’s foot克拉克英尺0.3047972654
link0.201168
British chain (Sears 1922 truncated)英国测链(1922年废弃)20.116756
Clarke’s yard克拉克码0.9143917962
kilometre千米1000
Indian yard印度码0.914398530744441
British chain (Benoit 1895 B)英国测链(贝诺伊特1895 B)20.1167824943759
British yard (Sears 1922)英国码(希尔斯 1922)0.914398414616029
German legal metre德国法定米1.0000135965
British chain (Sears 1922)英国测链(希尔斯 1922)20.1167651215526
British foot (Sears 1922)英国英尺(希尔斯 1922)0.304799471538676

投影方法

常用的投影长度单位如下:

投影方法中文对照
Transverse_Mercator横轴墨卡托投影
Oblique_Stereographic斜球面投影
Transverse_Mercator_South_Orientated横轴墨卡托投影(南向)
Hotine_Oblique_Mercator_Azimuth_Center洪特尼斜轴墨卡托方位角中心投影
Lambert_Conformal_Conic_1SP兰伯特等角圆锥投影(1 标准纬线)
Krovak克罗瓦克投影
Cassini_Soldner卡西尼-索尔德纳投影
Lambert_Conformal_Conic_2SP兰伯特等角圆锥投影(2 标准纬线)
Lambert_Azimuthal_Equal_Area兰伯特斜轴等面积投影
Lambert_Conic_Conformal_(West_Orientated)兰伯特圆锥等角投影(西向)
Mercator_1SP墨卡托投影(1 标准纬线)
Bonne_(South_Orientated)博恩投影(南向)
Albers_Conic_Equal_Area阿尔伯斯圆锥等面积投影(正轴等积割圆锥投影)
Polar_Stereographic_(variant_C)极球面投影(C 变体)
Polar_Stereographic极球面投影
Hotine_Oblique_Mercator洪特尼斜轴墨卡托投影
Hyperbolic Cassini-Soldner卡西尼-索尔德纳双曲线投影
Azimuthal_Equidistant等距离方位投影
Mercator_2SP墨卡托投影(2 标准纬线)
Cylindrical_Equal_Area圆柱等面积投影
Equirectangular球面投影
Guam Projection关岛投影
Krovak_Modified改良克洛瓦尔投影
Krovak_Modified_(North_Orientated)改良克洛瓦尔投影(北向)
Polyconic多圆锥投影
Lambert Conic Conformal (2SP Michigan)兰伯特圆锥等角投影(2 标准纬线,密歇根州)
Colombia Urban哥伦比亚城市投影
Tunisia_Mapping_Grid突尼斯地图网格投影
Lambert_Conic_Near-Conformal兰伯特圆锥近等角投影
New_Zealand_Map_Grid新西兰地图网格投影
Laborde_Oblique_Mercator拉伯德斜墨卡托投影
Lambert_Conformal_Conic_2SP_Belgium兰伯特等角圆锥投影(2 标准纬线,比利时)
Transverse_Mercator_Zoned_Grid_System横向墨卡托分区网格投影系统

地理坐标系

地理坐标系是使用三维球面来定义地球表面位置,以实现通过经纬度对地球表面点位引用的坐标系。一个地理坐标系包括 角度测量单位、本初子午线和参考椭球体/基准面 三部分。在球面系统中,水平线是等纬度线或纬线。垂直线是等经度线或经线。

常见的 WGS 84、CGCS 2000 等都属于地理坐标系。

gma 2 坐标参考系统简介

gma 简介

gma 是一个基于 Python 的地理、气象数据快速处理和数据分析函数包(Geographic and Meteorological Analysis,gma)。gma 1.x 网站:gma.luosgeo.com。

下文使用 gma 2 绘制 20 余种投影下的世界地图。

gma 的主要功能

气候气象(例如 SPEI、SPI、ET0 等)
遥感指数(例如 NDVI、EVI、TVDI 等)
数学运算(例如 数据平滑、评估、滤波、拉伸、增强变换等)
系统交互(例如 获取路径、重命名、压缩等操作)
空间杂项(例如 计算空间距离、面积计算,坐标转换、空间插值等操作)
栅格处理(例如 栅格镶嵌、裁剪、重采样、重投影、格式转换、数据融合等)
栅格分析(例如 DEM 坡度、坡向、阴影、等值线等计算)
矢量处理(例如 矢量裁剪、擦除、交集、融合、重投影等)
地图工具(例如 栅格、矢量数据绘图,指北针、比例尺等生成,坐标系定义等)

gma 2 下载

目前,gma 2 为前期测试版本,版本号 2.0.0a1,下载地址:

​链接:https://pan.baidu.com/s/17TGMjNi7ZU0Ln1KvcCtvqQ?pwd=tz0s
提取码:tz0s

坐标参考系统模块的主要功能

目前,gma 2 的坐标参考系统(gma.crs)提供:

1. 基准面(gma.crs.Datum)

创建一个基准面。

2. 椭球体(gma.crs.Ellipsoid)

创建一个椭球体。

3. 地理坐标系(gma.crs.GeogCS)

创建一个地理坐标系。

4. 投影坐标系(gma.crs.ProjCS)

创建一个投影坐标系。

5. 内置参数

椭球体(gma.crs.Ellips)

创建一个椭球体。也提供一些内置的椭球体,包括:

椭球体名称长半轴(m)反扁率
Airy18306377563.396299.325
AiryModified18496377340.189299.325
AustralianNationalSpheroid6378160298.25
AverageTerrestrialSystem19776378135298.257
Bessel18416377397.155299.1528
BesselModified6377492.018299.1528
BesselNamibia6377483.865299.1528
CGCS20006378137298.2572
Clarke18586378293.645294.2607
Clarke18666378206.4294.9787
Clarke18806378249.145293.4663
Clarke1880ARC6378249.145293.4663
Clarke1880Benoit6378300.789293.4663
Clarke1880ING6378249.2293.466
Clarke1880INTFoot6378306.37293.4663
Clarke1880RGS6378249.145293.465
Danish18766377019.27300
Everest1830_1962D6377299.366300.8017
Everest1830_1967D6377276.345300.8017
Everest1830_1973A6377301.243300.8017
Everest1830_1975D6377298.556300.8017
Everest1830_RSO19696377299.151300.8017
Everest1830Definition6377295.664300.8017
Everest1830Modified6377304.063300.8017
GRS19676378160298.2472
GRS1967Modified6378160298.25
GRS19806378137298.2572
GSK20116378136.5298.2564
Helmert19066378200298.3
Hough19606378270297
IAG19756378140298.257
IndonesianNationalSpheroid6378160298.247
International19246378388297
Krassowsky19406378245298.3
NWL9D6378145298.25
Plessis18176376523308.64
PZ906378136298.2578
Struve18606378298.3294.73
WarOffice6378300296
WGS726378135298.26
WGS846378137298.2572
投影方法(gma.crs.ProjMethod)
投影(类)中文名
Aitoff埃托夫投影
AlbersConicEqualArea阿尔伯斯等积圆锥投影
AzimuthalEquidistant等距方位投影
Bonne彭纳
CassiniSoldner卡西尼-斯洛德投影
CompactMiller紧凑型米勒投影
CylindricalEqualArea圆柱等积投影
EckertI埃克特 I 投影
EckertII埃克特 II 投影
EckertIII埃克特 III 投影
EckertIV埃克特 IV 投影
EckertV埃克特 V 投影
EckertVI埃克特 VI 投影
EquidistantConic等距圆锥投影
Equirectangular等距柱状投影
LambertAzimuthalEqualArea兰伯特方位等积投影
Mercator2SP墨卡托投影(2标准纬线)
Mollweide摩尔维特投影
NaturalEarth自然地球投影
Polyconic多圆锥投影
Robinson罗宾森投影
Sinusoidal正弦曲线投影
Stereographic通用极球面投影
Times泰晤士投影
WinkelI温克尔 I 投影
WinkelII温克尔 II 投影
本初子午线(gma.crs.PRIMEMs)
本初子午线名称对应中文名经线(°)
Athens雅典23.7163375
Bern伯尔尼7.439583333
Bogota波哥大-74.08091667
Brussels布鲁塞尔4.367975
Ferro费罗-17.66666667
Greenwich格林尼治0
Jakarta雅加达106.8077194
Lisbon里斯本-9.131906111
Madrid马德里-3.687938889
Oslo奥斯陆10.72291667
Paris巴黎2.337229167
Paris_RGS巴黎2.337208333
ReferenceMeridian参考经线0
Rome罗马12.45233333
Stockholm斯德哥尔摩18.05827778
Luoyang洛阳112.5422641
角度单位(gma.crs.PRIMEMs)
角度单位名称对应中文单位每单位弧度(°)
Arcminute弧分0.000291
Arcsecond弧秒4.85E-06
Degree0.017453
Grad百分制度0.015708
Gon百分制度0.015708
Microradian微弧度1E-06
Mil6400密尔_64000.000982
Milliarcsecond毫微秒4.85E-09
MinuteCentesimal百分制分0.000157
Radian弧度1
SecondCentesimal百分制秒1.57E-06
线性单位(gma.crs.PRIMEMs)
单位中文对照每单位长度(m)
Meter1
ClarkesLink克拉克令0.201166
GoldCoastfoot黄金海岸英尺0.3048
USSurveyFoot美国测量英尺0.304801
Foot英尺0.3048
ClarkesFoot克拉克英尺0.304797
link0.201168
BritishChain英国测链(1922年废弃)20.11676
ClarkesYard克拉克码0.914392
Kilometer千米1000
IndianYard印度码0.914399
BritishChain英国测链(贝诺伊特1895 B)20.11678
BritishYard英国码(希尔斯 1922)0.914398
GermanLegalMeter德国法定米1.000014
BritishChain英国测链(希尔斯 1922)20.11677
BritishFoot英国英尺(希尔斯 1922)0.304799

6. 空间参考(gma.crs.SpatRef)

初始化一个一个空间参考。

7. gma 1.x 遗留函数

AlbersEqualArea
Mollweide
Robinson
CustomGCS

批量绘制世界地图

from gma import crs
from gma.map import plot, inres
import matplotlib.pyplot as plt

# 获取所有支持的投影
ProjMethods = [m for m in dir(crs.ProjMethod) if '__' not in m if 'Utils' not in m]

# 分别绘制 每个投影(默认参数) 下的世界地图
for m in ProjMethods:
    
    # 生成 投影 m 的投影坐标系
    PCS = crs.ProjCS(Name = 'GMA PCS', LinearUnit = 'Meter', ProjMethod = m, GCS = 'WGS84')

    # 1.初始化一个地图框,用于绘图
    MapF = plot.MapFrame(Axes = None, BaseMapProj = PCS, Extent = None)

    # 2.将内置的世界矢量图层添加到地图框
    MapL1 = MapF.AddLayer(inres.WorldLayer.Country, FaceColor = None, LineWidth = 0.2, EdgeColor = 'lightgray', Zorder = 1)
    
    # 3.经纬网
    MapF.AddGridLines(LONRange = (-180, 180, 30))
    
    # 4.地图框
    Frame = MapF.SetFrame(ShowBottom=False,ShowLeft=False,ShowRight=False,ShowTop=False)
    
    MapF.Axes.set_title(m, fontsize = 7, y = 0.93)
    
    # 保存每一张地图
    plt.savefig(f'D:/{m}.jpg' ,bbox_inches='tight', dpi = 600)

绘图结果展示

部分地图绘制异常,因此不在此处展示


















  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛的地理研学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值