體驗ArcGIS9.2的歷史庫功能
ESRI公司于2006年11月9日全球同步發布了歷史上重要的軟件版本ArcGIS9.2,在該版本中,主要新增了以下四大功能(ESRI田昌蓮):
- 第一大新功能:非版本編輯功能。多用戶編輯可以在沒有版本的情況下進行;
- 第二大新功能:版本數據復制功能。為分布式數據同步復制提供了便利;
- 第三大新功能:Oracle空間的SQL功能。對Oracle實現的geodatabase的空間sql接口完全支持;
- 第四大新功能:增強的Geodatabase。包括以下幾點:
(1)歷史數據庫功能
(2)對大量的表面數據集有了很在的改變和提高
(3)File-Based Geodatabase,突破了Access文件大小2G的限制,相當于增強的Personal Geodatabase。
上面這些新功能,說實話我都很喜歡,有時間真要一個個都體驗一下啊。廢話少說,我們現在就開始驗一下ArcGIS9.2帶來的歷史庫功能吧。
1、先裝ArcGIS9.2 Desktop 。
注意,要安裝9.2,必須先全部卸載掉以前版本的所有軟件,包括Desktop,ArcGIS Engine,ArcGIS Server等。
2、安裝SDE9.2。
之前的版本的SDE是不支持歷史庫功能的。
如果你有安裝包,沒有授權文件,請到這里:http://www.rzrgm.cn/watsonyin/archive/2007/02/09/646031.html
3、準備數據。這里我導入一個很小的宗地層,用于測試,圖層名稱是sde.sde.zd。
4、注冊版本。打開ArcCatalog,新建一個到默認版本的連接,然后選擇該圖層,點擊右鍵,在彈出菜單中點擊Register As Versioned,這一點與9.1版本中一樣的,只有注冊版本,才能進行下一步創“建歷史庫”
5、創建歷史庫。
在ArcCatalog中選擇該圖層,點擊右鍵,發現其中比9.1多了一項Archiving,包含兩個子菜單,Enable Archiving和Disable Archiving。點擊Enable Archiving,這時系統會自動為該圖層創建一個對應的歷史圖層,歷史圖層的名稱為SDE.SDE.ZD_H。我們在ArcCatalog中并不能看到該圖層,這是因為它作了過濾的緣故。如果用ArcGIS9.1軟件其它機器連接該數據,可以看到該圖層其實與普通圖層沒什么兩樣。
創建好的歷史圖層的數據是原圖層的拷貝,但可以看到多了三個字段:GDB_FROM_DATE,GDB_TO_DATE,GDB_ARCHIVE_OID。看到這三個字段,馬上就明白了其大致思路,前面兩個字段際是指明了圖形對象的存活時間,GDB_FROM_DATE即圖形的創建時間,GDB_TO_DATE是圖形的刪除或修改時間。這與我以前用MO做歷史庫的思路如出一轍啊。圖形的操作可分為增、刪、改三種類型,修改又可以看成是先刪除再新增一個圖形對象,所以所有的操作又可歸為增、刪兩種操作,這就是那兩個字段的由來。至于GDB_ARCHIVE_OID,就不有解釋了吧。
6、啟用歷史編輯選項
在ArcCatalog中,點擊Tools菜單下的Options,在“選項”窗口中,切換到Geoprocessing頁,選中Log geoprocessing operations to as historical model,如下圖所示,這樣我們在編輯圖形時,編輯過程中產生的歷史數據會自動記錄到歷史圖層中。

7、編輯圖形
下面我們可以進行編輯測試了。打開ArcMap,選擇圖層,斷斷續續的作一些編輯操作,以方便后面的體驗。
8、新建一個到歷史數據庫的連接
在ArcCatalog或ArcMap的選擇數據對話框中都可以完成。點擊Add Spatail Database Connection,在新建連接窗口中點擊Change按鈕,會彈出如下窗口:

我們選擇The connection refers to a historical version,并選擇是連接到歷史標記還是指定一個時間點。
9、歷史數據瀏覽
這是我們體驗過程的關鍵方旅~
連接建好了之后,在ArcMap我們用該連接打開數據sde.sde.zd。在ArcMap工具欄上點擊右鍵,點擊Geodabase History,會出現歷史庫工具條,如圖
該工具條有三個按鈕,分別是:
(1)Geodatabase History Viewer:即歷史數據瀏覽工具。
(2)Add Historical Archive:即添加歷史圖層到地圖上。
(3)Historical Marker Manager:即歷史標記管理器。
下面分別介紹這三個工具:
9.1 Add Historical Archive
先在TOC中選中一個圖層,再點擊該工具按鈕,會將選中圖層對應的歷史圖層添加到地圖窗口中。可以看到,歷史圖層包括了編輯過程中產生的所有數據。查看屬性,可以看到它的數據源為sde.SDE.ZD_H,還可以到字段列表中查看新增的字段情況。這人工具的作用并不是很大,因為我們瀏覽歷史數據,并不需要添加歷史圖層,直接對現狀圖層進行操作就可以了。當然,通過編程擴展,歷史圖層可以發揮很大的作用,例如,可以通過屬性過濾,查看某個歷史時段,而不是某個時點內的數據情況。
9.2 Historical Marker Manager

點擊它,會出現以下界面。如果你是用是歷史連接添加數據,這個界面會處于不可用的狀態。

在Historical Date and Time中,可以選擇一個歷史標記,也可以選擇一個具體的時間,點擊Apply按鈕,就可以查看該歷史時點的數據了。其它的我想不用解釋,看一下在不同歷史時點的圖形狀況吧。


(時間:16:22:50 創建圖形A、B)

(時間:16:26:06 刪除圖形A、移動B)
通過這種方式,就可以輕松瀏覽任一歷史時間的數據了。通過編程,我們還可以進行擴展,例如不同歷史時刻的數據對比瀏覽等。
終于在放假之前完成了這篇隨筆,否則,我可能不會寫它了,就像之前一直想寫多線程的文章一樣,到現在也沒寫呀。祝大家開開心心過個好年~
浙公網安備 33010602011771號