畢仁敏,張歡,王明,袁亞雄,艾楠竹
(1.武漢市測繪研究院,湖北 武漢 430022;2.中鐵第四勘察設計院集團有限公司,湖北 武漢 430063)
為保障不動產登記工作順利開展,建成空間參考一致、數據關聯正確、歷史信息完整的不動產登記數據庫[1],武漢市中心城區青山區和武昌區自2018年起開展不動產登記存量數據清理整合工作。清理對象為2016年兩區開展不動產統一登記之前,原國土和房產管理部門形成的各類不動產登記系統數據和歷史檔案,具體包括青山區和武昌區的國有建設用地使用權登記、房屋所有權登記以及土地和房屋抵押、查封登記的業務屬性數據、空間圖形數據和影像檔案數據[2]。
清理整合后的不動產登記存量數據需滿足入庫要求方能入庫,以確保數據庫屬性數據、圖形數據、圖像數據的準確關聯和內容一致,保證數據具有完整性、唯一性和準確性,能滿足不動產統一登記的需求[3]。清理整合后,屬性數據存在屬性字段填寫不規范、值域范圍不符合、必填字段值缺失、表內業務邏輯關聯不一致、表間邏輯關聯不一致等錯誤;空間圖形數據存在自相交、重疊、未封閉等拓撲關系問題[4],因此需要開展數據全面檢查工作。前期投入了大量的人力進行人工檢查,但由于數據量大、檢查項多,傳統的人工檢查耗時費力、事倍功半,還可能導致成果數據被錯誤編輯修改等問題,數據檢查工作出現不斷返工的情況。因此,探索一種準確高效開展數據檢查的技術方法迫在眉睫。
SQL語言在數據庫查詢和修改中應用廣泛,FME在空間圖形和屬性數據處理中功能強大,兩種技術均適用于數據對象的屬性檢查和空間檢查。本文探討了這兩種技術在數據檢查實踐工作中的具體應用,分析了其應用效果和特點,以期為數據檢查工作提供借鑒。
土地登記電子數據和房屋登記電子數據共計180萬條,通過數據清洗分類、查檔補檔、統一編號、數據整合和數據建庫等步驟,形成了屬性信息較完整規范、準確、關聯基本正確的數據成果。屬性數據庫成果表單共計22張,包括宗地基本信息表(ZDJBXX)、自然幢表(ZRZ)、界址線表(JZX)、界址點表(JZD)、戶表(H)等空間屬性信息表,獨立宗建設用地使用權表(JSYDSYQ_DLZ)、共用宗建設用地使用權表(JSYDSYQ_GYZ)、房地產權表(FDCQ2)、抵押權表(DYAQ)、查封登記表(CFDJ)等主表,登記信息表(DJXX)、預告登記表(YGDJ)、權利人表(QLR)、義務人表(YWR)以及發證表(FZ)、歸檔表(GD)、收件表(SJ)、收費表(SF)、申請人表(SQR)、審核表(SH)、繕證表(SZ)、發證表(FZ)等8張業務審批表。其中,登記信息表記錄了房產的登記業務信息,包括房地產、房產查封、房產抵押的登記信息。
屬性數據成果存在的主要問題包括:①值域范圍不符合,字段值不在數據字典表范圍內;②必填字段值為空;③數據缺失或錯誤;④表內業務或表單間邏輯關聯不一致;⑤部分數據需重新生成,如抵押表中抵押原因是“預告商品房合同抵押權設立”或“預購商品房合同抵押權設立”,需單獨形成預告登記表,土地抵押數據需生成義務人信息,由于土地抵押原始數據無義務人信息,因此需根據抵押表中相關信息生成義務人表單;⑥部分數據需踢除,由于超出清理范圍或重復入庫、數據錯誤等原因,一些數據需從成果數據中剔除,需將與該數據關聯的各表單數據信息都剔除干凈。
不動產存量數據清理空間圖形成果主要包括宗地和自然幢圖形。空間數據主要存在宗地壓蓋、自然幢壓蓋、界址點重疊、界址線重疊、界址線與宗地邊界重疊等問題。因此,空間數據檢查主要針對宗地、自然幢、界址點、界址線的拓撲關系進行檢查。
數據檢查的具體步驟為:①在SQL Server數據庫中利用SQL語言對所有屬性數據成果包括空間數據屬性信息進行批量檢查和修改;②根據數據成果按宗地匯交要求,將SQL Server數據庫中的數據按宗地代碼分多個批次導出,屬性數據導出格式為Access,空間圖形數據導出格式為Shape。每個批次的數據量大大減少,方便更全面細致的檢查修改。數據檢查技術路線如圖1所示。

