国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

GIS開發(fā):如何在GIS數(shù)據(jù)處理的過程中進(jìn)行拓?fù)錂z查?

2022-05-23 14:35 作者:新中地職業(yè)培訓(xùn)學(xué)校  | 我要投稿

在學(xué)習(xí)GIS專業(yè)知識或者從事GIS行業(yè)工作時,大家可能經(jīng)常會接觸到“拓?fù)洹薄ⅰ翱臻g拓?fù)潢P(guān)系”、“拓?fù)錂z查”等類似的概念,那么究竟什么是“拓?fù)洹保繛槭裁葱枰贕IS數(shù)據(jù)處理的過程中進(jìn)行拓?fù)錂z查?以及如何通過二次開發(fā)實(shí)現(xiàn)拓?fù)錂z查的功能?


1.什么是拓?fù)洌?/h1>

首先,我們簡要介紹下拓?fù)涞幕靖拍?,先看看下面一段定義:

拓?fù)鋵W(xué)是研究幾何圖形或空間在連續(xù)改變形狀后還能保持不變的一些性質(zhì)的一個學(xué)科,通過將空間幾何實(shí)體抽象成與其大小、形狀無關(guān)的點(diǎn),將連接實(shí)體的線路抽象成線,進(jìn)而研究點(diǎn)、線、面之間的關(guān)系。

其實(shí)簡單來說,拓?fù)鋵W(xué)屬于數(shù)學(xué)中幾何學(xué)的一個分支,它與通常的平面幾何、立體幾何有所不同,不研究幾何對象的長短、面積等度量性質(zhì),而是研究幾何對象之間的關(guān)系。

比如著名的哥尼斯堡七橋問題:是否存在這樣的走法,即任意從A、B、C、D出發(fā),走遍七座橋,每個橋只能通過一次,再回到出發(fā)點(diǎn)?

圖 1 哥尼斯堡七橋問題

在GIS中,拓?fù)涮幚淼暮诵氖墙⑼負(fù)潢P(guān)系,拓?fù)潢P(guān)系是地理對象在空間位置上的相互關(guān)系,如結(jié)點(diǎn)與線、線與面之間的連接關(guān)系??臻g實(shí)體之間的拓?fù)潢P(guān)系是GIS進(jìn)行空間分析和決策的基礎(chǔ)之一。

圖 2 空間拓?fù)潢P(guān)系



2.GIS數(shù)據(jù)為什么要進(jìn)行拓?fù)錂z查?

眾所周知,空間數(shù)據(jù)在采集和編輯過程中,常會不可避免地出現(xiàn)一些數(shù)據(jù)錯誤。例如,同一個結(jié)點(diǎn)或同一條線被數(shù)字化了兩次;相鄰的面狀幾何對象在采集過程中出現(xiàn)了裂縫或者相交;多邊形不封閉;多邊形的邊為懸線等等,導(dǎo)致假結(jié)點(diǎn)、冗余結(jié)點(diǎn)、懸線、重復(fù)線等錯誤數(shù)據(jù)的產(chǎn)生。

圖 3 線中包含重復(fù)結(jié)點(diǎn)


圖 4 區(qū)(多邊形)有空隙


圖 5 區(qū)(多邊形)不封閉

,而且比較隱蔽,肉眼不容易識別出來,通過手工方法也不易去除,導(dǎo)致采集的空間數(shù)據(jù)之間的拓?fù)潢P(guān)系和實(shí)際地物之間的拓?fù)潢P(guān)系不符合,以致影響后續(xù)的數(shù)據(jù)處理和分析工作,進(jìn)而影響數(shù)據(jù)的質(zhì)量和可用性。因此,需要進(jìn)行拓?fù)涮幚硐@些冗余和錯誤的數(shù)據(jù)。


3.二次開發(fā)實(shí)現(xiàn)拓?fù)錂z查

由于拓?fù)錂z查在GIS數(shù)據(jù)生產(chǎn)與使用過程中起到的關(guān)鍵作用,因此在各大GIS軟件中拓?fù)湎嚓P(guān)功能也成為必不可少的GIS模塊。其原理往往大同小異,即通過建立不同的拓?fù)湟?guī)則對數(shù)據(jù)進(jìn)行拓?fù)錂z查。

下面以MapGIS桌面二次開發(fā)為例,給大家介紹如何在桌面GIS應(yīng)用中快速開發(fā)實(shí)現(xiàn)拓?fù)錂z查功能:

(1)實(shí)現(xiàn)思路

MapGIS桌面二次開發(fā)SDK在MapGIS.SpatialAnalysis程序集中封裝了專門的拓?fù)錂z查類SPTopologyChecker,用于實(shí)現(xiàn)拓?fù)錂z查功能?;緦?shí)現(xiàn)思路如下:

圖 6 拓?fù)錂z查實(shí)現(xiàn)思路

(2)接口詳解

◆ 設(shè)置拓?fù)湟?guī)則,通過AddTopologyRule方法可以設(shè)置拓?fù)錂z查時的規(guī)則;MapGIS將多種不同類型的拓?fù)湟?guī)則封裝為枚舉類型供該方法作為參數(shù)設(shè)置,滿足不同情況下的拓?fù)錂z查需求。

圖 7 部分拓?fù)湟?guī)則

◆ 設(shè)置拓?fù)錂z查數(shù)據(jù),SetCheckSfcls方法可以設(shè)置要進(jìn)行拓?fù)錂z查的矢量數(shù)據(jù),其中第二個數(shù)據(jù)對象為參考數(shù)據(jù),即是否為兩個數(shù)據(jù)之間的拓?fù)錂z查,若僅為單個數(shù)據(jù)本身的拓?fù)?,第二個對象傳入空值null即可。

◆ 拓?fù)錂z查,值得注意的是CheckTopology方法包含了兩個參數(shù),分別是SPTopologyCheckParameter拓?fù)錂z查參數(shù)對象和SPTopologyErrorManager拓?fù)溴e誤管理對象,顧名思義分別是用于設(shè)置拓?fù)洳樵兊膮?shù)和管理拓?fù)溴e誤的。簡單來說,拓?fù)鋮?shù)對象可以設(shè)置拓?fù)錂z查時的容差、最小長度、面積等檢查指標(biāo),而錯誤管理對象則保存檢查處的錯誤結(jié)果,包括錯誤類型、對應(yīng)的要素等,便于進(jìn)行后續(xù)的錯誤修改。詳細(xì)接口信息可參考我們的在線API文檔:

develop.smaryun.com:81/


4.拓?fù)錂z查

通過上面介紹的接口,我們即可通過MapGIS桌面二次開發(fā)SDK實(shí)現(xiàn)GIS中常用的拓?fù)錂z查功能,下圖為單個區(qū)圖層使用部分規(guī)則進(jìn)行拓?fù)錂z查的結(jié)果:

圖 8 拓?fù)錂z查結(jié)果

其中,錯誤管理部分展示的內(nèi)容即為從SPTopologyErrorManager對象中獲取的各條拓?fù)溴e誤信息。


如果文章對你有幫助的話,也請你幫我2個忙吧 (*?▽?*)

給這篇文章一鍵三連吧,對我很重要啦~

關(guān)注一下我 @新中地職業(yè)培訓(xùn)學(xué)校,聽說現(xiàn)在關(guān)注的,以后都是尊貴的老粉啦!


獲取更多GIS開發(fā)相關(guān)課程資源V:gis0329

GIS開發(fā):如何在GIS數(shù)據(jù)處理的過程中進(jìn)行拓?fù)錂z查?的評論 (共 條)

分享到微博請遵守國家法律
筠连县| 谷城县| 长春市| 邻水| 达尔| 莱芜市| 十堰市| 大田县| 同德县| 五指山市| 临高县| 琼中| 松桃| 大连市| 故城县| 蒲江县| 景德镇市| 竹山县| 司法| 安图县| 东源县| 庆云县| 义马市| 岐山县| 九江县| 凤台县| 潞城市| 额尔古纳市| 永州市| 平顶山市| 尉犁县| 靖安县| 平阴县| 昂仁县| 南江县| 济宁市| 府谷县| 景泰县| 白朗县| 新丰县| 四川省|