可視化 DB2 空間數(shù)據(jù)
以下的文章主要向大家講述的是學(xué)習(xí)可視化 DB2 空間數(shù)據(jù),在實際操作中如何在不同平臺上設(shè)置與對ArcExplorer進(jìn)行使用。要顯示的空間可以存儲在 Linux、UNIX 或是 Windows 上一個空間化 DB2 數(shù)據(jù)庫中。
另外還學(xué)習(xí)如何使用 Version 9 提供的空間支持特性訪問存儲在 DB2 for z/OS 上的空間數(shù)據(jù)。
簡介
幾乎每個數(shù)據(jù)庫都包含空間信息。地址信息是其中最突出的代表。其他例子還包括街道,在數(shù)據(jù)庫中,街道不僅可以通過其名稱來表示,還可以通過它在地球上的確切位置來表示。Linestring 就是建模那些對象的一種方式。分公司和客戶居住地的位置可以用點(diǎn)描述。
類似地,州和國家邊界可以用多邊形表示。非地理應(yīng)用程序也可以受益于關(guān)系數(shù)據(jù)庫中的空間數(shù)據(jù)。倉庫和貨架上的產(chǎn)品的位置可以用顯式地建模的地理信息表示。空間距離的計算可以幫助根據(jù)不同的標(biāo)準(zhǔn)***地安排倉庫中產(chǎn)品的位置。
DB2 for Linux, UNIX, and Windows 支持(從 Version 7 開始)使用 DB2 Spatial Extender 產(chǎn)品存儲、管理和檢索數(shù)據(jù)庫中的DB2 空間數(shù)據(jù)。通過這個擴(kuò)展器,可以像對待任何其他關(guān)系數(shù)據(jù)(例如數(shù)字和字符串)一樣,使用專用的數(shù)據(jù)類型為點(diǎn)、線、多邊形等幾何圖原和那些圖原的集合建模。
DB2 Spatial Extender 不僅提供數(shù)據(jù)類型,而且還附帶了很多用于執(zhí)行空間操作的空間函數(shù)和方法。例如,可以確定兩個圖形之間的距離,執(zhí)行空間集合操作,如合并或交叉圖形,獲取一個 linestring 的長度。
DB2 for z/OS 的空間支持提供了幾乎與擴(kuò)展器相同的功能。雖然在內(nèi)部實現(xiàn)上有所差異,但是空間類型和函數(shù)的使用是類似的。主要不同在于 DB2 for Linux, UNIX, and Windows 中的空間函數(shù)通??梢酝ㄟ^方法注釋來調(diào)用(例如 geometry..ST_Buffer(10, 'METER')..ST_AsText())。DB2 for z/OS 還不支持結(jié)構(gòu)化類型和方法(用于實現(xiàn)擴(kuò)展器),因此那個平臺上的空間支持只接受函數(shù)調(diào)用語法(例如 ST_AsText(ST_Buffer(geometry, 10, 'METER')))。
雖然對于很多應(yīng)用程序來說空間計算和比較已經(jīng)足夠,但是有時候?qū)?shù)據(jù)庫中的數(shù)據(jù)可視化還是很有幫助的。表格表示法(用于傳統(tǒng)關(guān)系數(shù)據(jù))并不是最適合使空間信息可訪問的方法。相反,空間數(shù)據(jù)需要呈現(xiàn)地圖。有很多方法可以提取幾何圖形并生成那樣的地圖。
一些商業(yè)工具 -- Geographic Information Systems (GIS) -- 就是專用于顯示和修改空間和非空間數(shù)據(jù)。其他一些系統(tǒng)則通過根據(jù)集合圖形生成靜態(tài)圖像(例如 JPEG 或 TIFF)來提供簡單的界面。之后,這些圖像可以由一個 Web 瀏覽器顯示。
ESRI ArcExplorer 可以從 DB2 Spatial Extender Web 站點(diǎn)下載,它是用 Java™ 實現(xiàn)的。因此,它可以在任何含適當(dāng)?shù)?Java Virtual Machine (JVM) 的平臺上使用。但是,ArcExplorer 附帶了一個特定于 Windows 的安裝例程。這有礙于在其他平臺,例如 Linux 和 AIX® 上部署和使用 ArcExplorer。
下面的小節(jié)描述如何克服這個問題。本文在一個 Linux 系統(tǒng)上設(shè)置一個 ArcExplorer,并訪問存儲在同一個系統(tǒng)上的 DB2 數(shù)據(jù)庫以及 DB2 for z/OS 上維護(hù)的另一個數(shù)據(jù)庫中的空間數(shù)據(jù)。
本文首先解釋如何安裝、啟動和設(shè)置 ArcExplorer。接著,道出訪問存儲在數(shù)據(jù)庫中的數(shù)據(jù)前需要滿足的需求。***,本文就如何有效地使用 ArcExplorer 給出一些指南。所有內(nèi)容都基于 Linux 系統(tǒng)上捕捉的屏幕快照進(jìn)行講解。但是,同樣的步驟也適用于其他系統(tǒng)。
部署 ArcExplorer
ArcExplorer 是用于可視化DB2 空間數(shù)據(jù)的一款輕量級工具。它由 5 個 .jar 文件組成,在下載 小節(jié)中的歸檔文件中可以找到這 5 個文件。您也許會注意到,與 Windows 上的本地安裝相比,您也許會注意到,這種 Windows 上的安裝更為復(fù)雜。在 Windows 上,需要安裝一個完全可以運(yùn)行的產(chǎn)品,其中包括 Java Runtime Environment (JRE)。
如今,幾乎可以斷定每個系統(tǒng)上都已經(jīng)安裝了 Java。因此,可以依賴于已有的 JRE 和 JVM。這樣可以幫助減少安裝鏡像的大小,使之只有 2.5MB -- 而最初的 Windows 安裝大小約為 100MB。與此同時,ArcExplorer 自動得益于對已有 Java 包的更新。
與 JVM 類似,ArcExplorer 安裝目錄中不需要有 db2java.zip 文件的副本。該文件實際上是用于 ArcExplorer 與 DB2 的通信。雖然 README 指示您從 DB2 安裝目錄復(fù)制那個文件,但是更簡單、更好的方法是直接從其原始位置(例如 ~/sqllib/java/db2java.zip)使用該文件。通過在 CLASSPATH 環(huán)境變量中引用該位置,就可以使用那個文件。
總之,運(yùn)行 ESRI ArcExplorer 所需的文件只有 aejava_help.jar、arcims_aej.jar、arcims_sdk.jar、sde_sql3.jar 和 xml.jar。此外,下載小節(jié)還提供了 shell 腳本 arcexplorer,用于設(shè)置 classpath 和同時啟動 JVM 和 ArcExplorer。
下載小節(jié)中還有其他一些文件。文件 aejava.ico 是一個圖像,如果想通過菜單啟動 ArcExplorer,則可以使用它作為菜單中的一個圖標(biāo)。文件 LICENSE 包含 ArcExplorer 附帶的許可,用戶必須遵從該許可。腳本 host.sql 包含一些 SQL 語句,這些語句使用聯(lián)邦建立到一個遠(yuǎn)程 DB2 for z/OS 子系統(tǒng)的連接,并通過昵稱訪問三個含DB2 空間數(shù)據(jù)的遠(yuǎn)程表。***,文件 import.jcl 是一個 JCL 腳本,可以使用它將空間數(shù)據(jù)從 shapefile 導(dǎo)入到 DB2 for z/OS 子系統(tǒng)。shell 腳本 import.sh 則在 DB2 for Linux, UNIX, and Windows 做同樣的事情
【編輯推薦】