CGCS2000、北京54、西安80、WGS84一看就会

365bet手机客户端 admin 2025-10-04 17:48:50 阅读 5732

中国领土的四端为:

最东端:

在黑龙江和乌苏里江的主航道中心线的相交处(135°2′30′′E);

最西端:

在帕米尔高原附近(73°29′59.79′′E);

最南端:

在立地暗沙(3°31′00′′N,112°17′09′E),(英语:Lidi Ansha或Lydi Shoal)为中国南海南沙群岛区域的一座暗沙,是实际上的中国领土的最南端(非位于其东北约15海里的曾母暗沙)。按中华人民共和国行政区划,立地暗沙属于海南省三沙市管辖;

最北端:

在漠河以北黑龙江主航道的中心线上(53°33′N,124°20′E)。

中国东西跨越经度60多度,最东端的乌苏里江畔和最西端的帕米尔高原高原相差5个时区。

中国领土辽阔广大,陆地总面积约960万平方千米,仅次于俄罗斯、加拿大,居世界第3位,第四位为美国。中国南北相距5500千米,东西相距5200千米。

EPSG是什么?

European Peroleum Survey Group,欧洲石油勘探组织。对,简单的来说就是它搞的一套标准,大家以他为权威,他收录了很多坐标系,并给这些坐标系分配到详细的“EPSG代码”,比如:EPSG:3857、EPSG:4326、EPSG:4527 等。。。

CGCS2000、北京54、西安80、WGS84 是什么?有什么关系?

详细介绍可以参考这篇文章:

(36条消息) 北京54、西安80、CGCS2000、WGS84坐标系及区别54 80 2000坐标系区别大作家佚名的博客-CSDN博客

现在我国已经停用北京54和西安80坐标系,改用CGCS2000坐标系了。北京54和西安80是参心坐标系,CGCS2000是地心坐标系与WGS84一样,只是椭球扁率微小差异,实际坐标结果几乎一致,约有毫米级别的差异 。

EPSG:3857是什么?

最早是google在web上使用的伪墨卡托投影坐标系(Web Mercator),一开始EPSG组织由于它“伪”拒绝收录,后来google自己定制了一个ID为EPSG:900913(非官方认证的ID),900913-google长得很像。。。,再然后,EPSG官方在2008年收录了并指定代号为EPSG:3785,再然后代号被弃用重新命名为EPSG:3857,也就是现在我们常用的Web 地图的坐标系,并且给定官方命名 “WGS 84 / Pseudo-Mercator“???

EPSG:4326 和 EPSG:3857 ?

这俩都是投影,世界级别(WGS 84),只不过EPSG:4326标注的单位是度,EPSG:3857标注的单位是米。

所以 EPSG:4326 叫:“WGS 84”;EPSG:3857 叫:“WGS 84 / Pseudo-Mercator”

举例对比:

EPSG对照表(参照中国领土的四端):

坐标系对应EPSG代号、经度范围、中央经线 - 豆丁网 (docin.com)

坐标在线转换:

https://epsg.io/transform

转换举例对比:

image.png

CGCS2000 / 3-degree Gauss-Kruger zone 39,解释为:【CGCS2000坐标系(国家2000)、三度带(经度跨度单元)、高斯克吕格(投影算法)、时区 39】对应 EPSG的代号为 4527;

参心坐标系由于参考中心不同、距离参考中心远近不同导致有明显的误差的;

加代号和不加代号少了两位数而已。

扩展研究(选看):

image.png

image.png

在postgis数据库中可以查询到国内常用的几个坐标系的空间参考系信息:

-- 六度带:zone 属于 [13,23],CM 属于 [75E, 135E],数量:11

-- 三度带:zone 属于 [25,45],CM 属于 [75E, 135E],数量:21

-- 1. 2000坐标系:

-- CGCS2000 6度带 高斯投影 加代号 srid 属于 [4491,4501],数量:11

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["CGCS2000 / Gauss-Kruger zone%' order by srid asc;

-- CGCS2000 6度带 高斯投影 不加代号 srid 属于 [4502,4512],数量:11

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["CGCS2000 / Gauss-Kruger CM%' order by srid asc;

-- CGCS2000 3度带 高斯投影 加代号 srid 属于 [4513,4533],数量:21

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["CGCS2000 / 3-degree Gauss-Kruger zone%' order by srid asc;

-- CGCS2000 3度带 高斯投影 不加代号 srid 属于 [4534,4554],数量:21

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["CGCS2000 / 3-degree Gauss-Kruger CM%' order by srid asc;

-- 2. 西安80坐标系:

-- Xian 1980 6度带 高斯投影 加代号 srid 属于 [2327,2337],数量:11

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["Xian 1980 / Gauss-Kruger zone%' order by srid asc;

-- Xian 1980 6度带 高斯投影 不加代号 srid 属于 [2338,2348],数量:11

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["Xian 1980 / Gauss-Kruger CM%' order by srid asc;

-- Xian 1980 3度带 高斯投影 加代号 srid 属于 [2349,2369],数量:21

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["Xian 1980 / 3-degree Gauss-Kruger zone%' order by srid asc;

-- Xian 1980 3度带 高斯投影 不加代号 srid 属于 [2370,2390],数量:21

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["Xian 1980 / 3-degree Gauss-Kruger CM%' order by srid asc;

-- 3. 北京54坐标系:

-- Beijing 1954 6度带 高斯投影 加代号 srid 属于 [21413,21423],数量:11

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["Beijing 1954 / Gauss-Kruger zone%' order by srid asc;

-- Beijing 1954 6度带 高斯投影 不加代号 srid 属于 [21453,21463],数量:11

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["Beijing 1954 / Gauss-Kruger CM%' order by srid asc;

-- Beijing 1954 3度带 高斯投影 加代号 srid 属于 [2401,2421],数量:21

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["Beijing 1954 / 3-degree Gauss-Kruger zone%' order by srid asc;

-- Beijing 1954 3度带 高斯投影 不加代号 srid 属于 [2422,2442],数量:21

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["Beijing 1954 / 3-degree Gauss-Kruger CM%' order by srid asc;

-- 1. 新北京54坐标系:

-- (新北京54)New Beijing 6度带 高斯投影 加代号 srid 属于 [4568,4578],数量:11

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["New Beijing / Gauss-Kruger zone%' order by srid asc;

-- (新北京54)New Beijing 6度带 高斯投影 不加代号 srid 属于 [4579,4589],数量:11

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["New Beijing / Gauss-Kruger CM%' order by srid asc;

-- (新北京54)New Beijing 3度带 高斯投影 加代号 srid 属于 [4652,4656]并[4766,4781],数量:21

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["New Beijing / 3-degree Gauss-Kruger zone%' order by srid asc;

-- (新北京54)New Beijing 3度带 高斯投影 不加代号 srid 属于 [4782,4800]并[4812]并[4822],数量:21

SELECT * FROM "spatial_ref_sys" where srtext like 'PROJCS["New Beijing / 3-degree Gauss-Kruger CM%' order by srid asc;

附:python根据给定的投影坐标x,y值,自动识别epsg代码:

适用于 CGCS2000,Xian80,Beijing54,NewBeijing54 四大crs

from math import inf

from pprint import pprint

import pyproj

# 中国领土的四端为:

# 最东端:

# 在黑龙江和乌苏里江的主航道中心线的相交处(135°2'30"E);

# 最西端:

# 在帕米尔高原附近(73°29'59.79"E);

# 最南端:

# 在立地暗沙(3°31'00"N,112°17'09"E),(英语:Lidi Ansha或Lydi Shoal)为中国南海南沙群岛区域的一座暗沙,是实际上的中国领土的最南端(非位于其东北约15海里的曾母暗沙)。按中华人民共和国行政区划,立地暗沙属于海南省三沙市管辖;

# 最北端:

# 在漠河以北黑龙江主航道的中心线上(53°33'N,124°20'E)。

# minx, miny, maxx, maxy = (73°29'59.79"E, 3°31'00"N, 135°2'30"E, 53°33'N)

# # 3857

# minx, miny, maxx, maxy = (8181976.079668645, 391719.56668402057, 15032769.569208318, 7085388.165495079)

# # 4326

ChinaBbox4326 = [73.4999417, 3.5166667, 135.0416667, 53.55]

# # cgcs2000-4491

# minx, miny, maxx, maxy = (13333307.577437889, 388991.6394066638, 17137769.453445204, 7744052.21995985)

# # cgcs2000-4501

# minx, miny, maxx, maxy = (14778679.655726733, 820784.1522103351, 23502761.70636996, 5935831.474453285)

# # cgcs2000-3degree-4513

# minx, miny, maxx, maxy = (25333307.57743789, 388991.6394066638, 29137769.453445204, 7744052.21995985)

# # cgcs2000-3degree-4533

# minx, miny, maxx, maxy = (36778679.65572673, 820784.1522103351, 45502761.70636996, 5935831.474453285)

# class SpatialRefSys:

# srid: int = 4326

# auth_name: str = 'EPSG'

# auth_srid: int = 4326

# srtext: str = 'GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]'

# proj4text: str = '+proj=longlat +datum=WGS84 +no_defs '

# 已知 web墨卡托

WebMercator3857 = 'WebMercator3857'

# 已知 wgs84 4326

WGS84 = 'WGS84'

# 已知 中国四大坐标系得 zone 和 cm 范围:

CGCS2000 = 'CGCS2000'

Xian80 = 'Xian80'

Beijing54 = 'Beijing54'

NewBeijing54 = 'NewBeijing54'

zoneRangesDegree6, zoneRangesDegree3 = (range(13, 23 + 1, 1), range(25, 45 + 1, 1))

zoneRangesDegree6Dict, zoneRangesDegree3Dict = ({item: index for index, item in enumerate(zoneRangesDegree6)},

{item: index for index, item in enumerate(zoneRangesDegree3)})

cmRangesDegree6, cmRangesDegree3 = (range(75, 135 + 6, 6), range(75, 135 + 3, 3))

chinaSrsDegree6List1323: list = []

chinaSrsDegree3List2545: list = []

class ChinaSrs:

crs: str = 'CGCS2000' # 坐标系

isZone: bool = False # 是否加代号

is3DegreeBelt: bool = False # 是否3度带

epsg: str = 'EPSG:4491' # epsg代码

zone: int = 13 # 时区/代号

cm: str = '75E' # 中央经线

convertCoordinate: list[float] = [0.0, 0.0] # 转换结果

def __init__(self, crs, isZone, is3DegreeBelt, epsg, zone, cm):

self.crs = crs

self.isZone = isZone

self.is3DegreeBelt = is3DegreeBelt

self.epsg = epsg

self.zone = zone

self.cm = cm

def __repr__(self) -> str:

return f"(crs={self.crs!r}, isZone={self.isZone!r}, is3DegreeBelt={self.is3DegreeBelt!r}, epsg={self.epsg!r}, zone={self.zone!r}, cm={self.cm!r}, convertCoordinate={self.convertCoordinate!r})"

def initCrs():

if len(chinaSrsDegree6List1323) > 0:

print('===》chinaSrs 缓存...')

return

print('===》chinaSrs 初始化...')

is3DegreeBelt = False

for index, zone in enumerate(zoneRangesDegree6):

centralMeridian = cmRangesDegree6.start + cmRangesDegree6.step * index

chinaSrsDegree6List1323.append((

# CGCS2000 6度带 高斯投影 加代号 srid 属于 [4491,4501],数量:11

# CGCS2000 6度带 高斯投影 不加代号 srid 属于 [4502,4512],数量:11

ChinaSrs(crs=CGCS2000, isZone=True, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{4491 + index}', zone=zone,

cm=f'{centralMeridian}E'),

ChinaSrs(crs=CGCS2000, isZone=False, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{4502 + index}', zone=zone,

cm=f'{centralMeridian}E'),

# Xian 1980 6度带 高斯投影 加代号 srid 属于 [2327,2337],数量:11

# Xian 1980 6度带 高斯投影 不加代号 srid 属于 [2338,2348],数量:11

ChinaSrs(crs=Xian80, isZone=True, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{2327 + index}', zone=zone,

cm=f'{centralMeridian}E'),

ChinaSrs(crs=Xian80, isZone=False, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{2338 + index}', zone=zone,

cm=f'{centralMeridian}E'),

# Beijing 1954 6度带 高斯投影 加代号 srid 属于 [21413,21423],数量:11

# Beijing 1954 6度带 高斯投影 不加代号 srid 属于 [21453,21463],数量:11

ChinaSrs(crs=Beijing54, isZone=True, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{21413 + index}', zone=zone,

cm=f'{centralMeridian}E'),

ChinaSrs(crs=Beijing54, isZone=False, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{21453 + index}', zone=zone,

cm=f'{centralMeridian}E'),

# (新北京54)New Beijing 6度带 高斯投影 加代号 srid 属于 [4568,4578],数量:11

# (新北京54)New Beijing 6度带 高斯投影 不加代号 srid 属于 [4579,4589],数量:11

ChinaSrs(crs=NewBeijing54, isZone=True, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{4568 + index}', zone=zone,

cm=f'{centralMeridian}E'),

ChinaSrs(crs=NewBeijing54, isZone=False, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{4579 + index}',

zone=zone,

cm=f'{centralMeridian}E')

))

is3DegreeBelt = True

for index, zone in enumerate(zoneRangesDegree3):

centralMeridian = cmRangesDegree3.start + cmRangesDegree3.step * index

# 新北京54坐标系-3度带-加代号特殊处理

epsgNewBeijing54Zone = 4652 + index

if epsgNewBeijing54Zone >= 4657:

epsgNewBeijing54Zone = epsgNewBeijing54Zone - 4657 + 4766

# 新北京54坐标系-3度带-不加代号特殊处理

epsgNewBeijing54 = 4782 + index

if epsgNewBeijing54 == 4801:

epsgNewBeijing54 = 4812

elif epsgNewBeijing54 == 4802:

epsgNewBeijing54 = 4822

chinaSrsDegree3List2545.append((

# CGCS2000 3度带 高斯投影 加代号 srid 属于 [4513,4533],数量:21

# CGCS2000 3度带 高斯投影 不加代号 srid 属于 [4534,4554],数量:21

ChinaSrs(crs=CGCS2000, isZone=True, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{4513 + index}', zone=zone,

cm=f'{centralMeridian}E'),

ChinaSrs(crs=CGCS2000, isZone=False, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{4534 + index}', zone=zone,

cm=f'{centralMeridian}E'),

# Xian 1980 3度带 高斯投影 加代号 srid 属于 [2349,2369],数量:21

# Xian 1980 3度带 高斯投影 不加代号 srid 属于 [2370,2390],数量:21

ChinaSrs(crs=Xian80, isZone=True, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{2349 + index}', zone=zone,

cm=f'{centralMeridian}E'),

ChinaSrs(crs=Xian80, isZone=False, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{2370 + index}', zone=zone,

cm=f'{centralMeridian}E'),

# Beijing 1954 3度带 高斯投影 加代号 srid 属于 [2401,2421],数量:21

# Beijing 1954 3度带 高斯投影 不加代号 srid 属于 [2422,2442],数量:21

ChinaSrs(crs=Beijing54, isZone=True, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{2401 + index}', zone=zone,

cm=f'{centralMeridian}E'),

ChinaSrs(crs=Beijing54, isZone=False, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{2422 + index}', zone=zone,

cm=f'{centralMeridian}E'),

# (新北京54)New Beijing 3度带 高斯投影 加代号 srid 属于 [4652,4656]并[4766,4781],数量:21

# (新北京54)New Beijing 3度带 高斯投影 不加代号 srid 属于 [4782,4800]并[4812]并[4822],数量:21

ChinaSrs(crs=NewBeijing54, isZone=True, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{epsgNewBeijing54Zone}',

zone=zone,

cm=f'{centralMeridian}E'),

ChinaSrs(crs=NewBeijing54, isZone=False, is3DegreeBelt=is3DegreeBelt, epsg=f'EPSG:{epsgNewBeijing54}',

zone=zone,

cm=f'{centralMeridian}E')

))

# print(chinaSrsDegree6List1323)

print('------------------------------')

# print(chinaSrsDegree3List2545)

results: list[ChinaSrs] = []

cgcs2000Results = []

xian80Results = []

beijing54Results = []

newbeijing54Results = []

def identify(_x: float, _y: float, zoneNum, isZone):

if zoneRangesDegree6.start <= zoneNum <= zoneRangesDegree6.stop - 1:

# print('==>六度带')

tmpZoneRangesDict = zoneRangesDegree6Dict

tmpChinaSrsList = chinaSrsDegree6List1323

elif zoneRangesDegree3.start <= zoneNum <= zoneRangesDegree3.stop - 1:

# print('==>三度带')

tmpZoneRangesDict = zoneRangesDegree3Dict

tmpChinaSrsList = chinaSrsDegree3List2545

else:

# print('==>无解,包括x == 24')

return

if zoneNum in tmpZoneRangesDict:

index = tmpZoneRangesDict.get(zoneNum)

chinaSrsTuple: tuple[ChinaSrs] = tmpChinaSrsList[index]

for item in chinaSrsTuple:

if not item.isZone == isZone:

# 如果要求识别 isZone ,则跳过不加代号

# 如果不要求识别 isZone ,则跳过加代号

continue

try:

transformer = pyproj.Transformer.from_crs(item.epsg, "EPSG:4326", always_xy=True)

other_x, other_y = transformer.transform(xx=_x, yy=_y)

if xyTransferValid(xt=other_x, yt=other_y) is False:

continue

item.convertCoordinate = [other_x, other_y]

if item.crs == CGCS2000:

cgcs2000Results.append(item)

elif item.crs == Xian80:

xian80Results.append(item)

elif item.crs == Beijing54:

beijing54Results.append(item)

elif item.crs == NewBeijing54:

newbeijing54Results.append(item)

else:

continue

except Exception as e:

print('e=%s' % e)

continue

# 判断转换后坐标的有效性

def xyTransferValid(xt, yt):

if xt == inf or yt == inf:

return False

elif ChinaBbox4326[0] <= xt <= ChinaBbox4326[2] and ChinaBbox4326[1] <= yt <= ChinaBbox4326[3]:

return True

else:

return False

# 根据坐标计算epsg代号

def identify_crs(_x: float, _y: float, crsName: str = 'unlimited', degreeBelt: str = 'unlimited'):

"""

Args:

_x:

_y:

crsName: 坐标系名称,可选为 'unlimited'、'WebMercator3857'、'CGCS2000'、'Xian80'、'Beijing54'、'NewBeijing54',默认 'unlimited' 不限

degreeBelt: 坐标系度带,可选为 '6'、'3'、'unlimited',默认 'unlimited' 不限

Returns: []

"""

if crsName not in (WebMercator3857, CGCS2000, Xian80, Beijing54, NewBeijing54):

crsName = 'unlimited'

if degreeBelt not in ('6', '3'):

degreeBelt = 'unlimited'

print(f'(坐标X值:{_x},坐标Y值:{_y},坐标系:{crsName},度带:{degreeBelt})')

_vo = []

try:

# xInt, yInt = int(_x), int(_y)

xLen, yLen = len(str(int(_x))), len(str(int(_y)))

# 1. 3857坐标系识别

epsg3857Result = None

transformer = pyproj.Transformer.from_crs('EPSG:3857', "EPSG:4326", always_xy=True)

other_x, other_y = transformer.transform(xx=_x, yy=_y)

if xyTransferValid(xt=other_x, yt=other_y) is False:

pass

else:

epsg3857Result = {

'crs': WebMercator3857,

'epsg': 'EPSG:3857',

'convertCoordinate': [other_x, other_y]

}

# 1-1. 3857 坐标特殊处理返回

if crsName == WebMercator3857:

_vo.append(epsg3857Result)

return _vo

# 2-0. 初始化 chinaSrs

initCrs()

# 2-1. 中国四大坐标系识别

if xLen == 8 and yLen == 7:

# 加代号

# print('==>加代号')

zoneNum = int(_x / 1000000)

identify(_x, _y, zoneNum, True)

else:

# 不加代号

# print('==>不加代号')

for zoneNum in zoneRangesDegree6:

identify(_x, _y, zoneNum, False)

for zoneNum in zoneRangesDegree3:

identify(_x, _y, zoneNum, False)

# 整合结果集合,按 crs 分组

results.extend(cgcs2000Results)

results.extend(xian80Results)

results.extend(beijing54Results)

results.extend(newbeijing54Results)

# 2-2. 中国四大坐标统一处理返回

if crsName != 'unlimited' and degreeBelt != 'unlimited':

# 国家2000 6度带

for item in results:

if item.crs == crsName and item.is3DegreeBelt == (False if degreeBelt == '6' else True):

_vo.append(item)

elif crsName != 'unlimited' and degreeBelt == 'unlimited':

# 国家2000 不限

for item in results:

if item.crs == crsName:

_vo.append(item)

elif crsName == 'unlimited' and degreeBelt != 'unlimited':

# 不限 6度带

for item in results:

if item.is3DegreeBelt == (False if degreeBelt == '6' else True):

_vo.append(item)

else:

# 不限 不限

_vo = results

if epsg3857Result is not None:

_vo.append(epsg3857Result)

return _vo

except Exception as e:

print('e=%s' % e)

return _vo

def getOne(_vo):

_voDict = {}

if len(_vo) > 0:

for item in _vo:

if type(item) == ChinaSrs:

_voDict[item.crs] = item.epsg

else:

_voDict[item['crs']] = item['epsg']

else:

return None

if WebMercator3857 in _voDict:

return _voDict.get(WebMercator3857)[5:]

elif CGCS2000 in _voDict:

return _voDict.get(CGCS2000)[5:]

elif Beijing54 in _voDict:

return _voDict.get(Beijing54)[5:]

elif Xian80 in _voDict:

return _voDict.get(Xian80)[5:]

elif NewBeijing54 in _voDict:

return _voDict.get(NewBeijing54)[5:]

else:

return None

if __name__ == '__main__':

# 坐标系自动识别逻辑:

# 已知中心点:

x, y = (39500000.1234, 3500000.5678)

# x, y = (38471609.56449664,3918692.0474597644)

# x, y = (500000, 3500000)

# x, y = (13033287.131065886,4080601.624207251)

vo: list = []

vo = identify_crs(_x=x, _y=y, crsName='unlimited', degreeBelt='unlimited')

print('1. 获取可能的空间参考系epsg代码列表为:')

pprint(vo)

print('---------------------------------------------------------')

print('2. 获取一个可能的空间参考系epsg代码为:')

pprint(getOne(vo))

vo.clear()

#

# x, y = (39440055.461313486,3855857.7584496653)

# vo = identify_crs(_x=x, _y=y, crsName='unlimited', degreeBelt='unlimited')

# pprint(vo)

# pprint(getOne(vo))

# vo.clear()

#

# x, y = (38471609.56449664, 3918692.0474597644)

# vo = identify_crs(_x=x, _y=y, crsName='unlimited', degreeBelt='unlimited')

# pprint(vo)

# pprint(getOne(vo))

# vo.clear()

# vo = identify_crs(_x=x, _y=y, crsName='unlimited', degreeBelt='unlimited')

# vo = identify_crs(_x=x, _y=y, crsName='WebMercator3857', degreeBelt='unlimited')

# vo = identify_crs(_x=x, _y=y, crsName='CGCS2000', degreeBelt='unlimited')

# vo = identify_crs(_x=x, _y=y, crsName='CGCS2000', degreeBelt='6')

# vo = identify_crs(_x=x, _y=y, crsName='CGCS2000', degreeBelt='3')

# vo = identify_crs(_x=x, _y=y, crsName='Xian80', degreeBelt='unlimited')

# vo = identify_crs(_x=x, _y=y, crsName='Xian80', degreeBelt='6')

# vo = identify_crs(_x=x, _y=y, crsName='Xian80', degreeBelt='3')

# vo = identify_crs(_x=x, _y=y, crsName='Beijing54', degreeBelt='unlimited')

# vo = identify_crs(_x=x, _y=y, crsName='Beijing54', degreeBelt='6')

# vo = identify_crs(_x=x, _y=y, crsName='Beijing54', degreeBelt='3')

# vo = identify_crs(_x=x, _y=y, crsName='NewBeijing54', degreeBelt='unlimited')

# vo = identify_crs(_x=x, _y=y, crsName='NewBeijing54', degreeBelt='6')

# vo = identify_crs(_x=x, _y=y, crsName='NewBeijing54', degreeBelt='3')

# vo = identify_crs(_x=x, _y=y, crsName='unlimited', degreeBelt='6')

# vo = identify_crs(_x=x, _y=y, crsName='unlimited', degreeBelt='3')

# pprint(vo)

# pprint(getOne(vo))

# 4326 -180, -90, 180, 90

# 3857 -20037508.342789244, -242528680.94374272, 20037508.342789244, 242528680.94374272

# 国家2000六度带加代号 4491 -13500000, -10001965.729230462, 13500000, 10001965.729230462

# 国家2000六度带加代号 4501 -23500000, -10001965.729230462, 23500000, 10001965.729230462

# 国家2000三度带加代号 4513 -25500000, -10001965.729230462, 25500000, 10001965.729230462

# 国家2000三度带加代号 4533 -45500000, -10001965.729230462, 45500000, 10001965.729230462

pass

测试:

image.png

结果:

image.png

相关文章