高 紅
廣西自然資源產品質量檢驗中心,廣西 南寧 530023
農村“房地一體”不動產權籍調查成果匯交的材料主要有文檔資料成果、不動產權屬調查成果、不動產權籍測繪成果及數(shù)據(jù)庫成果。其中數(shù)據(jù)庫成果作為登記發(fā)證前的重要數(shù)據(jù),包含基礎地理信息數(shù)據(jù)和不動產要素數(shù)據(jù)兩大類型,成果形式表現(xiàn)為矢量數(shù)據(jù)、屬性數(shù)據(jù)及元數(shù)據(jù)等,為確保數(shù)據(jù)庫成果滿足匯交標準,對匯交前的數(shù)據(jù)進行質檢尤為重要[1]。
傳統(tǒng)的人工檢查方式存在效率低、易漏錯、檢查結果表達不規(guī)范等不足,系統(tǒng)性的質檢軟件可大大提升屬性數(shù)據(jù)完整性、規(guī)范性的檢查效率,同時對矢量數(shù)據(jù)中肉眼無法辨識的拓撲性錯誤可提供精準定位的矢量意見[2-3]。廣西“房地一體”成果體量巨大,檢驗數(shù)據(jù)格式各異,包括mdb 屬性庫、shp 圖形文件、宗地圖、分戶圖、證明材料等附件,且檢驗項較多,包括成果完整性、格式正確性、空間參考、屬性質量、圖形質量、邏輯一致性、附件質量等[4-5]?;诖?,筆者根據(jù)廣西《農房一體不動產登記數(shù)據(jù)匯交包標準》《廣西農村“房地一體”不動產權籍調查技術細則》《廣西壯族自治區(qū)農村“房地一體”不動產權籍調查及數(shù)據(jù)建庫成果檢查驗收辦法》對數(shù)據(jù)庫生產及質檢的要求,開發(fā)了基于ArcGIS的“房地一體”權籍調查數(shù)據(jù)庫質檢系統(tǒng)。
(1)標準化與規(guī)范化。由于“房地一體”數(shù)據(jù)庫成果類型多,字段要求各異,數(shù)據(jù)結構復雜,質檢系統(tǒng)設計遵循標準化、規(guī)范化的檢查原則,按照技術規(guī)定和數(shù)據(jù)庫標準編制質檢方案,形成一套標準化、規(guī)范化的質量檢查和評價軟件。
(2)創(chuàng)新性與先進性。由于生產作業(yè)單位多、使用軟件各異,質檢系統(tǒng)采用與生產數(shù)據(jù)一致的軟件環(huán)境,在其基礎上配置先進、高效實用的系統(tǒng)軟件和應用軟件,使整個平臺能協(xié)調一致地運行。同時,充分考慮其他不動產業(yè)務質檢的需求,為后續(xù)的維護和升級提供了保障。
(3)擴展性與靈活性??紤]到不同系統(tǒng)間數(shù)據(jù)共享的問題,筆者采用相同的操作系統(tǒng)、數(shù)據(jù)庫和應用軟件,來規(guī)避系統(tǒng)間的兼容問題;在設計系統(tǒng)功能時,將各個功能模塊化、參數(shù)化,為用戶提供更多可以自主配置的參數(shù)。
(4)易用性與完整性。系統(tǒng)平臺力求界面簡潔明了,便于用戶操作。
(5)整體性與漸進性。按照平臺的主要工作內容,筆者先做好總體規(guī)劃和設計,搭建好整體框架,然后有計劃進行分期建設,逐步進行擴展。
質檢系統(tǒng)的總體結構設計采用c/s 模式,遵循軟件體系結構的層次化模型。表現(xiàn)層用于用戶界面顯示,接受數(shù)據(jù)輸入,校驗數(shù)據(jù)有效性,向后臺數(shù)據(jù)庫發(fā)請求,接受返回結果;業(yè)務層主要負責對項目的管理、系統(tǒng)設置、成果數(shù)據(jù)的質量檢查和輸出;組件層是系統(tǒng)實現(xiàn)所需要的一些組件信息;數(shù)據(jù)層用于任務方案配置、模板文件、檢查結果等數(shù)據(jù)的存儲;基礎層是系統(tǒng)實現(xiàn)的基礎,是基礎的計算資源、存儲資源、網(wǎng)絡資源的硬件保障。
1.3.1 數(shù)據(jù)庫設計原則
(1)規(guī)范化原則。數(shù)據(jù)庫減少數(shù)據(jù)冗余,節(jié)約存儲空間,減少相應邏輯和物理的I/O 次數(shù),同時加快了增、刪、改的速度。
(2)完整性原則。數(shù)據(jù)庫中數(shù)據(jù)在邏輯上實現(xiàn)一致性、正確性、有效性和相容性上的完整性和功能性。
(3)安全性原則。數(shù)據(jù)庫的一大特點是數(shù)據(jù)共享,因此數(shù)據(jù)庫設計需要考慮安全性問題,數(shù)據(jù)庫的安全性原則可有效防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。
1.3.2 數(shù)據(jù)庫表結構
(1)檢查數(shù)據(jù)對象表。主要用于存儲提交的成果數(shù)據(jù)對象,保存著待檢查數(shù)據(jù)的數(shù)據(jù)名稱、物理路徑、數(shù)據(jù)格式及正則表達式等信息。
(2)數(shù)據(jù)字典表。包含項目名稱、項目內容、項目描述、類型、表達式、備注等字段,用于對項目字典信息的存儲管理。
(3)檢查結果表。用于存儲最終成果數(shù)據(jù)的檢查結果,需要導出的所有檢查結果信息都會存儲在表中。
(4)檢查規(guī)則表。用于存儲項目任務的規(guī)則名稱、規(guī)則參數(shù)、檢查項、算子名稱、算子編號等信息,負責規(guī)則參數(shù)配置信息的管理。
(5)檢查方案表。包含項目名稱、產品名稱、方案名稱、描述信息等字段,負責方案基本信息的存儲管理。
(6)任務信息表。用于在任務創(chuàng)建或修改時存儲任務名稱、檢查方案、檢查數(shù)據(jù)等信息,主要包含字段任務名稱、數(shù)據(jù)路徑、方案編號、備注信息。
(7)系統(tǒng)日志。主要負責對系統(tǒng)運行過程中的一些消息輸出,當系統(tǒng)發(fā)生異常時便于開發(fā)人員查看日志從而對漏洞進行修復。
筆者按照軟件設計先進性等原則,結合項目實際應用需求,設計質檢系統(tǒng)應用的關鍵技術。
“房地一體”項目成果格式多樣,檢查規(guī)定也繁多。為了實現(xiàn)檢查方案的可定制性和檢查參數(shù)的靈活配置,筆者在質檢系統(tǒng)采用基于“規(guī)則”的檢查方式,即通過解析用戶定義的規(guī)則參數(shù),利用反射技術調用相關檢查算子對成果執(zhí)行相應的檢查(見圖1)。
圖1 面向“規(guī)則”的檢驗方法圖
面向“規(guī)則”的質量檢查方法的先進性與優(yōu)點如下。
(1)實現(xiàn)了以算子為接口的檢查功能,包括算子編碼、類別、名稱、參數(shù)列表等屬性和執(zhí)行檢查、意見輸出、日志輸出等。
(2)使用了算子庫結構,每一個算子都是獨立的,即使某一檢查項出現(xiàn)系統(tǒng)問題時,也不影響其他檢查項的進程與結果,系統(tǒng)還可以根據(jù)項目需求按照接口規(guī)范擴展新的檢查算子。
(3)算子信息的具體化所形成的配置信息是執(zhí)行檢查的最小單元,同一算子可對應多種檢查規(guī)則,可減少算子迭代的次數(shù)與時間,有效提升檢查的速度。
(4)通過反射技術實現(xiàn)檢查規(guī)則的創(chuàng)建與執(zhí)行,減少了不同檢查功能模塊之間的耦合性,增強了可擴展的能力。同一算子可定義不同檢查規(guī)則,也可應用于不同項目,達到功能復用的目的,節(jié)省了開發(fā)的時間,提高了開發(fā)的效率。
2.2.1 ORM的作用
ORM 是一種程序技術,用于實現(xiàn)面向對象編程語言里不同類型系統(tǒng)的數(shù)據(jù)之間的轉換。使用ORM 訪問技術承擔業(yè)務邏輯層與數(shù)據(jù)庫層的中間層,通過對象和關系建立映射關系,在應用程序和數(shù)據(jù)庫之間,建立起一個中間層,僅需直接去操作對象,就可以對數(shù)據(jù)庫中的記錄進行增加、刪減、修改和查詢,可忽略數(shù)據(jù)的存放方式。因此,ORM 為業(yè)務邏輯層和數(shù)據(jù)庫建立關系充當橋梁。
2.2.2 ORM的優(yōu)勢
一是提高開發(fā)效率,降低開發(fā)成本;二是簡化代碼,減少漏洞數(shù)量;三是提高性能;四是隔離數(shù)據(jù)源,可以很方便地轉換數(shù)據(jù)庫。
2.2.3 ORM的設計理念
“房地一體”項目涉及的數(shù)據(jù)較多,對數(shù)據(jù)庫的寫入、存儲和讀取的操作頻率高。為簡化讀寫操作,提高查詢效率,質檢系統(tǒng)采用ORM技術來實現(xiàn)對數(shù)據(jù)庫的建設,其本質是將數(shù)據(jù)從一種形式轉換到另一種形式。在信息共享平臺的設計開發(fā)過程中,面向對象程序設計更能接近人的思維活動,利用這種思維進行程序設計,能夠提高編程能力,縮短開發(fā)周期,減少維護成本。
組件式GIS 立足于標準的組件式平臺,采用面向對象技術,支持各個組件之間的靈活重組和功能定制,其標準接口由一系列屬性、方法和事件組成,用戶在進行GIS的二次開發(fā)時,不需要確切知道空間數(shù)據(jù)及其關系的詳盡處理算法,便可根據(jù)自己的需要輕松進行二次開發(fā),定制自己的GIS 軟件。它成功解決了傳統(tǒng)GIS開發(fā)效率低下、系統(tǒng)集成困難和用戶學習耗時長等方面的問題,有效降低了開發(fā)成本,節(jié)省了人力,并使應用程序具有良好的兼容性和擴展性。
從功能結構上來看,ArcEngine 組件可劃分為基礎服務、數(shù)據(jù)存儲表達、地圖表達、開發(fā)者組件層、擴展功能5 個層次?;A服務是所有應用程序都需具有的,由 ArcGIS 核心ArcObjects 構成;數(shù)據(jù)存儲表達各種空間數(shù)據(jù)的存取過程;地圖表達功能為顯示和創(chuàng)建地圖,包括對地圖的標注、渲染等;開發(fā)者組件提供了開發(fā)過程中常用的界面控件,如工具條、圖層控件等;擴展功能是在基本地理信息系統(tǒng)的基礎上提供的一些諸如空間分析、空間建模等高級功能。
筆者以廣西某縣數(shù)據(jù)庫成果檢查為例,按照數(shù)據(jù)庫質檢要求及匯交標準對數(shù)據(jù)進行空間拓撲檢查、數(shù)據(jù)基本檢查、屬性一致性檢查、成果規(guī)范性檢查、邏輯性檢查。
對廣西某縣的一個鄉(xiāng)鎮(zhèn)數(shù)據(jù)進行全自動過機檢查,其數(shù)據(jù)類型主要包括1 個屬性數(shù)據(jù)(.MDB 格式)和2 個矢量數(shù)據(jù)(.SHP 格式),其檢查規(guī)則和檢查記錄一一對應,對無問題的檢查項以消息的形式明確此項檢查無錯誤。
完成檢查后,將檢查結果以數(shù)據(jù)包的形式導出,可在ArcGIS 中看到完整的檢查記錄,其中屬性數(shù)據(jù)的檢查意見以屬性表的形式表達某一屬性表中某一行數(shù)據(jù)的某一列出現(xiàn)了錯誤,并提示正確的屬性值,對矢量數(shù)據(jù)的檢查以點、線、面的矢量形式表達錯誤的位置,并在矢量意見的屬性表中表達檢查意見、檢查規(guī)則、檢查數(shù)據(jù),對成果的檢查出具最終的質檢報告。
對一個鄉(xiāng)鎮(zhèn)約1 萬宗的數(shù)據(jù)庫進行過機檢查,耗時10~12 min,之前人工檢查1 萬宗數(shù)據(jù)庫需2 d 時間,質檢系統(tǒng)節(jié)約了時間成本。
筆者設計研發(fā)了基于ArcGIS的“房地一體”權籍調查數(shù)據(jù)質檢系統(tǒng),以自動化、易操作、高效率、全面性等優(yōu)勢開展數(shù)據(jù)質檢,實現(xiàn)了檢查問題的精準定位,避免了作業(yè)單位修改不到位、反復上交反復修改的情況,一定程度上推動了“房地一體”數(shù)據(jù)匯交的進度,并提升了成果質量。