圖1 數據檢查技術路線圖
1)SQL語言。SQL語言是計算機數據庫語言中專用的數據語言,主要用于規模較大的關系型數據庫系統中,也可用于數據量較小的中小型數據庫系統中。SQL語言包括數據定義語言、數據操作語言和數據控制語言[5]3種主要語句。本文數據檢查的第一步就在SQL Server數據庫中進行。SQL語言中的查詢、插入、修改、刪除等數據操作語言滿足了數據檢查和修改的需求,如在SELECT語句中可采用數據字典表檢查值域范圍的符合性,采用NULL檢查字段值為空的情況,采用COUNT檢查數據是否重復,采用計算公式檢查面積相等,采用“<>”或“!=”檢查一致性等。數據檢查后利用UPDATE語句可實現數據修改。
2)FME是加拿大Safe Software公司開發的空間數據轉換處理系統[6],擁有模塊化和可視化編程的特性,同時支持上百種數據格式的讀寫,是一款構建數據與應用之間橋梁的軟件,具有很強的數據轉換處理功能。本文數據檢查需要處理的數據量較大,且包含不同平臺的空間數據和屬性數據,利用FME可以很方便地讀取空間數據,進行空間數據檢查,并形成方便編輯的文本格式的檢查結果。例如,利用AreaOnAreaOverlayer轉換器可進行面壓蓋檢查,利用ListConcatenator轉換器可進行宗地號或自然幢號的關聯,利用Aggregator轉換器可統計壓蓋數量,可通過寫模塊的方式定義輸出結果格式。屬性數據成果包含多個表單,每個表單又有眾多字段,數據檢查項目繁多,類型多樣,利用FME各類模塊可以很方便地進行表單間、字段間的關聯檢查和處理。例如,利用Tester轉換器可進行條件判斷,利用FeatureMerger轉換器可進行條件匹配,利用AttributeManager轉換器可進行屬性信息編輯,利用Counter轉換器可進行數量統計。
屬性數據檢查主要包括值域范圍符合性檢查、必填字段為空檢查和邏輯關聯檢查。
3.1.1 值域范圍符合性檢查
值域范圍符合性檢查,即要求字段值符合數據字典表中的值域要求,不可超出其范圍。例如,查封登記表中查封類型字段值域需符合如表1所示的要求,查封類型以代碼表示,應為1~4,若查封類型為“5”或“查封”,則值域范圍不符合,需更正。

表1 查封類型字典表
根據數據字典表和常見的值域錯誤,本文列舉了值域范圍符合性檢查的必查字段(表2),以全面排查字段值域問題。

表2 值域必查字段
在SELECT語句中利用數據字典表即可進行值域范圍符合性檢查。例如,查封登記表(CFDJ)的查封類型(CFLX)字段值域檢查,其SQL語句為:
select*from CFDJ where CFLX not in(select DatakeyfromDataDictionarywhereType=1)orCFLX is null
3.1.2 必填字段為空檢查
必填字段不允許為空,數據檢查時需對必填字段為空的情況進行排查。由于各表單必填字段較多,本文不再詳細列舉。查封文件和查封文號、權利人證件號和權利人證件類型等成對出現的字段需同時有值,詳細列表如表3所示。

表3 同時有值字段列表
在SELECT語句中利用NULL即可檢查字段值為空的情況。例如,檢查抵押權表(DYAQ)區縣代碼(QXDM)字段為空的情況,其SQL語句為:

3.1.3 邏輯關聯檢查
邏輯關聯檢查(表4)涉及兩個以上的表單或字段,是指數據具有邏輯內容上的關聯關系(如房地關聯)或字段具有邏輯內容或數學上的關聯關系(如字段值相等、其他數學關系)。在SQL Server數據庫中,房地產權、查封登記、抵押權、登記信息表都有唯一標識碼(WYBSM)字段,登記信息、戶、共用宗建設用地使用權表均有戶唯一標識碼(HWYBSM)字段。數據批量檢查修改時主要通過WYBSM字段和HWYBSM字段進行表單間關聯。

表4 邏輯關聯檢查項
在SELECT語句中利用IN檢查房地關聯。例如,檢查有房無地的情況,若FDCQ2表中的數據在JSYDSYQ_GYZ表中未通過關聯字段匹配成功,則表示該數據有房產信息無土地信息,FDCQ2表和DJXX表可通過WYBSM關聯,DJXX表和H表可通過HWYBSM關聯,JSYDSYQ_GYZ表中有HWYBSM字段而沒有WYBSM字段,因此進行有房無地檢查,需借助DJXX表和H表,共涉及4個表單間的關聯。
在SELECT語句中利用COUNT進行數據重復檢查,通過COUNT計算出現次數即可實現重復檢查。
在SELECT語句中利用“<>”或“!=”檢查一致性。例如,房地產權表(FDCQ2)中不動產權證號(BDCQZH)和DJXX表中證書號碼(ZSHM)的一致性檢查,其SQL語句為:
select A.WYBSM,B.HWYBSM,A.BDCQZH,B.ZSHM from FDCQ2 A left join DJXX B on A.WYBSM=B.WYBSM where B.WYBSM is not null and A.BDCQZH<>B.ZSHM
在SELECT語句中利用計算公式檢查面積相等情況。例如,FDCQ2表中建筑面積(JZMJ)等于專有建筑面積(ZYJZMJ)和分攤建筑面積(FTJZMJ)之和的檢查,其SQL語句為:
select*from FDCQ2 where(JZMJ IS NOT NULL AND ZYJZMJ IS NOT NULL AND FTJZMJ IS NOT NULL)AND(ROUND(JZMJ,2)!=ROUND(ZYJZMJ+FTJZMJ,2))
空間數據拓撲關系檢查主要包括宗地壓蓋檢查、自然幢壓蓋檢查、界址點重疊檢查、界址點是否位于界址線端點檢查、界址線重疊相交檢查、界址線與宗地邊界是否重疊檢查。成果數據檢查時,部分數據需重新生成。一些數據由于超出清理范圍或重復入庫、數據錯誤等原因,需從成果數據中剔除。
1)宗地壓蓋檢查。利用AreaOnAreaOverlayer轉換器進行面壓蓋檢查,利用ListConcatenator將壓蓋相關的兩個宗地號關聯,利用Aggregator轉換器對宗地壓蓋數量進行統計,輸出結果形如:宗地420106005003GB00133與420106005003GB00068壓 蓋兩處。自然幢壓蓋檢查原理與宗地壓蓋檢查一致,不再贅述。
2)界址點檢查。界址點重疊檢查利用Coordinate-Extractor轉換器提取坐標點坐標,利用DuplicateFilter轉換器根據坐標和宗地代碼綜合篩選出有重疊的界址點,輸出結果。界址點是否位于界址線端點檢查,利用CoordinateExtractor轉換器提取界址線端點并構建端點圖層,利用SpatialRelator轉換器判斷界址點與端點層點位重合情況,未找到相交點的界址點即不在界址線端點上,輸出檢查結果。
3)界址線檢查。界址線重疊相交檢查,即檢查界址線是否相交于界址點處,利用LineOnLineOverlayer轉換器判斷界址線的相交情況,對輸出的打斷界址線進行聚合,若界址線相交檢查后被打斷即為有線段重疊相交的情況,輸出相交界址線信息。界址線與宗地邊界是否重疊檢查,即檢查宗地邊界線與界址線是否嚴格套合,利用GeometryCoercer轉換器將宗地轉換為線圖層,利用SpatialRelator轉換器判斷界址線是否位于宗地線圖層之上,輸出不套合的界址線結果。
4)預告登記表生成。根據DJYY字段中的“預告商品房合同抵押權設立”或“預購商品房合同抵押權設立”,利用Tester轉換器進行判斷,根據BDCDYH、YWH字段與DJXX表,利用FeatureMerger轉換器進行匹配,獲取YGDJ表所需字段信息,將BDCDYH字段與FDCQ2表進行匹配,獲取有房地產數據的相關字段信息,對字段進行編輯處理后生成YGDJ表。
5)宗地業務表數據剔除。若宗地的權利人和8張業務表信息都已入庫,無需重復入庫時,則從成果數據中剔除。根據YWH字段,利用FeatureMerger轉換器匹配宗地與QLR表和8張業務表,寫模塊輸出未匹配的數據即可得到剔除后成果數據中的QLR表和8張業務表。
SQL語言實現了對所有屬性數據的檢查,每項檢查內容反饋的錯誤記錄數量會不一樣。值域范圍符合性和必填字段為空,均可利用UPDATE語句進行修改;邏輯關聯錯誤,部分可利用UPDATE語句進行修改,如房地關聯檢查中有房無地的情況,可批量添加備注信息,部分則需人工查檔修改,如房產面積的修改。
檢查結果包括錯誤數量和內容,如檢查房地產權表(FDCQ2)的建筑面積(JZMJ)等于專有建筑面積(ZYJZMJ)和分攤建筑面積(FTJZMJ)之和(圖2),共有6 938條記錄錯誤,紅框部分為存在錯誤記錄的面積字段。SQL語言檢查時存在一個弊端,檢查結果頁面不可直接修改編輯,需另寫修改語句或返回至數據表單人工修改。

圖2 FDCQ2的JZMJ等于ZYJZMJ和FTJZMJ之和的檢查結果
SQL語言檢查具有以下特點:①SQL語言簡單靈活,句式可套用;②同一類錯誤的句式結構一樣,只需替換表單名稱和字段名稱即可;③可用多條SQL語句同時檢查多條錯誤,檢查結果頁面顯示為結果1、結果2、結果3等;④檢查結果中需呈現的字段,可在語句中進行限定。
FME實現了對所有空間數據拓撲關系的檢查,針對每一類問題的檢查程序都是固定的,可重復使用。FME除完成空間數據的檢查外,在屬性數據較復雜的處理上也發揮了重要作用。FME檢查具有以下特點:①FME可實現不同數據格式間的轉換,適合空間數據檢查,檢查結果輸出格式可自行定義,檢查結果可直接利用,無需編輯修改;②FME轉換器多樣,轉換器組合運用可實現較復雜的功能,適合對多條數據和表單進行處理;③FME可視化強,界面呈現更直觀、完整,可直接利用轉換器對檢查結果進行編輯修改得到成果數據,甚至數據檢查和修改可一步完成,如數據重復檢查時,DuplicateFilter轉換器可輸出去重后的數據,再利用寫模塊寫出成果數據即可。
本文介紹了武漢市不動產登記存量數據的基本情況、數據檢查技術路線和關鍵技術,梳理了數據檢查內容,闡述了SQL語言和FME在數據檢查中的具體應用,并討論了兩種技術在數據檢查中的特點和效果。結果表明,采用SQL語言和FME檢查是一種高效、可行、便捷的方法,通過自動化處理的手段切實提高了檢查效率,極大減少了檢查人員的工作量。在數字檔案清理整合研究中,對詳細技術應用的探討較少,多為整合方案和技術路線的研究,本文基于工作實踐對SQL語言和FME在數據檢查中的具體應用進行了闡述,可促進數據檢查實踐工作中對技術應用的思考和選擇利用,對實踐工作具有借鑒意義。
數據檢查工作還有很多方便實用的技術,如基于GeoGloble[7]、AE[8]等相關平臺開發的數據質量檢查軟件。本文對技術的探討還不夠深入,相關技術在數據檢查中的應用也未形成統一的體系,這是本文存在的一個局限,也是今后研究和實踐工作改進的方向。