程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 深入淺出空間參考——對ArcGIS空間參考的理解

深入淺出空間參考——對ArcGIS空間參考的理解

編輯:關於.NET

空間參考描述了一個地物在地球上的真實位置。為了正確的對位置進行描述,需要引入一 個可供測量和計算的框架,使得大地測量的結果能夠在這個框架上進行描述。而地球是一個 不規則形狀的橢球體,那麼使用什麼樣的方法來模擬地球的形狀,又該如何將球面上的坐標 投影在平面的地圖上?這就需要先了解大地水准面、參考橢球體、基准面的概念,和它們之 間的關系。另外,本文還對我國常用的北京54和西安80兩種坐標系統進行了詳細的剖析。

1.大地水准面(Geoid)和參考橢球體(Spheroid)

大地水准面提供一個可供測量的表面,它基本與靜止的海平面吻合,且處處與重力方向垂 直。因為地球表面各個點的重力方向不同,因此大地水准面是個不規則的橢球體。為了能夠 使用數學法則來描述地球的形狀,處理測量的成果,這就需要引入一個規則的球體,即參考 橢球體的概念。

參考橢球體是由二維平面上的橢圓繞著短軸旋轉而形成的。參考橢球體的長半軸指的是地 心距赤道的距離,參考橢球體的短半軸指的是地心距地球極點的距離。不同的參考橢球體的 長、短半軸都是不同的。如下表所示:

Spheroid Semimajor axis (m) Semiminor axis (m) Clarke 1866 6378206.4 6356583.8 GRS80 1980 6378137 6356752.31414 WGS84 1984 6378137 6356752.31424518       不同的地理區域需要選擇不同的參考橢球體來進行描述,因為不同的參考橢球體是用來模擬 地球上不同地方的大地水准面的。例如在北美地區,NAD83這種大地坐標系統使用的參考橢球 體就是GRS 1980橢球。對於同一個位置,選擇不同的參考橢球體和基准面會改變其坐標值的 大小。下面的例子是華盛頓州的貝林翰采用不同的大地坐標系統的結果,可以看到NAD1927和 另外兩個的坐標值有很大的差別。

Datum Longitude Latitude NAD 1927 -122.46690368652 48.7440490722656 NAD 1983 -122.46818353793 48.7438798543649 WGS 1984 -122.46818353793 48.7438798534299

2.基准面(Datum)

參考橢球體定義了地球的形狀,而基准面則描述了這個橢球中心距地心的關系。基准面是 建立在選擇的參考橢球體上的,且考慮到了當地復雜的地表情況。因為參考橢球體還是不能 夠很好的描述地球上每個地方的具體情況,可以理解為基准面就是參考橢球向某個地方的大 地水准面逼近的結果,它與參考橢球是多對一的關系。  

(1)地心基准面(Geocentric datums)

在過去的15年,使用衛星采集數據給測量學家們提供了一個很好的模擬地球的橢球體,即 地心坐標系統。地心坐標系是使用地球的質心作為中心,目前使用最廣泛的就是WGS 1984這 種地心坐標系。

(2)本地基准面(Local datums)

本地基准面是將參考橢球體移動到更貼近當地地表形狀的位置,參考橢球體上的某一點必 然對應著地表上的某一位置,這個點就稱作大地起算原點。大地起算原點的坐標值是固定的 ,其他點的坐標值都可以由該點計算得到。本地坐標系統的起始位置一般就不在地心的位置 了,而是距地心一定的偏移量。

3.空間參考(Spatial Reference)

一個空間參考包括了描述要素X,Y,Z位置的坐標系統(Coordinate System),以及描述要 素X,Y,Z,M值的分辨率(resolution)和容限(tolerance)。

3.1 坐標系統

坐標系統分為大地坐標系統(Geographic coordinate system)和投影坐標系統 (Project coordinate system)兩種,分別用來表示三維的球面坐標和二維的平面坐標。

一個GCS的定義包括基准面、角度的單位(一般是度)和本初子午線。一個PCS的定義包括 一個GCS,以及測量的線性單位(米或者英尺)、地圖投影方法和投影的一些參數。

一個PCS或者GCS中也可能會包含一個垂直坐標系統(VCS)描述Z值,它通常是對高程的描 述。VCS的定義包含了高程的基准面、測量的線性單位、Z軸的方向和偏移量。

3.2 分辨率(Resolution)

分辨率反映了數據庫中可以存儲的坐標值的最小地圖單位長度,例如如果分辨率是0.01, 那麼1.22和1.23將會被存儲為不同的點,而1.222和1.223將會被認為都是1.22。如下圖所示 。

分辨率的單位和地圖單位一致,如果當前投影坐標系統的單位是米,那麼分辨率的單位也 是米,默認的分辨率大小為0.0001;如果是英尺為單位,則默認值是0.0003281 英尺 (0.003937 英寸);如果是經緯度的,則默認值是0.000000001度。

如果分辨率越小,那麼坐標可以存儲的位數就越多,也必然會消耗掉I/O資源;如果分辨 率變大,那麼要素所存儲的精度就會降低,要素的邊界將會被平滑。一般情況下,我們都選 擇使用系統默認的分辨率值。

3.3 容限(Tolerance)

容限反映了數據的坐標精度,也就是坐標值之間的最小距離,小於這個容限的將會被認為 是同一個點。容限經常會被使用在關系和拓撲運算中,來確定兩個點是否會被合並為同一個 點。對於以米為單位的投影坐標系統,默認的容限值是0.001,也就是10倍的分辨率值。用戶 可以自定義容限值,但是不要小於分辨率的2倍大小。

4.北京54和西安80

