ArcSDE 的介紹和使用

2021-09-10 17:26:44 字數 1918 閱讀 1268

sde是arcgiser需要掌握的技術,它作為空間資料庫管理的乙個中介軟體,目前還在不斷發展中,雖然傳統的rdbms也在開發自己的空間引擎,比如oracle spatial,但是,sde還是比較好用的。

在這篇文章介紹如何在oracle 12c配置sde:建立sde企業級資料庫——在 oracle 中配置 extproc 以訪問 st_geometry

sde的全稱是spatial database engine(空間資料引擎),所有的空間資料io都需要通過它來管理。它屬於中介軟體,位於客戶端和資料庫之間,其本身並不能夠儲存空間資料,它的作用是將資料庫中的物件(表、檢視等)抽象成上層gis應用可以認識的概念,例如feature、feature class等。

arcsde把空間資料物件統稱為資料檔案庫(repository)。以基於oracle資料庫的arcsde為例,資料檔案庫包含sde使用者下的資料字典表、儲存過程、以及數個.dll檔案。資料字典表,用以儲存要素類、要素類欄位、要素類投影、要素類範圍等元資料資訊,而儲存過程和.dll用於實現對空間資料的gis運算和操作,例如用於計算polygon周長的方法。

很早之前,向量空間資料在資料庫裡表現為乙個blob欄位。以blob欄位的形式儲存,雖然解決了儲存的問題,但卻沒能很好地利用rdbms的能力。例如,它不能用sql操非常便捷地處理空間資料(處理blob需要反序列化)。

為了更好地利用rdbms的資源,從arcsde 9.2開始,esri提供了乙個結構化的資料型別——st_geometry。由於資料是結構化的,支援進行各種sql操作(例如更新)。

2.1 三層模型

在arcsde8.1之前,通過arcsde連線資料庫是一種三層模型,三層模型即arcsde服務連線。

當使用arcsde服務連線時,需要在arcsde server安裝rdbms client software。在此種連線模式下,客戶端通過sde服務訪問資料表後,arcsde server伺服器端完成對資料的各種操作,再把操作結果返回客戶端。

arcsde並不能夠儲存空間資料,資料都是儲存在rdbms(關係型資料庫)(實際上並不限於rdbms,arcsde也支援非關係型資料庫和hadoop)中。

從8.1之後,arcsde提供了兩種資料聯結架構,即兩層和三層模型,並一直推薦使用二層模型。兩層模型即直連二層模式即直連模式,arcsde直連驅動和arcsde服務採用相同的**構建。不同的是,arcsde直連驅動是一系列動態鏈結庫dll,安裝和執行於客戶端應用程式的程序空間內;而arcsde服務是可執行程式,執行於伺服器端。

當使用arcsde直連時,需要在客戶端安裝rdbms client software。在此種連線模式下,通過sde訪問資料表後,將在客戶端本地完成對資料的各種操作(像空間分析,編輯等)。

2.3 兩種連線模式對比

直連與服務連線下比,優勢表現在:

直連方式較服務連線方式解除安裝了20%-40%的負載

直連方式降低了伺服器端記憶體的需求

直連速度更快

直連配置支援failover,而服務連線不支援rac架構

不需要安裝sde服務,也不需要維護sde服務

實施部署方便,切換環境只需將工具與oracle客戶端打包即可

使用作業系統認證方式連線到資料庫,必須使用直連

劣勢表現在:

對客戶端配置要求高

所有的客戶端都必須安裝oracle客戶端(或其它資料庫連線驅動程式)

資料庫客戶端必須是32位

自esri提供直連方式後,esri一直推薦使用直連方式。

ArcSDE安裝介紹系列二

安裝前的準備 因為arcsde是中介軟體,所以作業系統型別 位數 資料庫型別 版本 位數都與arcsde的版本有很大關係,在使用者安裝之前必須需要首先在官網檢視自己的軟體情況是否相容。arcsde9的參考 arcsde10的參考 這裡需要給大家提醒一下有乙個配置是需要大家注意的,因為截至到2010年...

ArcSDE安裝介紹系列五

oracle雙機熱備 本來上面截圖是ppt的,可以動態演示一下,雙機熱備也就是ha,主機高可用性,乙個執行例項,乙個空例項,任何時候只有乙個例項在執行,如果主機例項宕掉後,經過數秒時間等待,備機會自動啟動,有乙個作業系統的cluster軟體來控制,這裡面關鍵一點,兩者都共享磁碟,資料都在共享磁碟中儲...

ArcSDE中A表和D表

空間資料首先應該在資料庫中登錄檔中註冊乙個tableid 登錄檔為sde.table registry,sde表空間下的表sde.table registry 得到registration id,然後在登錄檔的表空間下有a表和d表,新增的記錄就在a表中,而刪除的記錄就在d表中,而在資料重新讀取時,會...