數據融合工具(5)面中心線提取

圖片

這是一個重磅工具,建議先看視頻。

提取中心線

一、需求背景

????????說真的,當小編第一次使用ArcGIS中的Polygon To Centerline工具提取面要素中心線時,激動得無以言表,畢竟,以前要提取面中心線,是一件非常麻煩的事。

????????但,還是存在一些問題增加了后期數據處理的工作量。

……

????????第一,Polygon To Centerline工具?需要?Production Mapping許可;

圖片

????????第二,該工具通過使用發現,對“狹長”的河流面、道路面提取中心線效果很好,但對“形狀指數”較大的面反而表現較差;

圖片

????????第三,該工具支持連接要素,但不能很好地處理自身面要素間共享邊處的連接問題,以及面要素與其他連接線處的問題;

圖片

????????有沒有其他好的解決方案,能兼顧性能、效果、更能正確解決連接處中心線的正確連接呢?

????????后來,小編使用QGIS、FME,以及Centerline包測試了提取多邊形的中心線,整體來說,各有優缺點,但是從性能、效果、使用便捷等方面,ArcGIS Pro中的Polygon To Centerline工具更勝一籌。感興趣的同學可以自己嘗試多種技術路線下實現多邊形中心線的提取。

????????是不是只能使用ArcGIS Pro中的面轉中心線工具了呢?

圖片

……

????????于是,自力更生的時候到了。

二、為什么要提取面中心線?

圖片

????????在GIS(地理信息系統)數據中提取面中心線有多種重要用途,這些用途包括:

????????1. 簡化地理數據:面中心線提取可以將復雜的多邊形要素簡化為更簡單的線要素,適用于小比例地圖或地理信息系統中,這有助于提高地圖的可讀性和性能。

????????2. 道路網絡分析:面中心線通常用于道路網絡分析,如路徑規劃、導航和交通模擬。它們幫助確定道路的核心線,以便更容易找到最佳路徑和進行交通管理。

????????3. 水文網絡分析:提取水體多邊形的中心線對水文網絡分析非常有用。它們用于洪水模擬、水體流向分析和水文資源管理。

????????4. 資源管理:面中心線提取可用于管理自然資源,如森林管理中的道路和河流,以及礦業資源中的采礦區域。

????????5. 環境研究:在生態學和野生動物學中,提取面中心線有助于分析動物遷徙路徑、棲息地邊界和生態系統的連通性。

????????6. 土地規劃:在城市和區域土地規劃中,面中心線可以用于確定道路和交通基礎設施的位置,以更有效地規劃土地用途和城市發展。

????????7. 基礎設施管理:面中心線可以用于公共事業管理,例如管理管道、電纜和電力線路,以及城市基礎設施的維護。

????????8. 地理數據可視化:提取面中心線有助于制作地圖和地理數據可視化,使復雜地理信息更易于理解。

????????9. 地理分析:面中心線提取可用于各種地理分析任務,如地理數據分析、地理統計和地理信息系統建模。

????????總之,提取面中心線有助于簡化地理數據、提高數據的可讀性,同時為各種應用提供了更有用的地理信息,包括規劃、導航、資源管理、環境研究和基礎設施管理等。這使面中心線提取成為GIS數據處理中的重要步驟。

三、面中心線提取,有何難點?

圖片

????????提取面中心線雖然在許多情況下非常有用,但也面臨一些挑戰和難點,這些難點包括:

????????1. 復雜多邊形形狀:面可以具有各種形狀,包括不規則多邊形、凹凸多邊形、多個內部環等。提取中心線時需要考慮處理這種多樣性。

????????2. 多邊形拓撲關系:當面具有拓撲關系,例如重疊或交叉時,提取中心線變得更加復雜。解決這些情況需要確保準確的幾何拓撲操作。

????????3. 數據質量:面數據的質量對中心線提取過程至關重要。不完整、有錯誤或不精確的數據可能導致不準確的中心線。

????????4. 內部多邊形和島嶼:如果面內部包含多個內部多邊形或島嶼,提取中心線時需要處理這些內部邊界,以確保正確的中心線。

????????5. 非線性線段:面可能包含Bézier曲線、圓弧和橢圓弧線段,這些非線性線段可能增加提取中心線的復雜性。

????????6. 交叉點:面中的交叉點(節點)需要正確處理,以避免在中心線中引入錯誤。

????????7. 性能問題:處理大量面數據時,提取中心線可能會變得非常耗時,需要考慮性能優化和計算效率。

????????8. 地理屬性的保留:中心線提取通常不包括面的地理屬性。如果需要將中心線與原始面的屬性相關聯,可能需要進行額外的數據處理。

????????面中心線提取通常需要考慮這些難點,并根據具體的應用需求和數據質量采取相應的方法和工具,以確保準確性和可靠性。不同的GIS軟件和算法也提供不同的解決方案,以滿足不同情況下的需求。

????????小編不說使了九牛二虎之力,但至少了花了一大把力氣,證實了,自力更生才是實現數據處理工具自由的可靠途徑。

