首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

在 Oracle XE 中打造 Google Earth 空間資料視覺化介面

     編輯:Oracle 資料庫基礎

空間資料基礎:經緯度與幾何類型

  • 緯度:赤道 0°,南北極 ±90°,一度約 69 英哩。
  • 經度:本初子午線 (格林威治) 0°,東西各 180°,赤道一度約 69 英哩,極點收斂為 0。
  • 十進制度數:便於計算,如 Oracle 總部 37.529526, -122.263969。
  • 精度建議:建築物標記小數點後 4 位 (約 11 公尺) 即足夠。

三種空間幾何

類型說明應用
Point單一經緯度客戶地址、資產位置
LineString有序點序列道路、河流、配送路徑
Polygon首尾相連線段圍成區域銷售區域、行政邊界

Oracle XE + Locator 空間能力

  • XE 內建 Locator (Spatial 子集),支援 SDO_GEOMETRY 型別、空間索引、距離/鄰近/相交運算子。
  • 簡單需求可直接用 NUMBER(9,6) 儲存經緯度;進階分析改用 SDO_GEOMETRY。

安裝與遠程存取技巧 (Linux)

  1. RPM 安裝:rpm -ivh oracle-xe-10.2.0.1-1.0.i386.rpm,若 swap 不足建立 swapfile。
  2. Web 管理介面預設僅本地存取,遠程可用 SSH SOCKS 代理:
    ssh -D1080 user@server
    # 瀏覽器設定 SOCKS v4 127.0.0.1:1080,No proxy for 127.0.0.1

地址地理編碼流程 (PHP + Geocoder.us)

  1. 建表 address(name, address1, city, state, zip, latitude, longitude)。
  2. 呼叫 Geocoder.us CSV API:https://rpc.geocoder.us/service/csv?address=... 取得經緯度。
  3. PHP 腳本批次更新資料庫經緯度欄位。

產生 KML 供 Google Earth 顯示

<kml xmlns="https://earth.google.com/kml/2.0">
  <Folder>
    <Placemark>
      <name>Oracle HQ</name>
      <description>500 Oracle Parkway, Redwood Shores, CA</description>
      <Point><coordinates>-122.263969,37.529526,0</coordinates></Point>
    </Placemark>
    ...
  </Folder>
</kml>

PHP 動態查詢資料庫輸出 KML,另存 .kml 或 .kmz (gzip 壓縮) 供 Google Earth 開啟。

進階應用

  • LookAt 定義視角 (傾斜、方位、範圍),打造導覽體驗。
  • Style/Icon 自訂標記圖示。
  • description 內嵌 HTML/URL,連結 CRM 客戶詳情頁。
  • 結合 Google SketchUp 匯入 3D 模型。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved