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

?

基于ArcGIS Engine征占用林地制圖排號系統(tǒng)的設(shè)計與實現(xiàn)

2023-02-20 03:35:22叢喜東魏軍馮亞男梁志強(qiáng)
林業(yè)科技 2023年1期
關(guān)鍵詞:圖幅圖斑號碼

叢喜東 魏軍 馮亞男 梁志強(qiáng)

(1 黑龍江省生態(tài)研究所,黑龍江 哈爾濱 1500810;2 自然資源部第三地形測量隊,黑龍江 哈爾濱 150025;3 黑龍江省自然資源權(quán)益調(diào)查監(jiān)測院,黑龍江 哈爾濱 150080)

建設(shè)項目征占用林地的制圖工作是一項操作繁雜的過程,其中地塊排號是制圖的一個重要的基礎(chǔ)步驟。在傳統(tǒng)GIS在排號的過程中,需要加載編輯圖層,對選中的地塊進(jìn)行逐圖斑進(jìn)行添加或修改其屬性信息,在地塊較多的情況下,效率較低,且無法實現(xiàn)走向一致的斑塊的批量排號,也無法實現(xiàn)號碼的自動增加,在排號的過程很容易出現(xiàn)錯漏,需要對錯誤的編號進(jìn)行重新梳理,重新進(jìn)行排號操作,極大地影響工作效率。本文通過綜合分析和梳理建設(shè)項目征占用林地的業(yè)務(wù)流程,研究地塊排號功能實現(xiàn),旨在達(dá)到滿足快速實現(xiàn)排號的目的,有效提高地塊排號的效率。

1 關(guān)鍵技術(shù)

1.1 ArcGIS Engine技術(shù)

ArcGIS Engine是美國ESRI公司推出的一套功能完備的嵌入式GIS組件庫和工具庫,用戶可以基于ArcGIS Engine和業(yè)務(wù)工作實際開發(fā)出滿足業(yè)務(wù)需求的GIS軟件系統(tǒng),并可以脫離ArcGIS桌面端而獨立運行[1]。ArcGIS Engine支持多種開發(fā)語言,如C#、JAVA等[2]。包括控件、工具條和對象庫3個關(guān)鍵部分,控件是通過嵌入方式成為GIS程序的用戶界面組成部分;工具條是進(jìn)行地理信息交互的GIS工具集合;對象庫是ArcObject的幾何圖形、GIS數(shù)據(jù)源和Geodatabase的集合[3]。

1.2 C#技術(shù)

本系統(tǒng)使用C#作為程序設(shè)計的語言。C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運行于.NET Framework之上的高級程序設(shè)計語言??梢钥焖俚鼐帉懟贛icrosoft.NET平臺的應(yīng)用程序[4]。.NET框架(.NET Framework)是由微軟開發(fā),致力于敏捷軟件開發(fā)、快速應(yīng)用開發(fā)、平臺無關(guān)性和網(wǎng)絡(luò)透明化的軟件開發(fā)平臺。

1.3 空間數(shù)據(jù)庫(GeoDataBase)技術(shù)

空間數(shù)據(jù)庫(Geodatabase)是一種采用標(biāo)準(zhǔn)關(guān)系數(shù)據(jù)庫技術(shù)來表現(xiàn)地理信息的數(shù)據(jù)模型,它支持在標(biāo)準(zhǔn)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)表中存儲和管理地理信息。Geodatabase是地理數(shù)據(jù)的頂層部分,它是數(shù)據(jù)集、要素類、對象類和關(guān)聯(lián)類的集合[5]。在數(shù)據(jù)庫中,通過要素數(shù)據(jù)集、柵格數(shù)據(jù)集和TIN數(shù)據(jù)集三種地理數(shù)據(jù)集來實現(xiàn),其中要素集是具有相同坐標(biāo)系統(tǒng)的要素類的集合。對象類、要素類和要素數(shù)據(jù)集是數(shù)據(jù)庫中的基本組成部分。數(shù)據(jù)庫中創(chuàng)建上述內(nèi)容,可以向數(shù)據(jù)庫中加載數(shù)據(jù),并進(jìn)一步定義數(shù)據(jù)庫的索引、拓?fù)潢P(guān)系,創(chuàng)建子類、幾何網(wǎng)絡(luò)、注釋類、關(guān)系類等。

本文采用個人地理數(shù)據(jù)庫(MDB),便于采用ADO.NET技術(shù)實現(xiàn)數(shù)據(jù)的統(tǒng)計分析。

2 數(shù)據(jù)庫設(shè)計及功能設(shè)計

2.1 數(shù)據(jù)庫設(shè)計

數(shù)據(jù)庫設(shè)計采用個人地理空間數(shù)據(jù)庫(.mdb),可以通過Microsoft Access軟件進(jìn)行打開,并通過SQL語句進(jìn)行數(shù)據(jù)統(tǒng)計分析。