四、面中心線提取工具

????????面中心線提取工具,用于解決面要素圖層中任意多邊形的中心線提取,正確處理面要素圖層中面要素之間,面要素圖層與其他連接要素(點、線、面)圖層間的連接,并對提取的中心線進行平滑和簡化處理。

4.1 工具概述

????????“面中心線提取”工具,支持的功能如下:

????????1)對面要素提取中心線,面要素形狀可以是任意多邊形,能很好的處理狹長多邊形,非狹長多邊形,有孔洞多邊形。

?????????2)當面要素有其他連接要素圖層,如點、線、面圖層,將按照輸入面要素與與之相交的其他要素的公共點(共享邊中點)進行有效連接;

???????? 3)對提取的中心線進行了平滑和簡化處理;

?????????4)輸出的中心線記錄了原始多邊形的ID,可用于源數據字段的連接和傳遞;并在每一個連接點處記錄構成連接點的源圖層名稱和要素ID,用于區分連接點類型,和解決匯入段屬性值的連續性問題。

4.2 功能流程

????????(1)工具打開界面如下圖所示:

圖片

????????(2)工具測試數據執行結果如下圖所示:

????????小編工具提取結果 VS ArcGIS Pro工具提取結果1:

圖片

????????小編工具提取結果 VS ArcGIS Pro工具提取結果2:

圖片

????????小編工具提取結果 VS ArcGIS Pro工具提取結果3:

圖片

? ? ? ? (3)工具參數介紹如下:

圖片

? ? ? ? (4)工具輸出:

????????要素類(FeatureClass),輸出兩個要素類,要素類1名稱使用“要素類名稱+_centerline”組成,用于存放提取的中心線數據;要素2名為“keep_con_points”,用于記錄每個與中心線連接的連接要素圖層的圖層名。輸出的要素類存放在輸出目錄中的scratch.gdb中。若scratch.gdb不存在,則自動創建,若已存在,不會覆蓋其中已有的要素。

????????輸出的兩個要素類,介紹如下圖:

圖片

? ? ? ? (5)注意事項:

????????連接要素與輸入的面要素需保持相同的坐標系。

圖片

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/43063.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/43063.shtml
英文地址,請注明出處:http://en.pswp.cn/web/43063.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

uniapp圖片壓縮之后在上傳

