国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Python 的地理國(guó)情監(jiān)測(cè)成果質(zhì)量檢查軟件設(shè)計(jì)與實(shí)現(xiàn)

2023-02-05 13:57:18林養(yǎng)欽
經(jīng)緯天地 2023年6期
關(guān)鍵詞:國(guó)情監(jiān)測(cè)數(shù)據(jù)要素

林養(yǎng)欽

(廣東省地質(zhì)局第七地質(zhì)大隊(duì),廣東惠州 516300)

0 引言

作為一項(xiàng)對(duì)國(guó)情國(guó)力進(jìn)行準(zhǔn)確調(diào)查、把握國(guó)土資源利用情況的基礎(chǔ)性監(jiān)測(cè)工作,全國(guó)基礎(chǔ)性地理國(guó)情監(jiān)測(cè)項(xiàng)目對(duì)于促進(jìn)產(chǎn)業(yè)發(fā)展與科技創(chuàng)新、實(shí)現(xiàn)地理信息轉(zhuǎn)型發(fā)展具有重要意義。地理國(guó)情監(jiān)測(cè)項(xiàng)目的監(jiān)測(cè)周期為1 年,整個(gè)項(xiàng)目的數(shù)據(jù)生產(chǎn)時(shí)間主要集中在7 月到11 月,時(shí)間節(jié)點(diǎn)為每年的6 月底[1]。該項(xiàng)目主要包括4 大部分,分別為正射影像處理、監(jiān)測(cè)數(shù)據(jù)生產(chǎn)、監(jiān)測(cè)成果的檢查與驗(yàn)收以及監(jiān)測(cè)成果入庫(kù)。項(xiàng)目中的主要工作在于數(shù)據(jù)生產(chǎn),僅有一個(gè)月左右時(shí)間進(jìn)行項(xiàng)目質(zhì)檢,因此,增強(qiáng)項(xiàng)目成果質(zhì)量檢查更新錯(cuò)誤的針對(duì)性、加快檢查進(jìn)度、提高檢查正確率對(duì)于項(xiàng)目的高效、高質(zhì)量完成具有重要意義。

基礎(chǔ)性地理國(guó)情監(jiān)測(cè)數(shù)據(jù)生產(chǎn)主要使用ArcGIS 軟件,數(shù)據(jù)生產(chǎn)及質(zhì)量檢查過程中必然會(huì)涉及多種重復(fù)性工作,因此,研究基于ArcGIS 平臺(tái)的地理國(guó)情監(jiān)測(cè)數(shù)據(jù)批量化處理輔助工具對(duì)于提高數(shù)據(jù)生產(chǎn)質(zhì)量及效率、節(jié)約項(xiàng)目成本具有重要作用。作為一種高級(jí)程序設(shè)計(jì)語言,Python 語言憑借其擴(kuò)展性強(qiáng)、簡(jiǎn)潔明了等多種優(yōu)點(diǎn)成為備受青睞的程序語言?;赑ython 語言的ArcGIS 腳本可以大大提高地理國(guó)情監(jiān)測(cè)數(shù)據(jù)處理效率,實(shí)現(xiàn)數(shù)據(jù)處理高效自動(dòng)化。

作為基于ArcGIS 功能構(gòu)建的站點(diǎn)包,ArcPy 為用戶提供了地理數(shù)據(jù)處理工具的接口,該站點(diǎn)包封裝了強(qiáng)大的類及相關(guān)函數(shù),通過Python 語言調(diào)用該站點(diǎn)包的類與相關(guān)函數(shù)實(shí)現(xiàn)地理數(shù)據(jù)的自動(dòng)化處理,包括數(shù)據(jù)分析、數(shù)據(jù)轉(zhuǎn)換以及數(shù)據(jù)管理等[2-3]。目前基于ArcPy 的腳本工具與地理國(guó)情監(jiān)測(cè)數(shù)據(jù)的結(jié)合多用于數(shù)據(jù)提取批處理、數(shù)據(jù)裁切等,對(duì)于空間參考信息、拓?fù)潢P(guān)系、屬性結(jié)構(gòu)信息等方面的檢查功能較少?;诖?,本文通過最新ArcPy 站點(diǎn)包結(jié)合地理國(guó)情監(jiān)測(cè)數(shù)據(jù)進(jìn)行代碼編寫,實(shí)現(xiàn)地理國(guó)情監(jiān)測(cè)數(shù)據(jù)成果數(shù)據(jù)檢查效率的提升。

