日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python气象包_Python-Cartopy包: 地图投影

發布時間:2023/12/10 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python气象包_Python-Cartopy包: 地图投影 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

經典地圖制圖中使用的投影面有圓柱面、圓錐面或平面等。根據所用投影面,地圖投影相對應地可分為圓柱投影、圓錐投影和方位投影。后來又發展出了很多現代地圖投影,如偽圓柱、多圓錐等投影辦法。在制圖時選擇合適的地圖投影是一件重要的工作。

本文將對 Cartopy 中支持的地圖投影進行逐一進行簡要介紹,這些投影都是 cartopy.crs 中的類。若要繪制某一類投影的地圖,只需將其實例化之后傳入?plt.axes()?方法的?projection?參數即可。本文不涉及投影的原理,旨在展示每種地圖投影的效果和用法,以便在選擇時參考。

圓柱投影

PlateCarree

PlateCarree(可利)投影將地物投影到圓柱面上再展開,常用來繪制世界地圖。該類的定義為:

1

class cartopy.crs.PlateCarree(central_longitude=0.0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

globe:橢球定義,默認為 WGS84。

示例:

LambertCylindrical

Lambert cylindrical projection(蘭伯特等積投影)也是繪制世界地圖的一種常用方案。該類的定義為:

1

class cartopy.crs.LambertCylindrical(central_longitude=0.0)

參數說明:

central_longitude:中央經線,默認為 0。

示例:

Mercator

Mercator(墨卡托)投影,屬于正軸等角割圓柱投影。經緯線為相互垂直的平行直線,圖上無角度變形,但面積變形較大。該投影常用于制作航海圖或赤道附近區域的地圖。其類定義為:

1

2

class cartopy.crs.Mercator(central_longitude=0.0, min_latitude=-80.0, max_latitude=84.0,

latitude_true_scale=0.0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

min_latitude:顯示的最小緯線(最南端),默認為 -80;

max_latitude:顯示的最大緯線(最北端),默認為 84;

latitude_true_scale:長度不變形的緯線,默認為 0;

globe:橢球定義,默認為 WGS84。

示例:

Miller

Miller(米勒)投影。其類定位為:

1

class cartopy.crs.Miller(central_longitude=0.0)

參數說明:

central_longitude:中央經線,默認為 0。

示例:

TransverseMercator

TransverseMercator(橫軸墨卡托)投影是對標準墨卡托投影的一種變換。其類定義為:

1

2

3

class cartopy.crs.TransverseMercator(central_longitude=0.0, central_latitude=0.0,

false_easting=0.0, false_northing=0.0,

scale_factor=1.0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

central_latitude:中央緯線,默認為 0;

false_easting:平面上 X 軸坐標(東方向)的偏移量,以米為單位;

false_northing:平面上 Y 軸坐標(北方向)的偏移量,以米為單位;

scale_factor:中央經線處的長度變形因子,默認為 1;

globe:橢球定義,默認為 WGS84。

示例:

UTM

UTM(通用橫軸墨卡托投影),制圖中最常用的一種投影方法之一。在 UTM 中,地球上的主要陸地被劃分為一個個的網格區間。對于緯度,從南緯 80° 開始,每 8° 被劃分為一個區間,自南向北由從 “C” 至 “X” 的字母表示(為包含北極附近的陸地,最北的區間包含 12°);對于經度,從零度子午線開始每隔 6° 向東編排,其帶好以數字 01-60 表示。該類的定義為:

1

class cartopy.crs.UTM(zone, southern_hemisphere=False, globe=None)

參數說明:

zone:所繪地區的 6° 經度區間帶號;

southern_hemisphere:投影帶是否在南半球;

globe:橢球定義,默認為 WGS84。

RotatedPole

RotatedPole(旋轉極)投影,常被用于天氣預測模型中。該類的定義為:

1

2

class cartopy.crs.RotatedPole(pole_longitude=0.0, pole_latitude=90.0,

central_rotated_longitude=0.0, globe=None)

參數說明:

pole_longitude:旋轉極的經度;

pole_latitude:旋轉極的緯度;

central_rotated_longitude:旋轉的經度;

globe:橢球定義,默認為 WGS84。

示例:

OSGB

OSGB(Ordnance Survey of Great Britain),英國軍用測量大地網,用于測量大不列顛島的一種區域等距圓錐投影。

示例:

EuroPP

EuroPP,用于繪制歐洲地圖的一種等距圓錐投影。

示例:

OSNI

OSNI(Ordnance Survey of Northern Ireland),一種區域性質的等距圓錐投影,用于測繪北愛爾蘭島。

示例:

圓錐投影

AlbersEqualArea

AlbersEqualArea(阿爾伯斯等面積)投影。其類定義為:

1

2

3

class cartopy.crs.AlbersEqualArea(central_longitude=0.0, central_latitude=0.0,

false_easting=0.0, false_northing=0.0,

standard_parallels=(20.0, 50.0), globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

central_latitude:中央緯線,默認為 0;

false_easting:平面上 X 軸坐標(東方向)的偏移量,以米為單位;

false_northing:平面上 Y 軸坐標(北方向)的偏移量,以米為單位

standard_parallels:長度不變形的緯線,默認為?(20, 50);

globe:橢球定義,默認為 WGS84。

示例:

LambertConformal

LambertConformal(蘭伯特正形)投影。其類定義為:

1

2

3

4

class cartopy.crs.LambertConformal(central_longitude=-96.0, central_latitude=39.0,

false_easting=0.0, false_northing=0.0,

secant_latitudes=None, standard_parallels=None,

globe=None, cutoff=-30)

參數說明:

central_longitude:中央經線,默認為 -96;

central_latitude:中央緯線,默認為 39;

false_easting:平面上 X 軸坐標(東方向)的偏移量,以米為單位;

false_northing:平面上 Y 軸坐標(北方向)的偏移量,以米為單位

secant_latitudes:割線的緯度;

standard_parallels:長度不變形的緯線,默認為?(33, 45);

cutoff:顯示的緯度邊界,默認為 -30;

globe:橢球定義,默認為 WGS84。

示例

方位投影

Orthographic

Orthographic(正射)投影,視點在無窮遠處,常用于表現某個半球。該類的定義為:

1

class cartopy.crs.Orthographic(central_longitude=0.0, central_latitude=0.0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

central_latitude:中央緯線,默認為 0;

globe:橢球定義,默認為 WGS84。

示例:

AzimuthalEquidistant

AzimuthalEquidistant(正方位等距)投影,在切點輻射的方向上沒有長度變形,有角度和面積變形。該類的定義為:

1

2

class cartopy.crs.AzimuthalEquidistant(central_longitude=0.0, central_latitude=0.0,

false_easting=0.0, false_northing=0.0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

central_latitude:中央緯線,默認為 0;

false_easting:平面上 X 軸坐標(東方向)的偏移量,以米為單位;

false_northing:平面上 Y 軸坐標(北方向)的偏移量,以米為單位

globe:橢球定義,默認為 WGS84。

示例:

Stereographic

Stereographic(球極平面)投影,這也是一種等角投影,其視點在球面上。但這種投影會造成較大的長度和面積變形,且離切點愈遠,其變形幅度愈大。其類定義為:

1

2

3

class cartopy.crs.Stereographic(central_latitude=0.0, central_longitude=0.0,

false_easting=0.0, false_northing=0.0,

true_scale_latitude=None, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

central_latitude:中央緯線,默認為 0;

false_easting:平面上 X 軸坐標(東方向)的偏移量,以米為單位;

false_northing:平面上 Y 軸坐標(北方向)的偏移量,以米為單位

true_scale_latitude:長度不變形的緯線;

globe:橢球定義,默認為 WGS84。

示例:

Geostationary

Geostationary(地球同步衛星)視角,視點在赤道上空某一點處。這種投影好像在地球同步(GEO)衛星上觀察到的地球。其類定義為:

1

2

class cartopy.crs.Geostationary(central_longitude=0.0, satellite_height=35785831,

false_easting=0, false_northing=0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

satellite_height:衛星高度,默認為 35785831 米,這是 GEO 衛星的高度;

false_easting:平面上 X 軸坐標(東方向)的偏移量,以米為單位;

false_northing:平面上 Y 軸坐標(北方向)的偏移量,以米為單位

globe:橢球定義,默認為 WGS84。

示例:

NearsidePerspective

NearsidePerspective(駕駛員)視角,視點在地球外某一點處。這種投影好像在高空中某處宇宙飛船駕駛員的視角。其類定義為:

1

2

3

class cartopy.crs.NearsidePerspective(central_longitude=0.0, central_latitude=0.0,

satellite_height=35785831, false_easting=0,

false_northing=0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

central_latitude:中央緯線,默認為 0;

satellite_height:衛星高度,默認為 35785831 米,即 GEO 衛星的高度;

false_easting:平面上 X 軸坐標(東方向)的偏移量,以米為單位;

false_northing:平面上 Y 軸坐標(北方向)的偏移量,以米為單位

globe:橢球定義,默認為 WGS84。

示例:

LambertAzimuthalEqualArea

LambertAzimuthalEqualArea(蘭伯特方位等積)投影,具有等積性質,但在靠近邊緣的地方長度和角度變形較大。其類定義為:

1

2

class cartopy.crs.LambertAzimuthalEqualArea(central_longitude=0.0, central_latitude=0.0,

false_easting=0.0, false_northing=0.0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

central_latitude:中央緯線,默認為 0;

satellite_height:衛星高度,默認為 35785831 米,即 GEO 衛星的高度;

false_easting:平面上 X 軸坐標(東方向)的偏移量,以米為單位;

false_northing:平面上 Y 軸坐標(北方向)的偏移量,以米為單位

globe:橢球定義,默認為 WGS84。

示例:

Gnomonic

Gnomonic(球心)投影,將地球想象為一個水面透明的玻璃球,這種投影好像從地心光源將陸地的影子投射到墻上的景象。該類定義為:

1

class cartopy.crs.Gnomonic(central_longitude=0.0, central_latitude=0.0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

central_latitude:中央緯線,默認為 0;

globe:橢球定義,默認為 WGS84。

示例:

NorthPolarStereo

NorthPolarStereo(北極極射)投影。該類的定義為:

1

class cartopy.crs.NorthPolarStereo(central_longitude=0.0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

globe:橢球定義,默認為 WGS84。

示例:

SouthPolarStereo

SouthPolarStereo(南極極射)投影。該類的定義為:

1

class cartopy.crs.SouthPolarStereo(central_longitude=0.0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

globe:橢球定義,默認為 WGS84。

示例:

其他投影方式

Mollweide

Mollweide(摩爾威特)投影,一種正軸等積性質的偽圓柱投影,由德國人摩爾威特(K.B.Mollweide)所創,常用于繪制世界地圖或東西半球圖。中央經線為直線,距離中央經線東西相差 90° 的經線構成一個大圓,其面積等于地球表面積的1/2,其余經線為橢圓。Cartopy 中對應的類為:

1

class cartopy.crs.Mollweide(central_longitude=0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

globe:橢球定義,默認為 WGS84。

示例:

Robinson

Robinson(羅賓遜)投影也是一種偽圓柱投影,主要為了克服圓柱投影形狀拉伸過大,希望獲得角度和面積變形均最小的世界地圖投影。Cartopy 中對應的類為:

1

class cartopy.crs.Robinson(central_longitude=0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

globe:橢球定義,默認為 WGS84。

示例:

Sinusoidal

Sinusoidal(正弦)投影是一種偽圓柱等積投影,由法國人桑遜(N.Sanson)所創,有時候也被稱為桑遜投影或墨卡托等積投影。這是一種等積性質的偽圓柱投影,緯線為間隔相等的平行直線,經線為對稱于中央經線的正弦曲線。Cartopy 中對應的類為:

1

2

class cartopy.crs.Sinusoidal(central_longitude=0.0, false_easting=0.0,

false_northing=0.0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

globe:橢球定義,默認為 WGS84。

示例:

InterruptedGoodeHomolosine

InterruptedGoodeHomolosine(分瓣正弦古德)投影,一種偽圓柱、等積投影。該投影中,全圖被分為幾瓣,各瓣之間通過赤道連接,這樣可使得各大洲陸地部分表現得更完好。其缺點也顯而易見:地圖的連續性被破壞殆盡。Cartopy 中對應的類為:

1

class cartopy.crs.InterruptedGoodeHomolosine(central_longitude=0, globe=None)

參數說明:

central_longitude:中央經線,默認為 0;

globe:橢球定義,默認為 WGS84。

示例:

總結

對于上文提到的?false_easting?和?false_northing?兩個變量的含義與用途,有些讀者可能會有困惑。這里說一下我的理解。在某些局部地區的坐標系中,為了避免坐標值出現負數,通常會在可能出現負數的坐標上加上一個較大的常數。例如,我國普遍采用高斯投影的平面直角坐標系,以赤道和中央子午線作為坐標軸,由于我國位于北半球,因此南北方向不會出現負數,但是東西方向上會出現負數(中央子午線以西的點)。此時通常的解決辦法就是為所有的東西方向的坐標加上 500 km。這里的 500 km 就是?false_easting?的值。

當制圖范圍較小時,無論什么投影方式都無太大變形;對于范圍廣大的世界地圖、半球地圖、大洲地圖、大國地圖等,則需要慎重考慮。對表現大塊區域常用的投影方式可總結為:

世界地圖:正圓柱、偽圓柱和多圓錐投影;

東、西半球:常選用橫軸方位投影;

南、北半球:常采用正軸方位投影;

水、陸半球:一般選用斜軸方位投影;

極地——正軸方位投影;

赤道附近——橫軸方位投影或正軸圓柱投影;

中緯地區——正軸圓錐投影或斜軸方位投影。

如需聯系EasyShu團隊

請加微信:EasyCharts

微信公眾號【EasyShu】博文代碼集合地址

https://github.com/Easy-Shu/EasyShu-WeChat

書籍購買

Python數據可視化之美-配套源代碼下載地址

Github

https://github.com/Easy-Shu/Beautiful-Visualization-with-python

R語言數據可視化之美-增強版配套源代碼下載地址

Github

https://github.com/Easy-Shu/Beautiful-Visualization-with-R

總結

以上是生活随笔為你收集整理的python气象包_Python-Cartopy包: 地图投影的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。