午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

【城市與區(qū)域經(jīng)濟學03】談談ArcGIS的坐標系

 一朵小白云 2024-01-17 發(fā)布于四川

欄目主要推送廈門大學經(jīng)濟研究所城市與區(qū)域經(jīng)濟學研究生課程的相關(guān)學習資料。

微信公眾號蒙莉娜的城市分析課

如果你覺得微信內(nèi)容對你有用,歡迎轉(zhuǎn)發(fā)點贊。

蒙老師的嘮嘮叨叨

這算是城市與區(qū)域經(jīng)濟學的第一次實踐課程,主要做一些ArcGIS的入門介紹。那什么內(nèi)容才算是入門呢?ArcGIS的系統(tǒng)組成?GIS數(shù)據(jù)結(jié)構(gòu)?一個5G信號塔在GIS系統(tǒng)里怎么表示?一個花園小區(qū)呢?長江在系統(tǒng)里是一條線還是一個河面?。。。這些都是GIS課程的基本概念,嘮叨起來那可能一學期的課程也說不完。

所以,我直接跳過關(guān)于數(shù)據(jù)表現(xiàn)形式和數(shù)據(jù)存儲的基本內(nèi)容了(假裝你們都會???)。如果真的不會,請善用以下網(wǎng)絡資源:



ArcMap 快速瀏覽

https://desktop./zh-cn/arcmap/10.3/main/get-started/a-quick-tour-of-arcmap.htm

ArcCatalog 快速瀏覽

https://desktop./zh-cn/arcmap/10.3/main/get-started/a-quick-tour-of-arccatalog.htm

ArcMap 基本詞匯

https://desktop./zh-cn/arcmap/10.3/main/map/essential-arcmap-vocabulary.htm

什么是地理數(shù)據(jù)?

https://desktop./zh-cn/arcmap/latest/manage-data/main/what-is-geodata.htm

快速瀏覽了前面一些基本概念后,我們主要介紹的是GIS系統(tǒng)的地理坐標系統(tǒng)和投影坐標系統(tǒng)。這依然是GIS系統(tǒng)的入門掃盲點,但是在教學過程中,發(fā)現(xiàn)同學們在這里犯的錯誤還是比較多的,拎出來重點講。

什么是坐標系?

在 ArcGIS 中,每個數(shù)據(jù)集都具有一個坐標系,該坐標系用于將數(shù)據(jù)集與通用坐標框架(如地圖)內(nèi)的其他地理數(shù)據(jù)圖層集成。通過坐標系可以集成地圖內(nèi)的數(shù)據(jù)集以及執(zhí)行各種集成的分析操作,例如疊加來自截然不同的來源和坐標系的數(shù)據(jù)圖層。

圖片

簡單來說,坐標系是一種用于表示地理要素、影像和觀察值位置(例如公用地理框架內(nèi)的 GPS 位置)的參照系統(tǒng)。

而GIS 中使用兩種常用的坐標系類型:

  1. 全局坐標系或球坐標系,例如經(jīng)緯度。這些坐標系通常稱為地理坐標系。

  2. 基于地圖投影的投影坐標系(例如橫軸墨卡托投影、亞爾勃斯等積投影或羅賓遜投影),投影坐標系有時稱為地圖投影。

什么是地理坐標系統(tǒng)?

地理坐標系 (GCS) 使用三維球面來定義地球上的位置,包括角度測量單位、本初子午線和基準面(基于旋轉(zhuǎn)橢球體)。我們常說的經(jīng)緯度,即為地理坐標系。
下圖即為地理坐標系的要素及如何經(jīng)緯度標注的地球表面。

圖片

作為一個合格的地圖數(shù)據(jù)發(fā)布者,在發(fā)布地圖數(shù)據(jù)的同時,應該附上地圖數(shù)據(jù)所使用的經(jīng)緯度信息,如下圖為國家基礎(chǔ)地理信息中心發(fā)布的基礎(chǔ)地圖,在ArcMap的圖層屬性中的Source標簽可以直接看到該數(shù)據(jù)所使用的地理坐標系統(tǒng)。

圖片

當Source標簽中的Geographic Coordinate System 顯示為Undefined時,就需要我們根據(jù)數(shù)據(jù)發(fā)布者提供的信息重新定義地理坐標系。下圖為ArcMap系統(tǒng)內(nèi)嵌的DefineProjection工具語法:

圖片

Python調(diào)用DefineProjection工具的示例如下:

#Name: DefineProjection
#Description: uses the DefineProjection function to define coordinate system information for the input data.

# import system modules
import arcpy

# set workspace environment
arcpy.workspace = 'D:\\data.gdb'