壓縮圖片js方法,新建imgPress.js /** * H5壓縮 二分查找算法來找到一個合適的圖像質量系數,使得壓縮后的圖片文件大小接近于目標大小* param {Object} imgSrc 圖片url * param {Object} callback 回調設置返回值 * */ export function compressH5(fileI…

nginx熱更新詳解及實戰操作

Nginx熱更新,也被稱為平滑升級或熱部署,是指在不中斷Nginx服務的情況下,對Nginx進行升級或更新其配置,以實現業務的無損和用戶無感知的升級過程。以下是關于Nginx熱更新的詳細解釋: 一、Nginx熱更新的原理 Nginx熱更…

Kubernetes APIServer 幾種基本認證方式

"認證",形象地理解就是"你是誰"。在上文中,用戶A在發起API請求時,管理員如何道該請求是用戶A發起的呢?所以,客戶端在發起API請求時,必須要攜帶一個身份信息來表明"我是誰"&a…

泰勒公式中拉格朗日余項和佩亞諾余項的區別及具體的應用場景案例

泰勒公式是微積分中的一個重要工具,用于將一個函數在某一點附近展開成多項式形式,以便于近似計算和分析。泰勒公式的一般形式為: f ( x ) f ( a ) f ′ ( a ) ( x ? a ) f ′ ′ ( a ) 2 ! ( x ? a ) 2 ? f ( n ) ( a ) n ! ( x ? a…

[CTF]-PWN:House of Cat堆題型綜合解析

原理: 調用順序: exit->_IO_wfile_jumps->_IO_wfile_seekoff->_IO_switch_to_wget_mode _IO_wfile_seekoff源碼: off64_t _IO_wfile_seekoff (FILE *fp, off64_t offset, int dir, int mode) {off64_t result;off64_t delta, new…

AI繪畫小白必備!Stable Diffusion常用插件合集,好用推薦!(附插件下載)

前言 寶子們,早上好啊~Stable Diffusion 常用插件,月月已經給大家整理好了,自取就好。 擁有這些SD常用插件,讓您的圖像生成和編輯過程更加強大、直觀、多樣化。以下插件集成了一系列增強功能,覆蓋從自動補全提示詞到…

開源項目:驅動創新與協作的時代引擎

《開源項目:驅動創新與協作的時代引擎》 在當今全球經濟與科技環境瞬息萬變的背景下,開源軟件項目如同一顆璀璨的新星,在開發者社區的天空中熠熠生輝。其蓬勃發展的態勢不僅成為了熱門話題,更是引領著技術領域的變革潮流。 開源…

無法訪問。你可能沒有權限使用網絡資源。請與這臺服務器的管理員聯系以查明你是否有訪問權限。【解決辦法】

問題描述 新建好一臺windows虛擬機,兩臺設備網絡是互通的,但是物理機在訪問虛擬機的網絡共享文件資源時,出現圖下所示的報錯:XXX無法訪問。你可能沒有權限使用網絡資源。請與這臺服務器的管理員聯系以查明你是否有訪問權限。用戶…

echarts無法加載Map地圖的問題

項目場景: echarts無法加載Map地圖的問題 詳情 查閱相關資料講,echarts4.9以上版本已經移除了map,那么我們就得重新打包echarts文件了。打包echarts.min.js的鏈接:https://echarts.apache.org/zh/builder.html 在這個鏈接頁面可…

考完軟考之后,如何評職稱?是否有有效期?

一、軟考和職稱之間的關系 軟考和職稱之間的關系可以這樣理解:拿到軟考證書并不意味著就能獲得職稱。軟考證書是技術等級證書,而職稱則是一種資格。如果單位聘用你做工程師,那么你的軟考證書就可以發揮作用,相當于獲得了職稱證。…

單商戶和多商戶的區別

單商戶商城通常由單個企業或品牌運營,專注于銷售自家產品,而多商戶商城則類似于一個平臺,允許多個商家入駐并銷售各自的商品。它們在經營模式、商家入駐和運營投入等方面有所不同。具體分析如下: 經營模式 單商戶商城&#xff1…

MES:連接計劃與執行的橋梁

想象一下,你的企業擁有一份完美的生產計劃,但如何將這份計劃準確無誤地轉化為實際生產中的每一步操作?這就是MES大展身手的地方。MES作為ERP(企業資源計劃)與車間自動化控制之間的橋梁,確保生產計劃能夠順暢…

hf-mirror (huggingface 的國內鏡像)

官網: https://hf-mirror.com/ 網站域名 hf-mirror.com,用于鏡像 huggingface.co 域名。作為一個公益項目,致力于幫助國內AI開發者快速、穩定的下載模型、數據集。 如何使用HF-Mirror 方法一:網頁下載 在https://hf-mirror.com/…

邊框插畫:成都亞恒豐創教育科技有限公司

邊框插畫:藝術與生活的精致邊界 在視覺藝術的廣闊天地里,邊框插畫以其獨特的魅力和細膩的表達方式,成為連接藝術與生活的一道精致邊界。成都亞恒豐創教育科技有限公司它不僅僅是圖像的外框裝飾,更是情感、故事與創意的延伸&#…

看到指針就頭疼?這篇文章讓你對指針有更全面的了解!

文章目錄 1.什么是指針2.指針和指針類型2.1 指針-整數2.2 指針的解引用 3.野指針3.1為什么會有野指針3.2 如何規避野指針 4.指針運算4.1 指針-整數4.2 指針減指針4.3 指針的關系運算 5.指針與數組6.二級指針7.指針數組 1.什么是指針 指針的兩個要點 1.指針是內存中的一個最小單…

【Python】ModuleNotFoundError: No module named ‘distutils.util‘ bug fix

【Python】ModuleNotFoundError: No module named distutils.util bug fix 1. error like this2. how to fix why this error occured , because i remove the origin version python of ubuntu of 20.04. then the system trapped in tty1 , you must make sure the laptop li…

MVC 返回集合方法,以及分頁

返回一個數據集方法 返回多個數據集方法 》》定義一個Model public class IndexMoel {public List<UserGroup> UserGroup{get;set;}public List<User> User{get;set;}}》》》控制器 //db 是 EF 中的上下文 var listnew IndexModel(); list.UserGroupdb.UserGro…

微信小程序中wx.navigateBack()頁面棧返回上一頁時執行上一頁的方法或修改上一頁的data屬性值

let pages getCurrentPages();let prevPage pages[pages.length - 2]; // 獲取上一個頁面實例對象console.log(prevPage) //打印信息// 在 wx.navigateBack 的 success 回調中執行需要的方法wx.navigateBack({delta: 1, // 返回上一頁success: function() {//修改上一頁的屬性…

秒懂設計模式--學習筆記(8)【結構型-組合模式】

目錄 7、組合模式7.1 組合模式&#xff08;Composite&#xff09;7.2 叉樹結構7.3 文件系統7.4 目錄樹展示7.5 自相似性的涌現7.6 組合模式的各角色定義7.7 組合 7、組合模式 7.1 組合模式&#xff08;Composite&#xff09; 是針對由多個節點對象&#xff08;部分&#xff0…

關于string的‘\0‘與string,vector構造特點,反迭代器與迭代器類等的討論

目錄 問題一&#xff1a;關于string的\0問題討論 問題二&#xff1a;C標準庫中的string內存是分配在堆上面嗎&#xff1f; 問題三&#xff1a;string與vector的capacity大小設計的特點 問題四&#xff1a;string的流提取問題 問題五&#xff1a;迭代器失效 問題六&#xf…