1 Python語言和ArcPy技術(shù)

作為ArcGIS 地理信息系統(tǒng)平臺(tái)所用腳本語言,Python 語言的主要特點(diǎn)包括[4-5]:

1)Python 語言的開源與免費(fèi)功能可以為ArcGIS 軟件的進(jìn)一步開發(fā)提供便捷;

2)Python 語言具有的面向?qū)ο缶幊烫卣?,符合ArcGIS 的編程要求;

3)ArcGIS 所支持的各類操作系統(tǒng)均可使用Python 語言進(jìn)行改動(dòng);

4)Python 語言適合各專業(yè)人員學(xué)習(xí),專業(yè)要求性低,通過系統(tǒng)學(xué)習(xí)就可用于解決本行業(yè)實(shí)際問題;

5)作為一種解釋性語言,Python 語言具有較高的移植性,成為ArcGIS 腳本語言后,其功能得到了進(jìn)一步地升級(jí)與增強(qiáng)。

ArcPy 是ArcGIS 中的一個(gè)站點(diǎn)包,其封裝了ArcGIS 大部分的功能,Python 可以通過該站點(diǎn)包實(shí)現(xiàn)ArcGIS 地理處理功能的訪問,包括地理數(shù)據(jù)分析、數(shù)據(jù)管理以及自動(dòng)化創(chuàng)建地圖等功能[6]。ArcPy包括4 大模塊,如圖1 所示。1)ArcPy.da 模塊,用于提供數(shù)據(jù)訪問函數(shù)等;2)ArcPy.na 模塊,用于提供網(wǎng)絡(luò)分析函數(shù)等;3)ArcPy.sa 模塊,用于提供地理空間分析函數(shù)等;4)ArcPy.mapping 模塊,用于提供制圖等相關(guān)函數(shù)。

圖1 ArcPy 四大模塊

2 地理國(guó)情監(jiān)測(cè)成果主要檢查內(nèi)容

地理國(guó)情監(jiān)測(cè)主要包括3 種數(shù)據(jù)成果,分別為地理國(guó)情監(jiān)測(cè)生產(chǎn)元數(shù)據(jù)成果、地表覆蓋分類數(shù)據(jù)、地理國(guó)情要素?cái)?shù)據(jù)成果[7]。這3 種數(shù)據(jù)成果的檢查內(nèi)容均包括數(shù)據(jù)完整性、表征質(zhì)量、要素類型、空間參考系統(tǒng)、拓?fù)潢P(guān)系、屬性結(jié)構(gòu)等[8]。為了最大限度減少人工工作量,同時(shí)保證數(shù)據(jù)檢查的正確性,可以使用ArcGIS 結(jié)合Python 語言實(shí)現(xiàn)如要素類型、空間參考系、拓?fù)潢P(guān)系、屬性結(jié)構(gòu)這幾類檢查內(nèi)容的檢查。使用Python 語言完成檢查后,輔以必要的人工檢查發(fā)現(xiàn)數(shù)據(jù)內(nèi)在錯(cuò)誤,提高問題的檢查效率以及發(fā)現(xiàn)率。

2.1 要素類型和空間參考系檢查

通過ArcPy.da 函數(shù)可以獲取多種文件的路徑、數(shù)據(jù)類型等屬性,同時(shí)能夠獲取數(shù)據(jù)的要素類型以及空間參考系等,實(shí)現(xiàn)對(duì)要素類型以及空間參考系的檢查。

2.2 要素拓?fù)錂z查

要素拓?fù)潢P(guān)系檢查主要包括閉合、連續(xù)、連接、重復(fù)等關(guān)系檢查,也就是對(duì)線線、線面、面面之間的聯(lián)系加以檢查[9]。地理國(guó)情監(jiān)測(cè)數(shù)據(jù)中對(duì)于要素共線誤差的要求是小于0.5 m,對(duì)于要素面重疊、面裂隙誤差的要求同樣是小于0.5 m[10]。

