本節提供您所建立、儲存及操作之資料的概觀以取得空間資訊。涵蓋的主題有︰
在 DB2 Spatial Extender 裡,地理特徵可由表格或概略表裡的橫列代表,或以部份此橫列代表。例如,就以在DB2 Spatial Extender 的目的中所提到的兩個地理特徵而論,辦公大樓和住宅。在圖 1裡,BRANCHES 表格的每一個橫列代表一個銀行分行。以整體的變異來看,在圖 1的 CUSTOMERS 表格代表一位銀行顧客。然而,每一列的一部份--尤其是包含客戶地址的資料格-- 可被視為代表客戶住宅。
圖 1. 代表地理特徵的表格橫列;表格橫列的地址資料代表地理特徵. BRANCHES 表格裡的資料橫列代表一家銀行分行。CUSTOMERS 表格裡的地址資料格代表客戶住處。兩個表格裡的姓名和地址都是虛構的。
![]() |
在圖 1裡的表格含有定義及說明銀行分行和客戶的資料。這種資料稱為屬性資料。
屬性資料的子集--表示分行及客戶地址的值--可轉換為產生空間資訊的值。例如,如顯示於圖 1, 一家分公司的地址是 92467 Airzone Blvd., San Jose CA 95141。一位客戶的地址是 9 Concourt Circle, San Jose CA 95141。DB2 Spatial Extender 可把這些地址轉換為指出分行及客戶所在與環境相關位置的值。 圖 2以指定包含這些值的新直行來顯示 BRANCHES 和 CUSTOMERS 表格。
圖 2. 有新增空間直欄的表格. 在每一個表格裡,LOCATION 直欄會包含與地址相對應的座標。
![]() |
當地址及類似識別字被用來當作空間資訊的起始點時,稱之為來源資料。 因為從來源資料衍生的值會產生空間資訊,所以這些衍生值被稱為空間資料。 下一節會說明空間資料並介紹它的關聯資料類型。
許多空間資料是由座標組成。座標是一個表示和參照點相對位置的數字。例如,緯度是表示和赤道相對位置的座標。經度是表示和格林威治子午線相對位置的座標。因此,黃石國家公園的位置是以其緯度 (赤道以北 44.45度) 以及經度 (格林威治子午線以西 110.40 度) 來定義。
緯度、經度、它們的參照點及其它相關參數通稱為座標系統。除了緯度和經度之外,以值為基礎的座標系統也會存在。 這些座標系統有自己的測量位置、參照點、以及其它的區分參數。
最簡單的空間資料項目是由兩個座標所組成,定義單一地理特徵位置。 (資料項目佔用關聯式表格資料格的值。) 更大規模的空間資料項目是由數個座標所組成,定義如道路或河川可能形成的線條路徑。第三種是由定義區域周界線的座標所組成;例如,一片土地或泛濫平原的邊緣。這些以及其它類由 DB2 Spatial Extender 所支援的空間資料項目在幾何與相關的空間函數中有更完整的說明。
每一個空間資料項目即是一個空間資料類型的案例。以兩個座標標記位置的資料類型為 ST_Point;以座標定義線條路徑的資料類型為 ST_LineString;以座標定義周長的資料類型為 ST_Polygon。這些類型和其它空間資料的資料類型是屬於單一階層的結構化類型。若要取得階層的概觀,請參閱關於空間資料類型。
您可以取得空間資料的方法:
DB2 Spatial Extender 可從屬性資料取得空間資料,例如地址 (如在以資料代表地理特徵的方法中所提到的)。此程序稱為地理編碼。若要看到包含的順序,視圖 2為"之前"圖片以及視圖 3為"之後"圖片。圖 2顯示 BRANCHES 表格和 CUSTOMERS 表格都有指定給空間資料的空白直欄。假設 DB2 Spatial Extender 在這些表格內地理編碼地址以取得和地址對應的座標,然後把座標放入直欄內。 圖 3會說明結果。
圖 3. 內含空間資料的表格是由來源資料取得. 在 CUSTOMERS 表格裡的 LOCATION 直欄包含由地理編碼程式從 ADDRESS、CITY、STATE、和 ZIP 直欄內的地址所取得的座標。同樣地,在 BRANCHES 表格裡的 LOCATION 直欄包含由地理編碼程式從這個表格的 ADDRESS、CITY、STATE、和 ZIP 直欄內之地址所取得的座標。此範例為虛構的;所顯示的為模擬座標而非實際的座標。
![]() |
DB2 Spatial Extender 使用一個名為地理編碼程式的函數,把屬性資料轉換為空間資料,然後將此空間資料放入表格直欄。若要取得有關地理編碼程式的更多資訊,請參閱關於地理編碼。
空間資料不但可從屬性資料建立也可從其它空間資料建立。例如,假設定義於 BRANCHES 表格內的銀行分行想要知道有多少客戶是位在每一個分行的五英哩範圍之內。在銀行能從資料庫取得此資訊之前,它必須提供有位於每一個分行周圍五英哩半徑內區域定義的資料庫。DB2 Spatial Extender 函數 ST_Buffer 能建立這樣的定義。ST_Buffer 使用每一個分行的座標作為輸入,所以能建立區分所要區域周界線的座標。 圖 4會顯示含有由 ST_Buffer 所提供資訊的 BRANCHES 表格。
圖 4. 含有新建空間資料的表格是從現存的空間資料所取得。. 在 SALES_AREA 直欄內的座標是從 LOCATION 直欄內座標的 ST_Buffer 函數所取得。就像 LOCATION 直欄內的座標一樣,在 SALES_AREA 直欄內的那些座標是模擬的;它們不是實際的座標。
![]() |
除了 ST_Buffer 之外,DB2 Spatial Extender 也提供數個其它可從現存空間資料取得新的空間資料的函數。若要取得 ST_Buffer 以及這些其它函數的說明,請參閱從現存的幾何產生新幾何的函數。
取得空間資料的第三種方法是從 DB2 Spatial Extender 所支援格式的檔案匯入。若要取得這些格式的說明,請參閱空間資料的檔案格式。這些檔案通常包含用於地圖︰人口調查、沖積平原、地震斷層等。 藉由將這些資料搭配您產生的空間資料,可增加參考的地理資訊。 例如,若公共工程部門需要判斷居住的社區容易發生哪些意外事件, 可以使用 ST_Buffer 定義一個包圍社區的區域。 然後,公共工程部門可匯入有關沖積平原與地震斷層的資料,查看與此區域重疊的是哪些問題區域。