999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ArcPy的界址點坐標(biāo)交換文件輸出

2022-06-21 04:19:22汪元超
科技創(chuàng)新與應(yīng)用 2022年17期

汪元超

(成都市國土規(guī)劃地籍事務(wù)中心,四川 成都 610032)

在勘測定界中,生成專用格式的界址點坐標(biāo)交換文件,通常的做法是從ArcGIS導(dǎo)出為CAD,將提取的坐標(biāo)在Excel中編輯后輸出到文本文件,再編輯相關(guān)的表頭和其他信息,這種方法操作繁瑣、容易出錯、效率低下,也有利用ArcGIS自帶的模型構(gòu)建器或其他語言實現(xiàn)了這種文件的輸出,但上述方法都存在自動化程度不高、操作繁瑣,不支持多部件、多邊形島(挖孔)等特殊格式的缺陷,為解決這些痛點,并提高工作效率和成果質(zhì)量,有必要研究如何完美實現(xiàn)勘測定界界址點坐標(biāo)TXT文件快速輸出。

1 文件格式簡介

界址點坐標(biāo)交換文件是原國土資源部制定的以純文本格式明文存儲,以便于讀取和管理的標(biāo)準文件格式。最早是應(yīng)用于建設(shè)用地備案中,后陸續(xù)用于制作電子報盤數(shù)據(jù)、增減掛鉤備案、土地開發(fā)整理等,是自然資源系統(tǒng)(原國土系統(tǒng))內(nèi)廣泛使用的一種數(shù)據(jù)交換文件。

該文件包括文件頭屬性描述、地塊坐標(biāo)兩大塊。文件頭屬性描述為12行的固定格式,格式如圖1所示的文件實例。地塊坐標(biāo)部分根據(jù)具體的地塊數(shù)量為行數(shù)不定的數(shù)據(jù)塊,其中每一個數(shù)據(jù)塊由該地塊的屬性描述和該地塊的節(jié)點坐標(biāo)組成,地塊的屬性描述格式為“界址點數(shù),地塊面積,地塊編號,地塊名稱,記錄圖形屬性(點、線、面),圖幅號,地塊用途,地類編碼,@”,節(jié)點坐標(biāo)的格式為“點號,地塊圈號,X坐標(biāo),Y坐標(biāo)”。需要特別注意以下幾點:

(1)地塊屬性描述中的“地塊面積”單位為公頃,需保留4位有效數(shù)字。

(2)節(jié)點坐標(biāo)中的“X坐標(biāo)”“Y坐標(biāo)”為測量學(xué)中定義的坐標(biāo)軸,分別代表北坐標(biāo)和東坐標(biāo),與ArcGIS、CAD和數(shù)學(xué)上定義的坐標(biāo)軸相反。

(3)地塊必須閉合,每個地塊的最后一個坐標(biāo)和該地塊的第一個坐標(biāo)一致。

(4)對于有扣挖的宗地,扣挖出來的地塊需要使用不同的圈號來表示(如圖2所示:一個矩形內(nèi)部挖掉了一個三角形和一個五邊形,矩形的圈號為1,內(nèi)部的三角形和五邊形的圈號在1后面順序遞增,分別為2和3)。

圖1為圖2所示圖形輸出后的文件格式實例。

圖1 文件格式示例圖

圖2 示例圖形

2 相關(guān)基礎(chǔ)知識

2.1 ArcPy簡介

Python是一種通用的支持動態(tài)輸入的面向?qū)ο蟮慕忉屝驼Z言,它簡潔易讀、易于學(xué)習(xí)、易于擴展,已成為最流行最熱門的編程語言。

ArcPy是以ArcgisScripting模塊為基礎(chǔ)并繼承了其功能進而構(gòu)建的Python站點包。目的是以實用高效的方式通過Python執(zhí)行地理數(shù)據(jù)分析、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)管理和地圖自動化創(chuàng)建基礎(chǔ)。

用ArcPy編寫ArcGIS應(yīng)用程序的優(yōu)勢在于,它不僅完整繼承了Python的易學(xué)、易用、易擴展的特性,還能夠完整使用ArcGIS自帶的很多工具包,使初學(xué)者能夠快速入門并編寫具有復(fù)雜功能的附加模塊。

2.2 ArcGIS中的Polygon對象簡介

本文編寫的相關(guān)代碼利用了ArcGIS內(nèi)部的Polylgon對象,因此首先需要了解Polygon對象的相關(guān)特性和數(shù)據(jù)結(jié)構(gòu)。

Polylgon對象是一個或多個Ring對象的有序集合,它可以由單個Ring對象構(gòu)成,也可以由多個Ring組成。其數(shù)據(jù)結(jié)構(gòu)如圖3所示。

圖3 Polylgon對象數(shù)據(jù)結(jié)構(gòu)示意圖

從這張圖上可以看出Polygon是Rings構(gòu)成,而Ring又是由Segment構(gòu)成,Segment包含線(Line)、圓弧(Circular Arc)、橢圓?。‥lliptic Arc)、貝塞爾曲線(Bezier Curve)4種類型的曲線,這4種曲線都是由Points坐標(biāo)集合構(gòu)成。在代碼實現(xiàn)的過程中,我們只需要按照這個數(shù)據(jù)結(jié)構(gòu)構(gòu)造出Points坐標(biāo)集合即可。需要注意的是,組成Polygon的是Ring,其中Ring可以分為OuterRing(外環(huán))和InnerRing(內(nèi)環(huán))。外環(huán)和內(nèi)環(huán)都是有方向的,它們的區(qū)別是外環(huán)的方向是順時針的,內(nèi)環(huán)的方向是逆時針的。如圖4所示。