# set input data
in_data = 'BOUA'
sr = arcpy.SpatialReference(4490#4490是2000國家大地坐標系(CGCS_2000)在ArcGIS里坐標系的WKID

#DefineProjection
arcpy.DefineProjection_management(in_data,sr)

由于選擇的橢球體不同,不同的地理坐標系統(tǒng)所定義的經(jīng)緯度有少許偏差。如中國官方發(fā)布的地圖數(shù)據(jù)多采用2000國家大地坐標系(CGCS_2000),而通過百度等地圖服務商提供的API獲取的經(jīng)緯度,通常被稱為火星坐標(即地圖服務商根據(jù)算法將真實的經(jīng)緯度經(jīng)過一定的規(guī)則轉(zhuǎn)換后發(fā)布),與真實的經(jīng)緯度存在位置偏差。

值得注意的是,即使我們使用了CGSC_2000地理坐標系統(tǒng),因為經(jīng)度和緯度不具有標準長度,所以無法對距離或面積進行精確測量,或者無法很容易地在平面地圖或計算機屏幕上顯示數(shù)據(jù)。而實證研究中,通常涉及到的是關(guān)于距離或面積的計算,那么,就需要用到投影坐標系了。

什么是投影坐標系?

與地理坐標系不同,投影坐標系在二維平面中進行定義,在二維空間范圍內(nèi),投影坐標系的長度、角度和面積恒定。在投影坐標系中,通過格網(wǎng)上的 x,y 坐標來標識位置,其原點位于格網(wǎng)中心,單位通常為米(m)。每個位置均具有兩個值,這兩個值是相對于該中心位置的坐標。一個指定其水平位置,另一個指定其垂直位置。這兩個值稱為 x 坐標和 y 坐標。采用此標記法,原點坐標是 x = 0 和 y = 0。

圖片

下圖可以直觀對比地理坐標系和投影坐標系的差異。左圖是地理坐標系(經(jīng)緯度),右圖為投影坐標系(X m, Y m

圖片

簡單來說,投影是一種計算,用于在平面屏幕或紙張上繪制圓形地球。每張地圖都會使地球變形。因為如果不經(jīng)過拉伸、傾斜和撕裂則無法將一個曲面(地球)展平到一個平面上。地圖投影以系統(tǒng)的方式來應用此變形,使得可以控制變形的位置和發(fā)生方式。因此,需要根據(jù)研究目的,選擇正確的投影,以控制感興趣變量,如距離或者面積的形變最小。

投影方式可以分為等角投影,等面積投影和等距投影。等角投影可以局部保存角,因此要素的形狀是真實的。但是這種質(zhì)量的代價是面積和距離的變形。等面積投影可以保留面積,但會犧牲角度,因此某些地方的形狀會出現(xiàn)偏斜。等距投影可保留距離,盡管這些距離只能從地圖上的某些點或沿某些線測量。

圖片

ArcGIS 中提供了數(shù)十種投影方式,我們需要做的就是根據(jù)研究目的,保留距離或者保留面積,然后進行投影轉(zhuǎn)換即可。需要注意的是,投影坐標系始終基于地理坐標系,先定義了地理坐標,才能將地理坐標進行投影轉(zhuǎn)換(簡單說,就是將地圖單位從經(jīng)緯度變成米)。
矢量數(shù)據(jù)的投影轉(zhuǎn)換需要用到Project函數(shù),而柵格數(shù)據(jù)(比如說你們最熟悉的夜晚燈光數(shù)據(jù))的投影轉(zhuǎn)換需要用到Project Raster函數(shù)。以矢量數(shù)據(jù)的投影轉(zhuǎn)換為例:

圖片

Python調(diào)用Project工具的示例如下:

# output data
out_data = 'BOUA_prj'

# create a spatial reference object for the output coordinate system
#4498是CGCS2000_GK_Zone_20在ArcGIS里坐標系的WKID,是等角投影(高斯-克呂格投影)的一種,以最少形變?yōu)橹饕康?/span>
out_coordinate_system = arcpy.SpatialReference(4498)

# run the tool
arcpy.Project_management(in_data, out_data, out_coordinate_system)

嘮嘮叨叨了這么多,其實最重要一點是,當我們從不同的渠道拿到各種地圖數(shù)據(jù)時候,第一步要做的就是將同一個項目的數(shù)據(jù)都變換到同一個投影坐標系下,而蒙老師通常的做法是,使用一個已經(jīng)已知坐標系統(tǒng)的數(shù)據(jù)A(如代碼中的'city')作為參考,將所有新數(shù)據(jù)都投影到數(shù)據(jù)A的坐標系統(tǒng)下,省去了每次投影變換都要去查詢WKID的煩惱。以下為Python的實現(xiàn)代碼:

#Description: Records the coordinate system information for the specified input dataset or feature class

# get the coordinate system by describing a feature class
ref_data = 'city'
dsc = arcpy.Describe(ref_data)
prj_sys = dsc.spatialReference

# run project tool
arcpy.Project_management(in_data, out_data, prj_sys)

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多