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

基于ArcPy的大比例尺地形圖圖幅接合表自動繪制方法

2022-10-02 02:49:34鄭繼武鄧學鋒
地理空間信息 2022年9期
關鍵詞:方法

鄭繼武,鄧學鋒*

(1.河南省測繪工程院,河南 鄭州 450003)

在國家基本比例尺地形圖測繪中,圖幅接合表是一個重要圖件,是用于標明某一區域多幅圖或分幅圖相關位置的略圖[1]。圖幅接合表可手工繪制或采用計算機繪圖軟件人機交互制作。手工繪制方式在區域小、圖幅數量較少的情況下具有優勢,圖形按比例縮小,制式單一,不擴充,圖號按照規則推算;人機交互方式適用于較大區域,可按實際坐標繪制,圖號按坐標依規則生成,相比手工繪制方法有很大改進,但操作起來仍需不少步驟。圖幅接合表至少包括區域范圍、圖幅四廓、鄰接關系、圖號、圖名等核心元素,前4個元素容易具備,圖名則需根據作業進展由人工添加,有一個多方協同的時序過程,易出現錯漏。隨著測繪地理信息的發展,圖幅接合表不僅應用于生產管理和應用檢索,還承載了更多信息,派生出其他數據信息。國家基本比例尺地形圖測繪時,中小比例尺地形圖圖幅接合表繼承使用上一代成果,圖名變動少,一般采用個別更新的方式,不存在重新制作問題;而1∶500、1∶1 000、1∶2 000比例尺地形圖,由于區域性強,與域外的統一性和連續性較弱,接合表多屬新制,典型代表為全域測繪。因此,本文提出了一種以范圍線為數據源自動繪制大比例尺地形圖圖幅接合表的方法,以期實現圖形自動繪制、圖名自動提取注記,完備接合表基本形態,并擴充屬性為應用擴展奠定基礎。

1 大比例尺地形圖分幅和編號常用方法

GB/T 13989-2012《國家基本比例尺地形圖分幅和編號》規定了各種比例尺地形圖的分幅和編號方法,其中1∶500、1∶1 000、1∶2 000地形圖分幅包括經緯度分幅、正方形分幅和矩形分幅[2],其編號則有與分幅相適應的多種方法,如坐標編號法、流水號法、行列編號法等,日常測繪工作中尤以正方形分幅的坐標編號法最為常用。坐標編號法一般采用圖廓西南角坐標編號,X坐標公里數在前,Y坐標公里數在后,1∶2 000、1∶1 000地形圖取至0.1 km,1∶500地形圖取至0.01 km。這是自動化繪制圖幅接合表的基礎約束條件。

2 自動化繪制的系統基礎

實現自動化繪制的系統基礎包括硬件和軟件,硬件為目前主流的計算機;軟件包括Windows7或Windows10操作系統、ArcMap10.2應用軟件、ArcPy站點包和ArcGIS配裝的Python編程語言[3]。在ArcMap環境中利用ArcPy站點包,采用Python語言,將地理處理函數和方法有機地組合起來[4],實現圖幅接合表的自動繪制;再創建基本信息屬性,生成圖號,自動采集圖名,完善接合表核心元素。

3 自動化繪制的設計流程

測繪工作中,確定測區范圍線后,需確定圖幅數量和分布,因此需繪制圖幅接合表。手工繪制方法借助于公里格網分割制作,人機交互也類似,過程復雜。數字時代的范圍線是數字化的,包含坐標信息,因此自動化繪制的條件是具備的。根據范圍線數據以dwg格式居多,也有shp格式或地理數據庫的特點,基于要素復制、增密、分割、轉點等地理處理函數,利用編輯會話函數,按照分幅原則,首先自動繪制接合表圖形,創建并按幅一一充實基礎的圖號字段信息;再創建圖名字段,對以dwg格式存儲的成果分幅圖,在人工不接觸、無視感狀況下采集圖名信息,并根據圖號對號入座。圖名產生在作業過程中,具有隨時性,需相對獨立的功能支撐;圖名與圖號標注和注記功能、圖幅狀態設置、圖幅接邊狀況等制圖、生產管理功能同樣需要獨立。遵循該思路,具體繪制流程如圖1所示。

圖1 自動化繪制流程圖

4 需要解決的問題

自動繪制圖幅接合表需要解決的問題包括:①圖名為漢字,支持正確顯示的問題;②從數據源范圍線解析出覆蓋邊界的圖幅圖廓坐標的技術;③根據分幅原則,按照圖廓坐標繪制穿越邊界圖幅圖形的方法;④范圍線內部圖幅的繪制方法;⑤圖名信息自動提取技術;⑥圖名、圖號一體顯示方法;⑦圖幅作業狀況和接邊情況的管理技術。

5 程序設計

5.1 漢字信息顯示問題處理

在設置不正確的情況下,漢字信息的顯示常出現亂碼,處理方法為首先設置“#-*-coding:utf-8-*-”,再引入sys并按以下方法重載:

5.2 設置控制信息

正確的自動繪制,需在參數控制下進行。輸入參數包括范圍線數據、生成的接合表數據存放位置、比例尺、坐標系統、數據模板等,前3個參數必須設置,后兩個可選。dwg數據在ArcMap中需要設定坐標系[5],便于成果后續使用。參數輸入界面如圖2所示,比例尺參數通過下拉框選擇。

圖2 參數輸入界面

5.3 比例尺、圖廓邊長處理函數

比例尺和圖廓邊長處理函數需自定義,依據比例尺參數,獲得對應圖廓邊長,存入變量以待調用。

5.4 數據源處理

1)shp、mdb、gdb數據可直接使用,dwg數據在ArcMap中只能調入不能操作使用,需經過處理轉換為shp、mdb或gdb格式數據。根據CadDrawingDataset數據類型屬性描述信息判定dwg數據;通過CopyFeatures方法實現,涉及輸入、輸出數據[6],輸入為已有dwg數據,輸出為轉換后數據,由程序內定,屬臨時數據,用后銷毀。

2)數據源形態多樣,直線段與曲線段交替分布,互有交錯。直線兩點跨度大,曲線折點跨度不均,為統一量化,通過Densify方法實現。Densify直接操作元數據,應在復制數據上進行,結果為固定間隔的密集的點組成的線。控制Densify效果的DISTANCE參數內置為100.0 Meters,這是由于數值小將增加點的密度,將導致圖幅重復;而數值大有的圖幅則缺乏點數據支撐,形成圖幅漏洞,相對而言,重復比漏洞易于處理,后期處理的圖廓重復問題即來源于此。

3)對線數據進行SplitLine處理,按折點分解折線為線段,利用FeatureVerticesToPoints方法將線段首末端點轉化為點,為數據的進一步應用創造條件。

5.5 歸化點數據,獲取圖廓坐標

1)繼承的點數據,坐標值有隨意性,需歸化得到圖廓坐標。對應于比例尺,根據公里格網和內圖廓邊長,歸化得到點所在圖幅的圖廓左下角坐標。以1∶500比例尺為例,圖廓邊長為250 m,格網間隔為50 m,X、Y坐標各按int(x/a)a做兩次歸化,先格網再圖廓各取其長,得到m、n。以k=m-n-250為數組[-250,0,250]中值時,直接取m為圖廓坐標值;k為正數時,取n+250為圖廓坐標值;k為負數時,取n+500為圖廓坐標值,組對成為圖廓點坐標,以追加的方式將圖廓坐標聚合成數組。

2)數據歸化為圖廓點坐標后,重復較多,需清除重復值,進行輕量化處理。采用新建數組,唯一化復制原值的方法實現。

通過參數控制、數據處理、坐標歸化、輕量化處理等一系列程序從范圍線解析出覆蓋邊界的圖幅圖廓坐標。

5.6 自動繪制設置

接合表圖形為圖幅內圖廓面行列有序集合,起端為面要素創建;同步創建“Nx”、“Ey”、“tuming”、“tuhao”、“zhuangtai”等屬性字段用于保存圖廓縱橫坐標、圖名、圖號、作業狀態等內容[7]。

5.7 自動繪制過程

