Geography - Map Projections
Geography - Map Projections
0. 有用的网站
[1] I Hate Coordinate Systems!, 地址
[2] EPSG, 地址
[3] The True Size of, 地址
1 Coordinate Reference System (CRS)
Coordinate Reference System (CRS) or Spatial Reference System (SRS)
1.1 Geographic Coordinate Systems 地理坐标系
-
Latitude and longitude: Degrees Minutes Seconds (DMS), decimal degrees
-
World Geodetic System 1984 (WGS-84):
-
EPSG:4326
-
Google Map, GPS
-
1.2 Projected Coordinate Systems 投影坐标系
-
Properties of geographic objects that are distorted:
-
Area
-
Scale
-
Shape
-
Direction
-
-
Three families of map projections
-
Cylindrical Projection: preserve distances or areas
-
Conical Projection: preserve angles
-
Planar Projections: preserve distances
-
-
Examples of compromise projections
-
Robinson Projection: Compromises distortions of area, angular conformity and distance.
-
Winkel Tripel Prokection
-
1 Projections with angular conformity
-
Conformal or orthomorphic projections:
-
Mercator projection
-
Lambert Conformal Conic projection
-
-
Results in distortion of areas
-
Lager the area the larger the distortion
-
Used by USGS topographical maps
-
Used for navigation, meteorology
Universal Transverse Mercator (UTM)
- a global map projection
2 Projections with equal distance
-
Equidistant projection
-
Constant scale
-
Maintains accurate distances from the centre of the projection or along give lines
-
Examples:
-
Plate Carree Equidistant Cylindrical Projection
-
Equirectangular Projection
-
Azimuthal Equidistant Projection: United State logo
-
-
Use: radio and seismic, mapping, navigation
3 Projections with equal area
-
Equal area projection
-
Preserves proportions of areas
-
Results in distortions in angular conformity
-
Examples:
-
Alber's Equal Area Projection
-
Lambert's Equal Area Projection
-
Mollweide Equal Area Cylindrical Projection
-
-
Use: general reference, education
1.3 Some terminology
-
Datum (基准): Localised approximation of earth's ellipsoid
-
spheroid
-
geoid
-
False Northing, False Easting
1.4 Use EPSG codes
EPSG (European Petroleum Survey Group)
1.5 On-the-fly reprojection (OTF)
-
All layers visualised in a GIS application need to be in the same projection
-
Instead of reprojecting all layers to the same projection, GIS applications use on-the-fly reprojection.
-
Beware: OTF reprojection does not change the projection of layers!
2 Practice by Python
2.1 pyproj 库
pyproj 主要通过 pyproj.crs.CRS 类型处理 CRS,site。可以使用以下格式直接初始化:
-
PROJ strings
-
EPSG codes
-
Well-Known-Text (WKT): Shapefile 文件中的
.prj文件使用此格式记录 CRS -
JSON
实例: 通过 EPSG code 初始化
import pyproj
crs_1 = pyproj.CRS(4326)
crs_2 = pyproj.CRS.from_epsg(4326)
crs_3 = pyproj.CRS("epsg:4326")
crs_4 = pyproj.CRS(("epsg", "4326"))
print(crs_1.equals(crs_2), crs_1.equals(crs_3), crs_1.equals(crs_4))
crs_1 = pyproj.crs.CRS(4326)
crs_2 = pyproj.crs.CRS.from_epsg(4326)
crs_3 = pyproj.crs.CRS("epsg:4326")
crs_4 = pyproj.crs.CRS(("epsg", "4326"))
实例: 通过 WKT 初始化
wkt_str = ''
crs_1 = pyproj.CRS(wkt_str)
crs_2 = pyproj.CRS.from_wkt(wkt_str)
crs_3 = pyproj.CRS.from_string(wkt_str)
pyproj.crs.CRS 对象常用属性和方法
.is_bound
.is_derived
.is_engineering
.is_geocentric
.is_geographic:CRS 是否为地理坐标系
.is_projected: CRS 是否为投影坐标系
.is_vertical
2.2 坐标投影,坐标系之间转换
实例:相同坐标系的不同坐标格式之间的转化
from pyproj import CRS
# PROJ dictionary
crs_dict = data_gdf.crs
# pyproj CRS object
crs_object = CRS(crs_dict)
# EPSG code
crs_epsg = CRS(crs_dict).to_epsg(min_confidence=25)
# PROJ string
crs_proj4 = CRS(crs_dict).to_proj4()
# Well-Known Text (WKT)
crs_wkt = CRS(crs_dict).to_wkt(pretty=True)
在 geopandas 库中,geopandas.Series 和 geopandas.GeoDataFrame 数据对象,可以直接使用 .to_crs() 方法实现,返回的类型为 pyproj.crs.crs.CRS。参考官方文档 site 和 Tutorial:Managing Projections
Case: CRS in Singapore
DataMall 中数据 Geospatial Data 的位置信息均采用以下投影坐标系统,其单位为米
wkt_str = '''
PROJCS["SVY21",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",28001.642],PARAMETER["False_Northing",38744.572],PARAMETER["Central_Meridian",103.833333333333],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",1.36666666666667],UNIT["Meter",1.0]]
'''
crs_1 = pyproj.CRS.from_string(wkt_str)
print(crs_1.is_geographic, crs_1.is_projected)
EPSG Dataset 中,与 Singapore 有关的 CRS 主要有:
crs_2 = pyproj.CRS("EPSG:4757")
crs_3 = pyproj.CRS("EPSG:3414")
print(crs_2.is_geographic, crs_2.is_projected) # True False
print(crs_3.is_geographic, crs_3.is_projected) # False True
注意: crs_1 和 crs_3 并不完全相同,区别在于其 datum 不相同:
print(crs_1.datum) # World Geodetic System 1984
print(crs_3.datum) # SVY21
Reference
8 Coordinate Reference Systems in QIGS Document, 地址
Map projections in GIS (theory), Yotube, 地址
Map projections, Automating GIS-processes 2021, ite

浙公网安备 33010602011771号