肖同發(fā),李平,張貴清,王志強,賈靜,商瀟文
(煙臺海港信息通信有限公司,山東煙臺,264000)
近幾年國家在土地調(diào)查和不動產(chǎn)登記等工作中投入了數(shù)以億計的財力物力,由此也催生了地理信息應用軟件的蓬勃發(fā)展,以ArcGIS、Oracle為底層支持的系列地理信息軟如雨后春筍層出不窮。煙臺海港信息通信有限公司自1998年開始從事地理信息技術的應用推廣工作,2003年被煙臺市科技局認定為煙臺市地理信息工程技術研究中心,近二十年的地理信息軟件從業(yè)歷程,在ArcGIS軟件研發(fā)和Oracle數(shù)據(jù)管理應用方面積累了較豐富的經(jīng)驗,攻克了許多困擾同行業(yè)多年的技術難題。
ArcGIS作為地理信息軟件的后起之秀,地理信息數(shù)據(jù)的存儲管理擁有自己的專用格式,其技術優(yōu)勢在空間數(shù)據(jù)管理。Oracle在企業(yè)信息資源管理中先下手為強,早已在屬性數(shù)據(jù)管理應用的方面一統(tǒng)江山。ArcGIS軟件要挖掘已有的企業(yè)屬性信息,必須解決好與Oracle的互聯(lián)互通問題, 特別是與Oracle存儲業(yè)務屬性數(shù)據(jù)的信息同步問題。
通過ArcCatalog導入Oracle數(shù)據(jù)庫 的ArcGIS數(shù)據(jù)信息,除空間數(shù)據(jù)在Oracle數(shù)據(jù)庫中不能直接實現(xiàn)圖形化顯示外,屬性數(shù)據(jù)可在Oracle自帶的開發(fā)工具TOAD管理軟件中一覽無余,與Oracle原存儲的數(shù)據(jù)并無二致。查詢顯示一切如常。將Oracle數(shù)據(jù)庫中的業(yè)務表信息,建立視圖,同步到Oracle中存儲的地理信息圖層數(shù)據(jù)表,圖層數(shù)據(jù)表在Toad中的查詢顯示同步修改,而在Arcmap中的查詢屬性數(shù)據(jù)表則可能沒有任何改變。所以在Oracle數(shù)據(jù)庫中同步處理的屬性信息在ArcGIS系列軟件中是無法自同步顯示的。
造成這一問題的原因是ArcGIS的多用戶數(shù)據(jù)編輯的保護機制造成的。當多用戶同時維護同一圖層的地理信息數(shù)據(jù)時,每一個用戶的即時更改信息并不是直接存儲在Oracle數(shù)據(jù)庫中的相應的圖層表,而是新建一個與目標圖層字段信息完全一致的新表,在新表上完成數(shù)據(jù)維護,新表和目標圖層通過視圖建立聯(lián)系。而Toad中對圖層屬性數(shù)據(jù)做同步處理時并未同步新表的屬性數(shù)據(jù)。
下面結合我們已在線運行的《煙臺港房地產(chǎn)海域地理信息平臺》的相關圖表,總結說明我們自創(chuàng)的一種利用Toad獨立完成的圖層屬性數(shù)據(jù)維護自同步方法。
建立地理信息數(shù)據(jù)服務器與業(yè)務數(shù)據(jù)(屬性數(shù)據(jù))服務器的鏈接,以實現(xiàn)已有的業(yè)務數(shù)據(jù)對海域圖層的屬性數(shù)據(jù)的更新。
在地理信息數(shù)據(jù)服務器上建立業(yè)務數(shù)據(jù)視圖,以方便對業(yè)務數(shù)據(jù)服務器上海域業(yè)務數(shù)據(jù)信息的查詢。
通過分析地理信息數(shù)據(jù)服務器上生成的海域圖層視圖,確定屬性數(shù)據(jù)維護臨時表。在海域_EVW中通過SQL語句查詢找到如下部分Script語句:
由“FROM SDE.A293 a,”得到a對應的表A293,A293就是臨時屬性數(shù)據(jù)維護表,其表名是隨機產(chǎn)生的,但只要找到語句“FROM SDE.A293 a,” 語句,即可得到所查找的臨時屬性數(shù)據(jù)維護表。如圖1所示。
圖1 查找的臨時屬性數(shù)據(jù)維護表截圖
將視圖X_HY_CARD中數(shù)據(jù)信息替換到表A293,在Oracle數(shù)據(jù)庫中實現(xiàn)海域圖層屬性數(shù)據(jù)的即時更新,Toad查詢結果,如圖2所示。
圖2 Toad查詢結果
arcmap查詢結果,如圖3所示。
圖3 arcmap查詢結果
本文研究總結的在Oracle數(shù)據(jù)庫中實現(xiàn)的ArcGIS屬性數(shù)據(jù)自同步方法,已在煙臺港地理信息平臺得到實際應用。采取該方法后,地理信息圖層屬性數(shù)據(jù)維護擺脫了對ArcGIS客戶端的依賴,程序前臺的ArcGIS for JAVA開發(fā)減少了對屬性數(shù)據(jù)維護的關注,屬性數(shù)據(jù)的更替在后臺Oracle數(shù)據(jù)庫服務器端即可方便完成,極大方便了為地理信息應用軟件的開發(fā)。
[1]何柱國,杜鵑,毛海亞.ArcGIS Server應用與開發(fā)[M].北京:人民郵電出版社,2014,21-38.
[2]李崇貴,陳崢,謝非,等.ArcGIS Engine組件式開發(fā)及應用(第二版)[M].北京:科學出版社,2016.
[3]邱洪剛,張青蓮,陸紹強.ArcGIS Engine開發(fā)從入門到精通.北京:人民郵電出版社,2010,149-169.
[4]賈慶雷,萬慶,邢超.ArcGIS Server開發(fā)指南——基于Flex和.NET.北京:科學出版社,2011.
[5]劉光,唐大仕.Web GIS開發(fā)——ArcGIS Server與.NET.北京:清華大學出版社,2009:123-179.