關(guān)鍵字段包括ID_L(數(shù)值型)、PX_L(數(shù)值型),x_coord(數(shù)值型)、 y_coord(數(shù)值型),分別用于存儲要素唯一值,斑塊排序號碼、要素中心點橫坐標(biāo)、要素中心點縱坐標(biāo)。

2.2 系統(tǒng)功能設(shè)計

系統(tǒng)功能設(shè)計方面,充分考慮到排號功能的完整性和實用性,結(jié)合傳統(tǒng)GIS的功能進(jìn)行功能設(shè)計(圖1)。

圖1 軟件功能結(jié)構(gòu)圖

(1)常規(guī)功能。滿足地理信息系統(tǒng)的數(shù)據(jù)視圖空間要素的顯示操作,實現(xiàn)圖層的放大、縮小、移屏、全屏、上一視圖、下一視圖、選擇、取消選擇等功能。

(2)系統(tǒng)建庫。創(chuàng)建個人地理數(shù)據(jù)庫,用于存儲矢量數(shù)據(jù)。

(3)矢量入庫。將具有空間參考的建設(shè)項目征占用林地圖斑矢量導(dǎo)入到個人地理數(shù)據(jù)庫中。

(4)添加圖層。將數(shù)據(jù)庫中的占地圖層添加到該系統(tǒng)中。

(5)坐標(biāo)核算。自動計算占地圖層的每個要素的中心橫坐標(biāo)X和縱坐標(biāo)Y。

(6)排號操作。通過選擇在走向一致的多個要素(或單個),按照所選要素的中心點的橫縱坐標(biāo)的升降序,進(jìn)行順延排號,并對錯漏的斑塊進(jìn)行號碼修改等。

1) X升序Y升序,按要素從左向右、從上向下的方向進(jìn)行排號;

2) X升序Y降序,按要素從左向右、從下向上的方向進(jìn)行排號;

3) X降序Y升序,按要素從右向左,從上向下的方向進(jìn)行排號;

4) X降序Y降序,按要素從右向左,從下向上的方向進(jìn)行排號;

5) 號碼清除。清除選中要素的號碼,針對排號不符合要求的圖斑,在選擇后進(jìn)行排號清除;

6) 號碼修改。選中需要修改排號的斑塊,按目標(biāo)號進(jìn)行修改操作。

7) 號碼為零。篩選號碼為空或者為零的數(shù)據(jù),并實現(xiàn)選中后定位到相應(yīng)圖斑。

8) 號碼重排。按照已排序的斑塊順序,重新將號碼從1開始累加排號,保證號碼按整數(shù)1進(jìn)行累加排序。

9) 圖層標(biāo)注。按相應(yīng)標(biāo)注字段進(jìn)行圖層標(biāo)注顯示。

10)圖幅生成。根據(jù)占地制圖標(biāo)準(zhǔn)生成圖幅。

11)圖層輸出。將數(shù)據(jù)庫中的圖層輸出矢量。

軟件系統(tǒng)的功能結(jié)構(gòu)圖如下:

3 系統(tǒng)功能實現(xiàn)及應(yīng)用

本系統(tǒng)數(shù)據(jù)庫以個人地理數(shù)據(jù)庫(MDB)進(jìn)行數(shù)據(jù)存儲,采用C#+ArcGIS Engine組件二次開發(fā)等技術(shù)進(jìn)行系統(tǒng)研發(fā),并實現(xiàn)系統(tǒng)的相應(yīng)功能模塊。

圖2 系統(tǒng)主界面

3.1 系統(tǒng)功能實現(xiàn)

(1)系統(tǒng)建庫。創(chuàng)建Base.MDB數(shù)據(jù)庫,該數(shù)據(jù)庫為ArcGIS的個人地理數(shù)據(jù)庫,其格式為Microsoft Access的MDB數(shù)據(jù)庫,可以實現(xiàn)空間數(shù)據(jù)和非空間數(shù)據(jù)共同管理,可通過結(jié)構(gòu)化查詢語言(SQL)對數(shù)據(jù)庫中各類數(shù)據(jù)表的查詢、分析、統(tǒng)計、管理等問題。

(2)要素入庫。通過選擇入庫的矢量文件,自動將該矢量文件導(dǎo)入到Base.MDB庫中,入庫后的名稱為“占地面”,便于后續(xù)軟件功能進(jìn)行識別使用。

(3)圖層添加。通過選擇個人地理數(shù)據(jù)庫,將該數(shù)據(jù)庫中的圖層添加到軟件系統(tǒng)中,用于排號操作。

(4)坐標(biāo)核算。在占地面圖層添加字段ID_L、PX_L、X_Coord、Y_Coord四個字段,均為雙精度類型,其中ID_L用于存儲要素ID值,PX_L用于存儲圖斑排號;對圖層中的每個要素進(jìn)行遍歷,計算每個要素的中心點坐標(biāo),存儲在X_Coord和Y_Coord字段中,用于坐標(biāo)排序。

(5)圖層標(biāo)注,選擇對應(yīng)圖層,根據(jù)PX_L字段的值實現(xiàn)標(biāo)注。

(6)要素選擇,通過選擇按鈕,選擇圖面中的欲排號要素,通過其他常規(guī)功能工具縮放或者移動到斑塊位置。

(7)斑塊排號。根據(jù)圖斑走向選擇圖斑,并采用相應(yīng)功能進(jìn)行排序等操作

圖3 排號功能

具體實現(xiàn)方法:

1)選擇加入到軟件系統(tǒng)中的排號圖層;

2)獲取圖層被選中要素,并記錄被選中要素ID_L字段的唯一值,放到臨時列表(List)中;

3)求得被選中要素之外,最大的PX_L字段的值,以此為選中要素進(jìn)行累加1的起始值;

4)被選中要素根據(jù)其走向,選擇的對應(yīng)的“排號”功能,按選中要素的橫縱坐標(biāo)(x_coord,y_coord)進(jìn)行排序,根據(jù)排序結(jié)果,將相應(yīng)要素的PX_L字段的值進(jìn)行累加更新。實現(xiàn)代碼如下:

5)排號清除。對于排號過程中存在的錯誤,通過選中排序存在錯誤的圖斑,可將PX_L的值,統(tǒng)一修改為零,以便于重新進(jìn)行選擇排號;

6)排號修改。重新檢查排號是否正確,當(dāng)某圖斑在排序的過程中,如果對于排號有錯的斑塊,可通過選擇該斑塊,單獨修改該斑塊序號為新序號;

7)排號為零。對存在漏排號的情況進(jìn)行檢查,可顯示漏排號(PX_L為零)的斑塊,單擊列表記錄,可定位到斑塊位置,通過選擇,修改排號功能,修改該地塊編號,當(dāng)編號無法整數(shù)值進(jìn)行修改時,編號可帶小數(shù);

8)重新排序。在保證所有斑塊均有沒有漏排號的情況下,通過“編號重排”功能,按照已經(jīng)排號的順序,從小到大,進(jìn)行從1開始累加排號。

9)圖層標(biāo)注。采用PX_L作為標(biāo)注字段,用于在系統(tǒng)中顯示排號結(jié)果,方便與檢查和修改。

10)圖幅生成。通過設(shè)置圖幅比例尺和制圖頁面寬度,計算圖幅實際地理位置的寬和高,通過占地范圍包絡(luò)線的左下角坐標(biāo)開始,根據(jù)寬和高的值進(jìn)行格網(wǎng)生成,并通過占地范圍篩選生成的格網(wǎng),形成最后的占地圖幅。

圖4 圖幅參數(shù)設(shè)置

圖5 圖幅生成結(jié)果

11)圖層輸出。對Base.mdb數(shù)據(jù)中的占地面和圖幅面以矢量方式輸出,便于與其他地理信息軟件銜接。

4 結(jié) 論

本文根據(jù)建設(shè)項目征占用林地業(yè)務(wù)中的制圖生產(chǎn)實際需要,基于C#、ArcGIS Engine等技術(shù),設(shè)計和實現(xiàn)了制圖排號軟件系統(tǒng),該系統(tǒng)通過對排號業(yè)務(wù)進(jìn)行流程規(guī)范化,簡化操作步驟,解決常規(guī)GIS應(yīng)用過程中的低效操作等難題,實現(xiàn)規(guī)范、便捷、高效圖斑排號功能,為建設(shè)項目征占用林地制圖工作提供了一個快速高效的軟件系統(tǒng)。

猜你喜歡
圖幅圖斑號碼
地理國情監(jiān)測中異形圖斑的處理方法
北京測繪(2022年9期)2022-10-11 12:25:14
基于C#編程的按位置及屬性值自動合并圖斑方法探究
綠色科技(2021年5期)2021-11-28 14:57:37
說號碼 知顏色
土地利用圖斑自動檢測算法研究
一個號碼,一個故事
猜出新號碼
基于EXCEL的地形圖圖幅號轉(zhuǎn)換查詢方法
基于ArcMap的圖幅接合表快速生成方法研究
地形圖圖幅編號規(guī)則及實現(xiàn)
城市勘測(2014年4期)2014-06-24 14:33:27
這個號碼很吉祥
小說月刊(2014年1期)2014-04-23 08:59:54
徐州市| 酒泉市| 南安市| 宜都市| 积石山| 英德市| 吐鲁番市| 靖远县| 沾益县| 绥芬河市| 高密市| 精河县| 全南县| 葫芦岛市| 芜湖市| 德州市| 蒲江县| 宝丰县| 吉水县| 东宁县| 濉溪县| 壶关县| 榕江县| 鹤山市| 东海县| 彰化县| 韶山市| 大港区| 榕江县| 梨树县| 信宜市| 堆龙德庆县| 霞浦县| 天峻县| 湖南省| 竹北市| 盘山县| 沙河市| 尼木县| 呈贡县| 屏山县|