九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Python地理坐標(biāo)系和投影坐標(biāo)系轉(zhuǎn)換

0 相關(guān)名詞

在開(kāi)始之前,有必要了解一下相關(guān)名詞:

  1. 地心地固坐標(biāo)系(Earth-Centered, Earth-Fixed,ECEF),簡(jiǎn)稱地心坐標(biāo)系。
  2. 地理坐標(biāo)系統(tǒng)(Geographic Coordinate System,GCS)1,坐標(biāo)系是地心坐標(biāo)系,用經(jīng)緯度表示球面上的點(diǎn)。
  3. 世界大地測(cè)量系統(tǒng)(World Geodetic System, WGS),比如WGS84,是一種地理坐標(biāo)系統(tǒng),用于全球定位系統(tǒng)(GPS)。
  4. 投影坐標(biāo)系統(tǒng)(Projection Coordinate System,PCS)2,,在二維平面上用表示位置。
  5. 通用橫軸墨卡托投影(Universal Transverse Mercator,UTM),是一種投影方法。

關(guān)于地理坐標(biāo)系和投影坐標(biāo)系更詳細(xì)的解釋可以查看這篇文章:你必須知道的地理坐標(biāo)系和投影坐標(biāo)系

地理坐標(biāo)系統(tǒng)有不同的基準(zhǔn)和方法,比如:Xian_1980,Beijing_1954,WGS_1984等。投影坐標(biāo)系統(tǒng)也有不同的基準(zhǔn)和方法,UTM和UPS等。每一個(gè)地理坐標(biāo)系統(tǒng)(GCS)和投影坐標(biāo)系統(tǒng)(PCS)都有一個(gè)獨(dú)特的EPSG代碼,代碼可在 EPSG 網(wǎng)站查詢。

有一篇介紹Pyproj進(jìn)行地理投影坐標(biāo)系轉(zhuǎn)換的文章3,但不夠全面。其中提到arcgis網(wǎng)站上查詢 地理坐標(biāo)系投影坐標(biāo)系 的方法很實(shí)用但不全。

1 地理和投影坐標(biāo)系統(tǒng)相互轉(zhuǎn)換

整理使用Python的第三方庫(kù) Pypro4 轉(zhuǎn)換經(jīng)緯度表示的地理坐標(biāo)系統(tǒng)和(或千米等其他單位)表示的投影坐標(biāo)系統(tǒng)。

Pypro模塊共有兩個(gè)函數(shù):

函數(shù)描述
test()運(yùn)行模塊測(cè)試
transform(p1, p2, x, y, z=None, radians=False)用法:x2, y2, z2 = transform(p1, p2, x1, y1, z1, radians=False),將在坐標(biāo)系統(tǒng)p1下的點(diǎn)(x1, y1, z1)轉(zhuǎn)換到p2坐標(biāo)系統(tǒng)下

1.1 使用EPSG Code轉(zhuǎn)換

轉(zhuǎn)換經(jīng)緯度到的投影坐標(biāo)系統(tǒng);轉(zhuǎn)換一個(gè)投影坐標(biāo)系統(tǒng)到另一個(gè)投影坐標(biāo)系統(tǒng);反向轉(zhuǎn)換,把投影坐標(biāo)系統(tǒng)上的點(diǎn)轉(zhuǎn)換到地理坐標(biāo)系統(tǒng):

>>> p1 = pyproj.Proj(init='epsg:26915') # 一個(gè)投影坐標(biāo)系統(tǒng)EPSG Code>>> p2 = pyproj.Proj(init='epsg:26715') # 另一個(gè)投影坐標(biāo)系統(tǒng)EPSG Code>>> x1, y1 = p1(-92.199881,38.56694) # 投影到EPSG Code為26915的投影坐標(biāo)系統(tǒng)>>>> '%9.3f %11.3f' % (x1,y1)'569704.566 4269024.671'>>> x2, y2 = pyproj.transform(p1,p2,x1,y1) # 轉(zhuǎn)換一個(gè)投影坐標(biāo)系統(tǒng)到另一個(gè)投影坐標(biāo)系統(tǒng)>>> '%9.3f %11.3f' % (x2,y2)'569722.342 4268814.027'>>> '%8.3f %5.3f' % p2(x2,y2,inverse=True) # 反向轉(zhuǎn)換' -92.200 38.567'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

用元組傳入多個(gè)點(diǎn)

>>> lats = (38.83,39.32,38.75) # 所有緯度組成的元組>>> lons = (-92.22,-94.72,-90.37) # 所有精度組成的元組>>> x1, y1 = p1(lons,lats) # 轉(zhuǎn)換經(jīng)緯度到投影坐標(biāo)系統(tǒng)>>> x2, y2 = pyproj.transform(p1,p2,x1,y1) # 轉(zhuǎn)換一個(gè)投影坐標(biāo)系統(tǒng)到另一個(gè)投影坐標(biāo)系統(tǒng)>>> lons, lats = p2(x2,y2,inverse=True) # 反向轉(zhuǎn)換
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

1.2 使用基準(zhǔn)名稱轉(zhuǎn)換

除了使用EPSG Code之外,還可以顯示指定坐標(biāo)系統(tǒng)名稱

>>> p1 = pyproj.Proj(proj='latlong',datum='WGS84') # WGS84,GPS使用的地理坐標(biāo)系統(tǒng),EPSG Code為4326>>> x1 = -111.5; y1 = 45.25919444444>>> p2 = pyproj.Proj(proj='utm',zone=10,datum='NAD27') # 投影坐標(biāo)系統(tǒng)NAD27 / UTM zone 10N,EPSG Code為26710>>> x2, y2 = pyproj.transform(p1, p2, x1, y1)>>> '%s %s' % (str(x2)[:9],str(y2)[:9])'1402285.9 5076292.4'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2 總結(jié)

如果僅僅是需要把經(jīng)緯度轉(zhuǎn)換為米為單位的話,可直接按照下邊來(lái):

>>> p1 = pyproj.Proj(init='epsg:4326') # 定義數(shù)據(jù)地理坐標(biāo)系 WGS84>>> p2 = pyproj.Proj(init='epsg:3857') # 定義轉(zhuǎn)換投影坐標(biāo)系>>> x, y = pyproj.transform(p1, p2, lon, lat) # lon 和lat 可以是元組
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
利用Python中的的pyproj庫(kù)實(shí)現(xiàn)地理坐標(biāo)向投影坐標(biāo)轉(zhuǎn)換
多種坐標(biāo)系之間的轉(zhuǎn)換之Proj.NET
WebGIS底圖疊加不同坐標(biāo)系的Image
PROJ4初探(轉(zhuǎn))
UTM坐標(biāo)和WGS84坐標(biāo)轉(zhuǎn)換
ArcGIS中的坐標(biāo)系統(tǒng)定義與投影轉(zhuǎn)換方法
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服