對(duì)于水系要素而言,拓?fù)潢P(guān)系錯(cuò)誤主要集中在2 個(gè)方面,1)數(shù)條河道流入同一河流時(shí),上下游結(jié)構(gòu)線沒有在同一點(diǎn)相交;2)沒有打斷結(jié)構(gòu)線連通位置。對(duì)于道路要素而言,拓?fù)潢P(guān)系錯(cuò)誤主要集中在4 個(gè)方面:1)沒有共線處理市政道路與普通道路的重復(fù)路段;2)錯(cuò)誤打斷市政道路與普通公路的重復(fù)采集位置;3)錯(cuò)誤打斷立體交接位置;4)沒有打斷路面交接連通位置。在地理單元方面,拓?fù)潢P(guān)系錯(cuò)誤主要表現(xiàn)在面的縫隙與交叉。同時(shí)在進(jìn)行接邊時(shí),作業(yè)人員往往只關(guān)注水系、道路要素接邊,對(duì)于地理單元的接邊檢查較容易忽略。

針對(duì)地理國(guó)情監(jiān)測(cè)數(shù)據(jù)制定特有的拓?fù)錂z查數(shù)據(jù)集,監(jiān)測(cè)數(shù)據(jù)要素拓?fù)潢P(guān)系檢查包括7 個(gè)步驟:1)數(shù)據(jù)集創(chuàng)建;2)數(shù)據(jù)導(dǎo)入;3)拓?fù)鋭?chuàng)建;4)要素類添加;5)拓?fù)湟?guī)則添加;6)拓?fù)潋?yàn)證;7)導(dǎo)出檢查結(jié)果。

上述代碼實(shí)現(xiàn)要素拓?fù)錂z查的主要思路為首先創(chuàng)建拓?fù)湟?guī)則,然后根據(jù)對(duì)添加的監(jiān)測(cè)數(shù)據(jù)進(jìn)行壓蓋、重疊、閉合、打斷等檢查。

2.3 要素屬性檢查

在進(jìn)行內(nèi)業(yè)數(shù)據(jù)編繪時(shí)進(jìn)行屬性的修改與賦值,通常在進(jìn)行屬性賦值時(shí)由于人為或者軟件漏洞會(huì)造成屬性賦值錯(cuò)誤,并且該類錯(cuò)誤的范圍較大、普遍性較高。一般的要素屬性錯(cuò)誤主要有枚舉賦值錯(cuò)誤、圖斑類型錯(cuò)誤以及對(duì)象屬性與實(shí)際情況偏差。

2.3.1 枚舉賦值錯(cuò)誤

地理國(guó)情監(jiān)測(cè)數(shù)據(jù)中的部分枚舉字段可通過軟件或人工賦值,如地理國(guó)情監(jiān)測(cè)中“變化類型”字段通常會(huì)隨著年度監(jiān)測(cè)發(fā)生變化,根據(jù)不同的變化類型對(duì)該字段進(jìn)行賦值,如“0”表示“伸縮”、“1”表示“新生”、“2”表示“糾錯(cuò)”。在生產(chǎn)過程中,由于理解偏差、軟件沒有經(jīng)過測(cè)試就使用會(huì)造成“要素唯一標(biāo)識(shí)碼”“變化類型”等枚舉值錯(cuò)誤。

2.3.2 圖斑類型錯(cuò)誤

如果地理國(guó)情監(jiān)測(cè)數(shù)據(jù)出現(xiàn)大面積圖斑更新錯(cuò)誤,就會(huì)造成數(shù)據(jù)成果不合格,重新進(jìn)行數(shù)據(jù)查改以及上交會(huì)造成項(xiàng)目成本增加。圖斑的大面積錯(cuò)誤主要由以下3 個(gè)原因?qū)е拢?)沒有按照外業(yè)調(diào)查成果進(jìn)行內(nèi)業(yè)圖斑分類代碼更新;2)兩期影像對(duì)比不明顯,沒有通過外業(yè)調(diào)查的方式對(duì)內(nèi)業(yè)不能明確圖斑分類的情況進(jìn)行核實(shí);3)錯(cuò)誤進(jìn)行的圖斑合并或切割造成的變化圖斑的錯(cuò)誤更新[11]。

3 質(zhì)量檢查應(yīng)用實(shí)例

利用Python 語言以及地理國(guó)情監(jiān)測(cè)數(shù)據(jù)之間的相互關(guān)系對(duì)數(shù)據(jù)更新錯(cuò)誤進(jìn)行檢查與核實(shí),通過對(duì)錯(cuò)誤信息進(jìn)行定位實(shí)現(xiàn)錯(cuò)誤信息自動(dòng)提取,形成錯(cuò)誤定位文件。本文以地理國(guó)情監(jiān)測(cè)數(shù)據(jù)中道路中心線與地表覆蓋數(shù)據(jù)中建筑物面之間的錯(cuò)誤拓?fù)潢P(guān)系為例進(jìn)行說明。