圖4 Ring的內(nèi)外環(huán)示意圖

3 代碼實現(xiàn)

以圖2為例,圖中包含2個地塊,通過數(shù)據(jù)訪問模塊“da.SearchCursor”按行逐條讀取數(shù)據(jù),可以直接獲得要素的節(jié)點個數(shù)和面積屬性。而對于節(jié)點坐標(biāo),尤其是圖2右側(cè)地塊這種有挖孔的多邊形島形式(挖孔)的地塊,很多文獻中是無法處理的,或者處理的方法冗長,這里筆者經(jīng)過反復(fù)調(diào)試,通過將讀取的每一條要素轉(zhuǎn)成JSON格式再通過字典轉(zhuǎn)成List數(shù)組的形式,實現(xiàn)快速讀取要素內(nèi)部部件的每一個節(jié)點坐標(biāo),除開前面幾行固定需要寫入的文件頭屬性描述,核心的節(jié)點坐標(biāo)輸出功能只用了20多行代碼,整體代碼塊一共50行即實現(xiàn)了相關(guān)功能,充分體現(xiàn)了ArcPy簡潔、高效的特性。數(shù)據(jù)處理流程如圖5所示,完整代碼如下。

圖5 文件輸出處理流程圖

4 結(jié)束語

文本給出了完整的代碼,基于ArcPy實現(xiàn)了界址點坐標(biāo)交換文件的快速輸出。相比手動編輯或其他方法,主要的改進和提升:

(1)完美支持多部件、多邊形島(挖孔)等各種特殊格式。

(2)自動化程度高,不需要人工干預(yù)。

相關(guān)代碼已大量運用于實際工作項目中,相比其他方法極大提高了效率和準確性,以前編輯一個地塊需要3~5 min,現(xiàn)在只需要不到10 s。

本文僅用不到50行代碼即實現(xiàn)了上述功能,充分體現(xiàn)了ArcPy簡潔、高效的特點。用ArcPy編寫ArcGIS應(yīng)用程序的優(yōu)勢在于,它不僅完整繼承了Python的易學(xué)、易用、易擴展的特性,還能夠完整使用ArcGIS自帶的很多工具包,使初學(xué)者也能夠快速入門并編寫具有復(fù)雜功能的附加模塊。本文為ArcPy應(yīng)用于各種矢量和柵格數(shù)據(jù)的批處理提供了一些方法和思路。

主站蜘蛛池模板: 成人福利在线视频| 亚洲自偷自拍另类小说| 99精品免费在线| 91美女视频在线| 国产乱人激情H在线观看| 九九热精品在线视频| 国产精品黑色丝袜的老师| 黄色国产在线| 99ri精品视频在线观看播放| 精品色综合| 亚洲精品福利视频| 亚洲中文字幕无码mv| 黄色网站不卡无码| 在线观看免费人成视频色快速| 亚洲一区第一页| 日韩第一页在线| 任我操在线视频| 在线国产你懂的| 五月婷婷综合网| 亚洲成aⅴ人在线观看| 天堂av高清一区二区三区| 色香蕉网站| 国产专区综合另类日韩一区| 天天躁日日躁狠狠躁中文字幕| 国产日产欧美精品| 亚洲中文在线视频| 欧美国产日本高清不卡| 成年女人a毛片免费视频| 538国产在线| 97精品久久久大香线焦| 久久无码高潮喷水| 欧美一区二区三区欧美日韩亚洲 | 99热免费在线| 国产香蕉在线视频| 国产96在线 | 久久精品66| 精品91在线| 永久免费无码日韩视频| 国产精品任我爽爆在线播放6080| 视频二区国产精品职场同事| 97在线视频免费观看| 激情午夜婷婷| 成年人国产网站| 99精品国产电影| 欧美中文字幕在线播放| 国产啪在线91| 亚洲欧美成人在线视频| 午夜日韩久久影院| 色香蕉网站| 一区二区理伦视频| 四虎精品国产AV二区| 97无码免费人妻超级碰碰碰| 中文字幕在线日韩91| 91免费观看视频| 国产欧美在线观看一区| 久久鸭综合久久国产| 亚洲美女一区二区三区| 亚洲av无码人妻| 天堂亚洲网| 欧美国产精品不卡在线观看 | 91精品国产综合久久香蕉922 | 亚洲成AV人手机在线观看网站| 国产麻豆va精品视频| 少妇精品久久久一区二区三区| 国产精品福利社| 国产免费网址| 这里只有精品国产| 亚洲区一区| 久久精品国产一区二区小说| 国产精品九九视频| 99久久精品免费观看国产| 欧美一区福利| 国产不卡网| 日韩在线视频网站| 亚洲精品波多野结衣| 人人爽人人爽人人片| 久久久久青草大香线综合精品| 青青青亚洲精品国产| 伊人国产无码高清视频| 最新国产成人剧情在线播放| 91网在线| 99久久精品国产麻豆婷婷|