程序打開編輯器進行編輯會話,在操作狀態下進行自動繪制。這是一個循環過程,通過圖廓四角點坐標計算形成點對象數組,通過程序自動構建覆蓋范圍線的圖廓面[8],儲存圖廓西南角坐標屬性,銷毀中間文件,從而實現根據分幅原則,按照圖廓坐標繪制穿越邊界圖幅圖形的方法。

范圍線內部圖幅的圖廓線繪制,借助于已繪制的圖廓面要素,需自定義用于按縱坐標排序的函數和按圖廓邊長內插一排圖廓西南角坐標的函數,通過調用實現,后者與比例尺相關。調取生成的圖廓坐標,按縱坐標排序分類,定義數組、詞典、變量,通過數據訪問函數SearchCursor循環返回令牌屬性實現。經過這些處理,即可繪制范圍線內部的圖幅圖廓線。

在復雜的程序操控下,圖幅接合表圖形基本繪制完成。為防止范圍線外有意外的圖形生產,需要檢驗和清除,其自動化步驟為:①范圍線轉換為范圍面,利用增密線的各點坐標生成面,這樣二者契合嚴密,而線轉面函數會“疏松”點間距,面邊緣與線有裂隙;②圖層定義和調入,顯示到“內容列表”中,根據位置選擇對范圍面和圖廓面進行內存操作,刪除多余圖廓,同時銷毀一些中間生成的文件;③在屬性表中按照規則利用CalculateField方法生成圖號信息。

5.8 圖名提取

圖名不同于圖號,是在作業過程中逐步形成的,根據圖幅內地名或企、事業單位名稱來命名,困難時才可只注圖號,因此可單獨或批量采集,數據源為dwg分幅成果數據。ArcMap的dwg數據集包括點、線、面、注記等數據,圖名、圖號信息在注記數據中。利用圖名、圖號的圖式標準化位置,通過調入、顯示、訪問地圖文檔和數據框架、圖層定義和添加、格網規范化定位、指定位置矩形選擇等一系列程序方法完成圖名信息的自動提取。

5.9 圖名、圖號一體顯示

接合表圖名、圖號一體顯示方法替代繁瑣手工操作的技巧在于,由程序實現地圖文檔和圖層設置,將定制的分行顯示控制代碼傳遞給圖層標注表達式,實現對圖名、圖號的自動標識。在ArcMap中可設定合適比例、紙張尺寸,在布局視圖里可利用地圖導出功能,實現接合表的分發服務,這是人工的。從范圍線到繪制接合表圖形以及圖名、圖號標注內存中的變化過程如圖3所示。

圖3 自動繪制歷變圖

6 應用拓展與功能集成

測區工作不是一蹴而就的,從任務分配到成果完成,每幅圖都經歷了待測、在測、一檢、二檢、接邊、成果等不同階段和狀態,生產過程中需對此進行管理,了解圖幅流向和作業進度。采用的方式是在接合表中以不同的符號或顏色進行標識,可人工紙質標識或人機交互標識,但缺乏信息豐富的渠道,難以實現自動統計。在接合表自動繪制的基礎上,通過指定圖幅號和圖幅狀態參數,根據圖號自動匹配到接合表,更新狀態信息。接合表參照圖層分色顯示模板,實現對圖幅不同情形的表達,利用統計功能掌握進度狀況,服務生產管理。接邊狀況記載,是通過指定圖幅號以及與其完成接邊的邊的方位,利用接合表中圖廓點西南角坐標推算鎖定,在線要素數據中自動繪制該邊線的方法實現的。線要素和接合表結合顯示,表明接邊情況。圖幅作業狀態和接邊情況管理功能如圖4所示。

圖4 圖幅作業狀態和接邊情況標示

接合表圖形繪制、圖名提取、圖名圖號標注顯示、圖幅狀態、接邊情況等程序均通過制作腳本工具來使用,利用加載項技術將腳本工具順序集成為工具條實現功能調用。由于涉及文件數量多,為方便使用,將相關程序文件制作為安裝程序,通過自動安裝對復雜過程進行簡化。工具條界面如圖5所示。接合表工具屬性參數設定如圖6所示,其他工具條屬性參數設定與此類似,這里不再一一列出。

圖5 工具條界面

圖6 接合表工具屬性參數設定

接合表自動繪制方法應用于全域測繪取得了明顯效果,具有繪制速度快、使用簡捷、成果正確可靠等特點。其服務生產管理功能,不僅能實現對各種狀況的準確管理,還能快速生成和呈報任務快報,效率明顯。整個測區任務完成后,還可再次全面提取更新一次,從而避免生成過程中可能的遺漏。

該方法尚缺乏對圖幅質量責任主體的信息管理,這是改進的方向之一。如果已有圖幅成果,在缺乏接合表的情況下,要清楚了解圖幅分布狀況,利用成果反向生成接合表,這也是改進的方向之一。

7 結語

在ArcMap中利用Python語言合理組織ArcPy地理處理函數,在適當參數的支持和漢語環境下,以測區范圍線為數據源,解析并推算得到覆蓋邊界的圖幅和圖幅圖廓坐標,自動繪制圖幅接合表,利用dwg圖幅數據圖名標準位置定位、采集圖名和圖號,以圖號匹配圖名,將二者一體標注顯示,完備接合表的核心元素形態。作為拓展應用,該方法實現了圖幅作業狀況和接邊情況的管理。通過在全域測繪、數字縣域等項目中的應用發現,工具界面簡潔明了,功能設置與作業和管理順序協調,操作簡便,具有一鍵式服務的特點,提高了工作效率,有效避免了錯漏;還拉長了接合表的使用鏈條,可持續應用于后期的建庫階段或元數據制作中。

猜你喜歡
方法
中醫特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 亚洲伦理一区二区| 成人精品免费视频| 国产女人18毛片水真多1| 日本人妻一区二区三区不卡影院| 国产在线98福利播放视频免费| 亚洲欧美另类日本| 欧美成人国产| 污网站免费在线观看| 亚洲av片在线免费观看| 视频一本大道香蕉久在线播放| 在线欧美日韩| 国产又爽又黄无遮挡免费观看| 蜜桃视频一区二区| 亚洲人成网站色7777| 666精品国产精品亚洲| 蜜芽一区二区国产精品| 国产综合日韩另类一区二区| 日韩a在线观看免费观看| 亚洲精品制服丝袜二区| 国产精品无码制服丝袜| 欧美中出一区二区| 精品剧情v国产在线观看| 91人妻在线视频| 国产十八禁在线观看免费| 九色在线观看视频| 亚洲国产日韩在线观看| 欧美成人日韩| 波多野结衣亚洲一区| 成人久久精品一区二区三区| 国产女人综合久久精品视| 亚洲精品午夜天堂网页| 国产精品3p视频| 无码综合天天久久综合网| 国产丝袜第一页| 欧美日韩专区| 久热99这里只有精品视频6| 国产欧美视频在线观看| 99久视频| 亚洲欧洲日产国产无码AV| 日韩国产一区二区三区无码| 日韩一级毛一欧美一国产 | 青青网在线国产| 成人一区在线| 91九色国产在线| 国产欧美日本在线观看| 九九视频免费看| 香蕉伊思人视频| 亚洲国产中文在线二区三区免| 伊人久久综在合线亚洲91| 国产高清在线丝袜精品一区| 欧美黄网在线| 国产成人AV男人的天堂| 久久一本日韩精品中文字幕屁孩| AV天堂资源福利在线观看| 免费一级毛片完整版在线看| 亚洲国产精品久久久久秋霞影院| 国产精品天干天干在线观看 | 无码AV高清毛片中国一级毛片| 国产精品漂亮美女在线观看| 亚洲欧美日韩动漫| 在线免费a视频| 国产sm重味一区二区三区| 全部无卡免费的毛片在线看| 国产真实乱了在线播放| 国产三级毛片| 午夜成人在线视频| 国产美女人喷水在线观看| av手机版在线播放| 亚洲欧洲一区二区三区| 亚洲国产成人久久精品软件| 国产一区三区二区中文在线| 2021亚洲精品不卡a| 国产91全国探花系列在线播放| 8090午夜无码专区| 国产福利在线观看精品| 久久亚洲精少妇毛片午夜无码| 91在线播放国产| 久久人妻xunleige无码| 国产精品v欧美| 国产精品成人AⅤ在线一二三四| 97视频免费看| 国产欧美又粗又猛又爽老|