3.1 設(shè)計(jì)思路

本案例是實(shí)現(xiàn)線要素與面要素相切、相交區(qū)域的提取,實(shí)現(xiàn)流程如圖2 所示。

圖2 線要素與面要素相切、相交區(qū)域提取

具體實(shí)現(xiàn)步驟為:

1)確定腳本執(zhí)行的工作空間,在此空間內(nèi)可進(jìn)行讀取、查詢以及處理數(shù)據(jù)等工作;

2)線要素?cái)?shù)據(jù)合并,將線狀橋梁要素、線狀河流要素以及線狀道路數(shù)據(jù)等進(jìn)行合并,并丟棄不必要屬性字段,使用的是ArcGIS 自帶合并要素功能;

3)通過按位置要素選取工具將與線要素相切、相交的地表覆蓋圖斑確定為一個(gè)臨時(shí)面要素層;

4)通過按要素屬性選擇工具將臨時(shí)面狀要素圖層中分類為非房屋的要素圖層丟棄,保留房屋類面狀要素選擇集;

5)使用“Intersect”工具對(duì)合并后的線狀要素與房屋類面狀要素進(jìn)行相交處理,將錯(cuò)誤區(qū)域線狀要素以預(yù)定格式進(jìn)行儲(chǔ)存與輸出。

3.2 關(guān)鍵步驟與函數(shù)

ArcGIS 工具箱中的大多數(shù)功能均可通過ArcPy相應(yīng)的功能函數(shù)實(shí)現(xiàn),利用Python 語言對(duì)ArcPy 相應(yīng)功能函數(shù)進(jìn)行調(diào)用以及組合,可以滿足大部分地理國(guó)情監(jiān)測(cè)成果質(zhì)量的自動(dòng)檢查[12-13]。上文設(shè)計(jì)思路的主要實(shí)現(xiàn)步驟如下:

1)通過調(diào)用ArcPy 站點(diǎn)包實(shí)現(xiàn)工作間的設(shè)置,在此空間內(nèi)可實(shí)現(xiàn)數(shù)據(jù)的查詢、增減等操作,如增加線狀道路要素?cái)?shù)據(jù)。實(shí)現(xiàn)代碼為:

import arcpy

from arcpy import imp

imp.workspace="D:/ceshiData"

UV_LRRL="JIAN_256100.gdb/ceshiData/

UV_LRRL"

……

UV_LCRA="JIAN_256314.gdb/ceshiData/

UV_LCRA"

2)選擇ArcPy 站點(diǎn)包中的FieldMappings 類及其方法對(duì)線狀要素所需屬性表進(jìn)行組織并刪除合并后線狀要素不需要的屬性。實(shí)現(xiàn)代碼為:

fieldMappings_output=arcpy.FiledMappings()

fieldMappings_output.addTabke(UV_LRRL)

……

fieldMappings_output.addTabke(UV_HYDL)

#刪除無用的屬性字段

If field.name not in["CC","GB","NAME"]:

fieldMappings_output.removeFieldMap(fieldMappings_output.fileFieldMapIndex(field.name))

3)對(duì)線狀要素進(jìn)行檢查,在合并函數(shù)中加入fieldMappings_output 作為字段參數(shù)對(duì)線狀要素進(jìn)行合并處理。

4)通過屬性選擇、空間選擇操作選擇與線狀要素相切、相交的房屋面要素并得到線面相交的線要素?cái)?shù)據(jù)。實(shí)現(xiàn)代碼為:

Arcpy.MakeFeatureLayer_management

(UV_LCRA,”LCA_lyr”)

Arcpy.Intersect_analysis

(["LCA_lyr","lineTemp_lyr"],"lineTemp_lyrl","ALL",".001 Meters","INPUT")

Arcpy.MakeFeatureLayer_management

("lineTemp.shp","lineTemp_lyr")

5)整理輸出結(jié)果,添加錯(cuò)誤說明字段,將無用屬性字段刪除。實(shí)現(xiàn)代碼為:

For field in filedList:

fieldList=Arcpy.ListFields("lineTemp_lyrl.shp","*","*")

If(fied.name!="FID")and(field.name!="CC"):

Arcpy.AddField_management(fc,"錯(cuò)誤類型","TEXT", "", ""50, "", "NON_REQUIRED","NULLABLE","")

6)填寫錯(cuò)誤說明字段內(nèi)容。實(shí)現(xiàn)代碼為[13]:

arrpy.CalculatedField_manegement("錯(cuò)誤類型","lineTemp_lyrl","PYTHON_9.3",expression)

Expression="str(!CC?。?str(!CC_1!)"

通過上述步驟以及代碼即可實(shí)現(xiàn)地理國(guó)情矢量數(shù)據(jù)的空間定位與錯(cuò)誤說明,輔以人工瀏覽與檢查,形成檢查成果并交給作業(yè)人員修改與完善,可提高數(shù)據(jù)的檢查效率、大大降低人工工作量。

4 結(jié)語

地理國(guó)情監(jiān)測(cè)項(xiàng)目具有周期長(zhǎng)、時(shí)間緊、任務(wù)重的特征,因此研究對(duì)地理國(guó)情監(jiān)測(cè)項(xiàng)目成果數(shù)據(jù)質(zhì)量進(jìn)行有效控制、保障年度國(guó)情監(jiān)測(cè)項(xiàng)目按期按質(zhì)完成具有重要意義。本文詳細(xì)介紹了地理國(guó)情監(jiān)測(cè)數(shù)據(jù)檢查的主要內(nèi)容,包括空間參考系檢查、拓?fù)潢P(guān)系檢查、屬性結(jié)構(gòu)檢查等。同時(shí)對(duì)Python 語言以及ArcPy 站點(diǎn)包進(jìn)行了介紹,為了最大限度提高作業(yè)效率、保障成果質(zhì)量,通過利用Python 語言結(jié)合ArcPy 站點(diǎn)包編寫地理國(guó)情監(jiān)測(cè)數(shù)據(jù)成果質(zhì)量檢查工具,實(shí)現(xiàn)錯(cuò)誤位置的快速定位。通過實(shí)際應(yīng)用設(shè)計(jì)并實(shí)現(xiàn)了拓?fù)潢P(guān)系錯(cuò)誤定位。本文編寫代碼并不完善,僅僅實(shí)現(xiàn)了設(shè)計(jì)功能,同時(shí)應(yīng)加入解鎖數(shù)據(jù)、許可檢查、異常處理等功能,進(jìn)一步完善與豐富程序。根據(jù)地理國(guó)情監(jiān)測(cè)數(shù)據(jù)的特征,利用Python 語言輔助相關(guān)質(zhì)檢工作是一種高效科學(xué)的處理辦法,同時(shí)可將本文開發(fā)思路進(jìn)一步應(yīng)用于基礎(chǔ)測(cè)繪與國(guó)土調(diào)查等項(xiàng)目數(shù)據(jù)處理中,提高Python語言的應(yīng)用價(jià)值。

猜你喜歡
國(guó)情監(jiān)測(cè)數(shù)據(jù)要素
家國(guó)情 詩詞魂
中華詩詞(2020年10期)2020-07-22 05:37:10
掌握這6點(diǎn)要素,讓肥水更高效
GSM-R接口監(jiān)測(cè)數(shù)據(jù)精確地理化方法及應(yīng)用
觀賞植物的色彩要素在家居設(shè)計(jì)中的應(yīng)用
推廣生物乙醇汽油:迫切且合乎國(guó)情
能源(2017年11期)2017-12-13 08:12:36
論美術(shù)中“七大要素”的辯證關(guān)系
也談做人的要素
山東青年(2016年2期)2016-02-28 14:25:36
地理國(guó)情監(jiān)測(cè)知識(shí)支持庫(kù)初步設(shè)計(jì)
遙感信息(2015年3期)2015-12-13 07:26:50
GPS異常監(jiān)測(cè)數(shù)據(jù)的關(guān)聯(lián)負(fù)選擇分步識(shí)別算法
基于小波函數(shù)對(duì)GNSS監(jiān)測(cè)數(shù)據(jù)降噪的應(yīng)用研究
汾西县| 高安市| 黄平县| 柞水县| 盐亭县| 郸城县| 顺昌县| 济南市| 宜春市| 高阳县| 南宁市| 彰武县| 湘潭市| 昂仁县| 吴桥县| 古田县| 宜良县| 华坪县| 永平县| 阿瓦提县| 湟源县| 渭南市| 邻水| 新泰市| 建始县| 仙游县| 濮阳县| 扬中市| 论坛| 平江县| 海林市| 云林县| 射阳县| 汉源县| 白山市| 通州区| 靖安县| 延津县| 台前县| 淮阳县| 郎溪县|