本發明涉及地理信息數據處理領域,特別是涉及一種用于GIS的數據處理方法。
背景技術:
地理信息系統(GIS,Geographic Information System)是一種基于計算機的工具,它可以對在地球上存在的東西和發生的事件進行成圖和分析。GIS技術把地圖這種獨特的視覺化效果和地理分析功能與一般的數據庫操作(例如查詢和統計分析等)集成在一起。這種能力使GIS與其他信息系統相區別,從而使其在廣泛的公眾和個人、企事業單位中解釋事件、預測結果、規劃戰略等中具有實用價值。
因此,可以利用GIS平臺在進行各種業務地址上圖的操作,生成各種進行可視化的業務地圖。然而,目前各機構單位系統內的業務系統仍然存在大量的無空間的業務地址,而無空間坐標的地址無法實現在地圖動態展現。
因此,迫切需要解決如何將無空間坐標的業務地址進行智能匹配,從而進行上圖操作。
技術實現要素:
本發明的目的在于克服現有技術的缺點與不足,提供了一種用于GIS的數據處理方法,可以將無空間坐標進行智能匹配,以完成業務上圖操作。
本發明通過以下的方案實現:一種用于GIS的數據處理方法,包括以下步驟:
S1:對數據源進行配置;
S2:對無空間坐標的地址進行匹配;
S3:定時對匹配任務進行調度;
S4:在匹配任務完成后,對匹配的成果進行管理記錄。
進一步,所述步驟S1包括:
S11:根據業務名稱、狀態查詢已經配置好的數據源;
S12:配置新的數據源連接,配置的連接信息包括業務名稱、數據源類型、數據庫連接、數據庫服務名稱、服務器IP、端口、用戶、密碼、是否啟用、備注;
S13:對配置源信息進行修改;
S14:對數據源連接信息進行物理刪除;
S15:測試配置是否正確;
S16:控制啟用連接。
進一步,所述步驟S2包括:
S21:讀取需要進行地址匹配的數據;
S22:對無空間坐標的地址進行匹配;
S23:抽取部分數據進行匹配測試,獲得匹配率。
進一步,所述步驟S21中通過讀取數據庫進行數據讀取,或通過接收文件導入進行數據讀取。
進一步,所述步驟S22中包括:
S221:判斷匹配模式;若進行正向匹配,執行步驟S222;若進行反向匹配,執行步驟S223;
S222:根據業務地址名稱與標準地址的名稱進行匹配;
S223:根據業務地址坐標與標準地址的坐標進行匹配;
S224:進行管理轄區歸屬匹配,用于對業務地址進行空間分析,實現業務地址轄區歸屬分類;
S225:進行行政區劃歸屬匹配,用于對業務地址與標準行政區劃進行空間分析,實現業務地址與標準行政區劃歸屬分類。
進一步,所述步驟S222包括:
S3a:判斷數據類型;若所述數據包含信息點時,則執行步驟S4a;若所述數據具備詳址,則執行步驟S5a;若所述數據不具備信息點和詳址,則執行步驟S6a;
S4a:執行信息點匹配;
S5a:進行詞組拆分,獲得拆分詞組列表,再執行詳址匹配;
S6a:行政區劃補全和標準化字段處理,再執行沒有詳址和信息點的匹配。
進一步,所述步驟S223包括:
S7a:根據地址經緯度坐標和搜索半徑參數,進行信息點搜索,執行下一步;
S8a:判斷半徑范圍內是否有信息點,若有,則返回距離最近的信息點的地址信息;若否,則設置匹配狀態為未匹配到適當地址的結果對象。
進一步,所述步驟S224包括:
S91a:獲取經過匹配后的業務地址坐標;
S92a:獲取管理轄區空間邊界信息;
S93a:通過空間分析管理轄區與業務地址坐標關系。
進一步,所述步驟S3包括:
S31:通過定時掃描配置匹配任務信息,實現匹配任務定時調度;
S32:對匹配任務實現啟動、停用、刷新和執行操作;
S33:對配置任務的每個節點進行編輯;
S34:生成任務調度日志。
進一步,所述步驟S4包括:
S41:通過列表形式顯示匹配的結果;
S42:在地圖上進行定位顯示匹配的結果。
相比于現有技術,本發明可以實現通過業務地址匹配,將匹配率最高的標準地址與業務地址進行關聯,從而實現無空間坐標的業務地址能夠在地圖上展現。
為了更好地理解和實施,下面結合附圖詳細說明本發明。
附圖說明
圖1是本發明的用于GIS的數據處理方法的步驟流程圖。
圖2是本發明的步驟S1的具體步驟流程圖。
圖3是本發明步驟S2的具體步驟流程圖。
圖4是步驟S22具體步驟流程圖。
圖5是步驟S222中具體的步驟流程圖。
圖6是步驟S4a的具體步驟流程圖。
圖7是步驟S5a具體的步驟流程圖。
圖8是步驟S53a中的具體步驟流程圖。
圖9是步驟S6a的具體步驟流程圖。
圖10是步驟S65a的具體的步驟流程圖。
圖11是步驟S223的具體的步驟流程圖。
圖12是步驟S224的具體的步驟流程圖。
圖13是步驟S225的具體的步驟流程圖。
圖14是步驟S3的具體步驟流程圖。
圖15是步驟S4的具體步驟流程圖。
具體實施方式
本發明主要針對當用戶在利用GIS系統制作業務地圖時,各機構單位系統內的業務系統仍然存在大量的無空間的業務地址。由于所采用的并非標準的地址,因此無法直接實現上圖操作。針對這種情況,本發明提供了一種用于GIS的數據處理方法。
以下結合實施例及附圖對本發明作進一步詳細的描述,但本發明的實施方式不限于此。
請參閱圖1,其為本發明的用于GIS的數據處理方法的步驟流程圖。
本發明提供了一種用于GIS的數據處理方法,包括以下步驟:
S1:對數據源進行配置。
進一步請參閱圖2,其為本發明的步驟S1的具體步驟流程圖。所述步驟S1中具體包括:
S11:根據業務名稱、狀態查詢已經配置好的數據源;
S12:配置新的數據源連接,配置的連接信息包括業務名稱、數據源類型、數據庫連接、數據庫服務名稱、服務器IP、端口、用戶、密碼、是否啟用、備注;
S13:對配置源信息進行修改;
S14:對數據源連接信息進行物理刪除;
S15:測試配置是否正確;
S16:控制啟用連接。
S2:對無空間坐標的地址進行匹配。
進一步請參閱圖3,其為本發明步驟S2的具體步驟流程圖。所述步驟S2包括以下步驟:
S21:讀取需要進行地址匹配的數據。具體的,在本步驟中通過讀取數據庫進行數據讀取,或通過接收文件導入進行數據讀取。
具體的,操作用戶在新建匹配任務時,需要指定業務數據源信息。系統支持數據庫與文件導入兩種方式。操作用戶需要指定業務數據源、業務實體、關鍵字段、更新字段等信息以實現業務地址匹配上圖。填寫任務名稱,相應的會生成任務編號作為唯一標識。
其中,在使用數據庫連接時,需要執行以下的配置。
第一、源數據表設置,具體包括:
1、直接選擇已經配置好的數據庫連接信息進行連接數據庫,同時系統也提供了新增配置功能,系統連接所需的信息后,進行數據庫連接,連接成功后進行保存。
2、新增配置界面同數據源管理同樣具有新增與修改功能,連接需要配置的信息包括:業務名稱、數據庫連接、數據庫類型、服務名稱、IP、端口、用戶名、密碼、備注。
3、連接后點擊測試連接,可測試連接是否成功。連接失敗要給出失敗原因提示。
4、數據庫連接成功后,系統自動將該用戶下的所有表全部讀取出來,選擇要連接的用戶表,并可預覽數據源,預覽數據源可選擇預覽前多少行數據。
約束:oracle用戶如果沒有權限讀取表和視圖,應該要給出對應提示。
第二、目標表配置:
1、配置要抽取到的目標表,前端可直接下拉選擇目標表,后臺對目標表進行配置管理。
2、選取目標表后,系統自動將源數據表和目標里所有的字段全部讀取并進行映射,前端展示目標字段的英文和中文,方便用戶選擇。
3、用戶可以手動選擇需要映射的字段,在選擇映射字段的過程中,注意業務數據的唯一標識、地址等字段必須進行抽取,可選擇一個或多個組合。
約束:
1、選擇源數據表和目標表以后,系統默認是自動映射、隱藏已經匹配的源字段、隱藏已經匹配的目標字段已經勾選。
3、映射的字段如果數據結構不一致,要給出相應的提示并以紅字標識映射的字段;
第三、數據源表和目標表的主鍵要標識出來。
第三、關鍵字段設置:配置源數據與目標數據的比對字段和更新時間字段,比對字段是配置數據增量抽取的唯一標識字段,可以實現數據的實時抽取,同步。更新時間字段可以提高數據抽取的效率,即每次抽取時判斷上一次抽取時間后的數據新增或更新。
S22:對無空間坐標的地址進行匹配。
進一步請參閱圖4,其為步驟S22具體步驟流程圖。所述步驟S22中包括:
S221:判斷匹配模式;若進行正向匹配,執行步驟S222;若進行反向匹配,執行步驟S223。
S222:根據業務地址名稱與標準地址的名稱進行匹配。
進一步請參閱圖5,其為步驟S222中具體的步驟流程圖。所述步驟S222具體包括:
S3a:判斷數據類型;若所述數據包含信息點時,則執行步驟S4a;若所述數據具備詳址,則執行步驟S5a;若所述數據不具備信息點和詳址,則執行步驟S6a。
具體的,本發明接收的數據可能并非標準的數據形式。而在本發明中,規定的標準的數據如下表1所述:
表1標準地址層級舉例
本發明需要針對所接收的數據進行判斷,根據不同情況分別進行處理,具體分為三種情況:
1、所述數據包含信息。例如,接收的信息點數據為:“XX村南側大眼山北坡”“長城大道與東內環路交叉口”。
2、所述數據具備詳址。例如,接收詳細地址數據:“廣東省清遠市清城區新城街道新城居委會沿江路20號蘭苑小區1棟3梯502房”。
3、上述兩者都不具備,例如:地址“廣東省清遠市清城區新城街道新城居委會沿江路20號蘭苑小區1棟3梯502房”就具備了省級行政區劃名稱、市級行政區劃名稱、區縣行政區劃名稱、詳址;如果該數據只有“廣東省清遠市清城區新城街道新城居委會”。
S4a:執行信息點匹配。
進一步,請參閱圖6,其為步驟S4a的具體步驟流程圖。所述步驟S4a中具體包括:
S41a:根據信息點名稱,通過solr進行數據查詢。
S42a:判斷是否存在該信息點的標準地址,若是,則執行下一步;若否,則執行S5a。
S43a:獲取該信息點的標準地址信息。這里的標準地址信息,是指標準地址組合模式的地址,實際就是信息點是所附屬的標準地址,比方“廣州市天河區廣園東廣之旅大廈XX室廣XX事務所”這樣的地址描述,“XX事務所”是信息點,其標準地址就是“廣州市天河區廣園東廣之旅大廈XX室”。
S44a:設置行政區劃代碼和名稱。
S45a:設置匹配率,返回匹配結果。這里當查到找對應的信息點,則設置匹配率為100%。
S5a:進行詞組拆分,獲得拆分詞組列表,再執行詳址匹配。具體的,例如將接收的地址“廣東省清遠市清城區新城街道新城居委會沿江路20號蘭苑小區1棟3梯502房”拆分為詞組列表,拆分后的詞組列表如上述表1所示。
進一步,請同時參閱圖7,其為本步驟S5a具體的步驟流程圖。所述步驟S5a中詳址匹配的步驟具體包括:
S51a:解決行政區劃沖突。行政區劃沖突分兩類,主要是因為在錄入地址是采用口語化或者沒有完整輸入,一個順序錯誤,比方廣州市天河區,寫成“天河區廣州市”,二是詞義重復導致一個詞可歸屬多個地址層級,常見與鄉鎮街道、居村委會跟道路名重復,而用戶在輸入的時候,沒有將后綴寫清楚,導致無法從單個詞來判斷其是屬于那個地址層級,需要從其輸入的上下文來判斷地址層級的合理性。
S52a:根據地址擴展對象補全詞組列表。例如:若接收的地址為“清遠市清城區蘭苑小區1棟3梯502房”,則可以根據其前后地址進行補全,將其補全為“廣東省清遠市清城區新城街道新城居委會沿江路20號蘭苑小區1棟3梯502房”。
S53a:重新標準化地址,設置并返回最小級別的行政區劃標準地址。請同時參閱圖8,其為本步驟S53a中的具體步驟流程圖。所述步驟S53a中,具體包括:
S531a:獲取標準地址。常用地址或者口語化,時常沒有說鄉鎮街道辦,居村委等地址層級,這里是指獲取相應地址層級都補全的標準地址。
S532a:根據詞類標準化行政區劃地址,并返回標準地址。
S533a:若不存在或者存在多條結果,查詢上一級地址,直至獲得一條結果。這里的查詢是按地址層級逐級往上查詢,確認其歸屬。
S534a:判斷標準地址是否存在以及是否匹配最近地址,若是匹配最近的地址,若否,執行下一步。具體的,在進行最近地址匹配時,是根據經緯度,計算距離。
S535a:返回得到的標準地址。
S54a:判斷返回的標準地址是否存在;若是,執行步驟S55,若否,則拋出異常處理。
S55a:判斷經緯度坐標是否都為0;若否,則獲得標準地址數據;若是,則往上一級查詢標準地址,并獲得其標準地址數據。在本實施例中,由于部分數據由于未正確采集,所以坐標串為0。
S56a:判斷是否只需要匹配一條記錄;若是,則設置匹配率和返回結果的對象;若否,通過solr查詢,匹配多條結果。
S57a:設置所屬行政區劃代碼和名稱,并返回結果。
S6a:行政區劃補全和標準化字段處理,再執行沒有詳址和信息點的匹配。
進一步,請參閱圖9,其為步驟S6a的具體步驟流程圖。所述步驟S6a中所述行政區劃補全和標準化字段處理的步驟包括:
S61a:拼接組裝查詢地址;
S62a:拆分拼接的地址;
S63a:解決行政區劃沖突;
S64a:執行solr地址查詢,進行字段補全,獲取詞組列表數據。
所述步驟S6a中執行沒有詳址和信息點的匹配的步驟具體包括:
S65a:重新標準化地址,設置并返回最小級別的行政區劃標準地址。進一步請參閱圖10,其為步驟S65a的具體的步驟流程圖。所述S65中具體包括:
S651a:獲取標準地址;
S652a:根據詞類標準化行政區劃地址,并返回標準地址;
S653a:若不存在或者存在多條結果,查詢上一級地址,直至獲得一條結果;
S654a:判斷標準地址是否存在以及是否匹配最近地址,若是,則匹配最近的地址,若否,則直接執行下一步;
S655a:返回得到的標準地址;
S66a:判斷返回的標準地址是否存在,若是,則設置匹配率,獲取最小級別行政區劃的標準地址信息;若否,則拋出異常。
S223:根據業務地址坐標與標準地址的坐標進行匹配。進一步請參閱圖11,其為步驟S223的具體的步驟流程圖。具體的,所述步驟S223中具體包括以下步驟:
S2231:根據地址經緯度坐標和搜索半徑參數,進行信息點搜索。具體的,在進行信息點搜索時,本發明采用solr空間查詢方法搜索緩沖區內距離最近的信息點。
S2232:判斷半徑范圍內是否有信息點,若有,則返回距離最近的信息點的地址信息;若否,則設置匹配狀態為未匹配到適當地址的結果對象。
S224:進行管理轄區歸屬匹配,用于對業務地址進行空間分析,實現業務地址轄區歸屬分類。
具體的,進一步請參閱圖12,其為步驟S224的具體的步驟流程圖。所述步驟S224中具體包括以下步驟:
S2241:獲取經過匹配后的業務地址坐標;
S2242:獲取管理轄區空間邊界信息;
S2243:通過空間分析管理轄區與業務地址坐標關系。若該業務地址在管理轄區的邊界范圍內,則歸屬于這個轄區。
S225:進行行政區劃歸屬匹配,用于對業務地址與標準行政區劃進行空間分析,實現業務地址與標準行政區劃歸屬分類。
具體的,進一步請參閱圖13,其為步驟S225的具體的步驟流程圖。所述步驟S225中具體包括以下步驟:
S2251:獲取經過匹配后的業務地址坐標;
S2252:獲取行政區劃空間邊界信息;
S2253:通過空間分析行政區劃與業務地址坐標關系。若該業務地址在行政區劃的邊界范圍內,則歸屬于這個行政區劃。
S23:抽取部分數據進行匹配測試,獲得匹配率。
具體的,在本步驟中,操作用戶通過連接數據源抽取業務數據,由于部分業務數據存在數據填寫不規范的情況,可能導致匹配率過低,匹配價值不高,所以在數據匹配測試環節系統可以提供抽取業務數據表前100條數據,根據選擇匹配對應字段進行預匹配,如果匹配結果有問題則可以重新調整匹配字段再匹配,查看匹配成果OK后,則進行批量匹配。
其中,在數據匹配測試時,平均匹配率低于80%時,提醒用戶主要有三方面的原因導致:
a)匹配規則設置有誤,建議重新配置后再進行匹配。
b)業務數據較差,建議先進行數據清洗后再進行匹配
c)標準地址庫不全,建議進行完善。
S3:定時對匹配任務進行調度。進一步請參閱圖14,其為步驟S3的具體步驟流程圖。所述步驟S3中,具體包括:
S31:通過定時掃描配置匹配任務信息,實現匹配任務定時調度。在本步驟中,具體的原理如下:
本發明的支持多任務并行,即多個匹配任務可以在同一個時間點觸發,相同數據源的多個任務也可以同時執行。本發明也支持單任務串行運行,即同一個匹配任務在沒有運行完前,不允許此匹配任務重復運行。針對某一任務,如果在定時調度的時間內還沒完成,又再次觸發,則算作另外一個任務。任務運行完成后,通過任務的時間格式計算此任務下次的執行時間,并更新至任務庫。
另外,本發明可以根據任務的下次執行時間定時啟動任務,任務啟動后首先根據配置的數據源信息將遠程服務上的業務數據抽取到云平臺服務端。
S32:對匹配任務實現啟動、停用、刷新和執行操作。
具體的,所述啟用,對已經停用的調度任務進行手動啟用。
所述停用是指把調度任務停用,如果點擊了停用,調度任務將不再進行,除了正在執行的任務剛好被停用,則當前任務進程還在運行,但一旦運行完,將不再執行調度任務。必須先啟用后才能執行匹配任務。
所述刷新,對整個頁面信息進行刷新更新。
所述執行,調度任務在啟用的狀態下,還未開始執行匹配的任務,可以在這個頁面點擊執行按鈕,提前執行此任務進行數據抽取、匹配。
S33:對配置任務的每個節點進行編輯。具體的,如果調度任務還沒開始,在任務編輯中,部分屬性不能進行編輯,包括數據類型、數據庫連接、源數據表、目標表、匹配方式,其他可以修改。
S34:生成任務調度日志。具體的日志內容為:記錄任務的調度開始時間到結束時間的系統運行情況以及異常信息,生成任務調度日志,并對操作失敗的數據進行說明。
S4:在匹配任務完成后,對匹配的成果進行管理記錄。進一步請參閱圖15,其為步驟S4的具體步驟流程圖。
進一步,所述步驟S4包括:
S41:通過列表形式顯示匹配的結果。其中,本發明默認展示全部的匹配結果數據,按照匹配時間分頁展示。
S42:在地圖上進行定位顯示匹配的結果。其中,不同匹配率的數據在地圖上定位時,用不同的圖標標示,并有相關的圖例。
相比于現有技術,本發明可以實現通過業務地址匹配,將匹配率最高的標準地址與業務地址進行關聯,從而實現無空間坐標的業務地址能夠在地圖上展現。
上述實施例為本發明較佳的實施方式,但本發明的實施方式并不受上述實施例的限制,其他的任何未背離本發明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發明的保護范圍之內。