北京54和西安80是我國主要使用的兩種坐標系統,它們其實指的是兩個Datum的概念。因 此,北京54和西安80即可以指大地坐標系統(GCS),又可以指投影坐標系統(PCS)。我們 先來看看ArcGIS中對於北京54在GCS中的定義:

Angular Unit: Degree (0.017453292519943299)
Prime Meridian: Greenwich (0.000000000000000000)
Datum: D_Beijing_1954
  Spheroid: Krasovsky_1940
    Semimajor Axis: 6378245.000000000000000000
    Semiminor Axis: 6356863.018773047300000000
Inverse Flattening: 298.300000000000010000

可以看到,Datum是D_Beijing_1954。北京54使用的是克拉索夫斯基橢球,大地原點在西 伯利亞。而西安80使用的是IAG 75橢球,大地原點在陝西泾陽。再來看北京54在PCS中的定義 :

Projection: Gauss_Kruger
False_Easting: 500000.000000
False_Northing: 0.000000
Central_Meridian: 117.000000
Scale_Factor: 1.000000
Latitude_Of_Origin: 0.000000
Linear Unit: Meter (1.000000)
 
Geographic Coordinate System: GCS_Beijing_1954
Angular Unit: Degree (0.017453292519943299)
Prime Meridian: Greenwich (0.000000000000000000)
Datum: D_Beijing_1954
  Spheroid: Krasovsky_1940
    Semimajor Axis: 6378245.000000000000000000
    Semiminor Axis: 6356863.018773047300000000
Inverse Flattening: 298.300000000000010000

可以看到,一個PCS必然包含一個GCS的定義,也就是說PCS=GCS+地圖投影。我國的基本比 例尺地形圖(1:5千,1:1萬,1:2.5 萬,1:5萬,1:10萬,1:25萬,1:50萬,1:100萬)中,大 於等於50萬的均采用高斯-克呂格投影,又叫橫軸墨卡托投影 (Transverse Mercator);小於 50萬的地形圖采用正軸等角割圓錐投影,又叫蘭勃特投影(Lambert Conformal Conic);海上 小於50萬的地形圖多用正軸等角圓柱投影,又叫墨卡托投影(Mercator)。在ArcGIS軟件中, 北京54和西安80的PCS坐標都是使用高斯-克呂格投影。

5.高斯克呂格

(1)高斯克呂格投影

高斯-克呂格投影是等角橫軸切圓柱投影,該投影按照投影帶中央子午線投影為直線且長 度不變和赤道投影為直線的條件,確定函數的形式,從而得到高斯- 克呂格投影公式。投影 後,除中央子午線和赤道為直線外,其他子午線均為對稱於中央子午線的曲線。設想用一個 圓柱橫切於橢球面上投影帶的中央子午線,按上述投影條件,將中央子午線兩側一定經差范 圍內的橢球面投影於圓柱面。將圓柱面沿過南北極的母線剪開展平,即為高斯投影平面。取 中央子午線與赤道交點的投影為原點,中央子午線的投影為縱坐標x軸,赤道的投影為橫坐標 y軸,構成高斯克呂格平面直角坐標系。

(2)高斯克呂格分帶

高斯-克呂格投影在長度和面積上變形很小,中央經線無變形,自中央經線向投影帶邊緣 ,變形逐漸增加,變形最大之處在投影帶內赤道的兩端。為了減少投影後的變形,高斯克呂 格采用了分帶投影的方式,有6度分帶和3度分帶兩種。6度帶自0度子午線起每隔經差6度自西 向東分帶,帶號依次編為第 1、2…60帶。3度帶是在6度帶的基礎上分成的,它的中央 子午線與六度帶的中央子午線和分帶子午線重合,即自 1.5度子午線起每隔經差3度自西向東 分帶,帶號依次編為三度帶第 1、2…120帶。我國的經度范圍西起 73°東至 135°,可分成六度帶十一個,各帶中央經線依次為75°、81°、87°、 ……、117°、123°、129°、135°,或三度帶二十二個。六度 帶可用於中小比例尺(如 1:250000)測圖,三度帶可用於大比例尺(如 1:10000)測圖, 城建坐標多采用三度帶的高斯投影。

(3)高斯克呂格坐標

高斯克呂格坐標中,縱坐標以赤道為零起算,赤道以北為正,以南為負。我國位於北半球 ,縱坐標均為正值。橫坐標如以中央經線為零起算,中央經線以東為正,以西為負,為了避 免橫坐標出現負值,故規定將坐標縱軸西移500公裡當作起始軸,凡是帶內的橫坐標值均加 500公裡。由於高斯-克呂格投影每一個投影帶的坐標都是對本帶坐標原點的相對值,所以各 帶的坐標完全相同,為了區別某一坐標系統屬於哪一帶,在橫軸坐標前加上帶號,如 (4231898m,21655933m),其中21即為帶號。

(4)ArcGIS中的描述

下面以北京54為例,來說明ArcGIS中對於高斯克呂格這種投影坐標的描述:

Beijing 1954 3 Degree GK CM 75E.prj

Beijing 1954 3 Degree GK Zone 25.prj

Beijing 1954 GK Zone 13.prj

Beijing 1954 GK Zone 13N.prj

它們分別指的是:

三度分帶法的北京54坐標系,中央經線在東75度的分帶坐標,橫坐標前不加帶號;

三度分帶法的北京54坐標系,中央經線在東75度的分帶坐標,橫坐標前加帶號;

六度分帶法的北京54坐標系,分帶號為13,橫坐標前加帶號;

六度分帶法的北京54坐標系,分帶號為13,橫坐標前不加帶號。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved