地址、街道 (LineString)、分公司/客戶位置、州國邊界、倉庫貨架座標……DB2 Spatial Extender (V7+) 提供專用空間型別 (點、線、多邊形、集合) 與百餘空間函數 (距離、交集、緩衝區、長度),讓關係資料庫原生支援 GIS 應用。
~/sqllib/java/db2java.zip (CLASSPATH) 即可連接 DB2。/usr/local/arcexplorer)。cd /usr/local/arcexplorer && ./arcexplorer。
# 建立並啟用空間資料庫
db2 create database spatial
db2se enable_db spatial
# 匯入 Shapefile (以 sjMainStreets 為例)
db2se import_shape spatial -fileName sjMainStreets -srsName NAD83_SRS_1 \
-tableName MAIN_STREETS -createTableFlag 1 -spatialColumn SHAPE \
-idColumn SE_ROW_ID -commitScope 1000 -client 1
# 註冊空間欄位 (供 ArcExplorer 識別)
db2se register_spatial_column spatial -tableName MAIN_STREETS \
-columnName SHAPE -srsName NAD83_SRS_1
關鍵:ArcExplorer 要求表含 SE_ROW_ID INTEGER 唯一識別欄,且空間欄位需註冊 SRS (空間參考系統)。
z/OS 空間資料無法直接被 ArcExplorer 存取 (需 DB2 LUW 目錄視圖與方法調用語法)。解決方案:聯邦伺服器。

MAIN_STREETS_VIEW (呼叫 ST_AsBinary 轉 WKB) → Nickname → 視圖 MAIN_STREETS_HOST (呼叫 ST_MultiLineString 還原幾何) → 註冊空間欄位。

ArcExplorer Query Builder 過濾預設在客戶端記憶體執行 (全量拉取後過濾),大數據集嚴重拖慢效能。解決:建立含過濾條件的視圖並註冊為新圖層。
# 建立視圖:僅保留 HOUSHO_29 = 6 的普查區塊
db2 "CREATE VIEW CENSUS_BLOCKS_6 AS
SELECT * FROM CENSUS_BLOCKS WHERE HOUSHO_29 = 6"
db2se register_spatial_column spatial -tableName CENSUS_BLOCKS_6 \
-columnName SHAPE -srsName NAD83_SRS_1
刷新連接 → 新增 CENSUS_BLOCKS_6 圖層 → 渲染結果相同,但 SQL 謂詞下推至 DB2,利用索引快速定位,大幅降低網路傳輸與客戶端記憶體壓力 (圖 8)。

CREATE INDEX ... EXTEND USING db2gse.spatial_index)。結合 DB2 Spatial Extender、聯邦技術與 ArcExplorer,即可在零程式碼、跨平台環境下實現企業級空間資料視覺化。資料庫端謂詞下推進一步保障大規模資料集的互動效能,讓 GIS 分析真正融入關係資料庫生態系統。