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

基于ArcGIS Engine的自動智能圖幅接邊算法與實(shí)現(xiàn)

2014-02-19 03:49:54
地理空間信息 2014年6期

穆 凱

(1.新疆維吾爾自治區(qū)第二測繪院, 新疆 烏魯木齊830000)

測繪領(lǐng)域目前常用的圖幅接邊編輯軟件有Geoway、AutoCAD、MapGIS、ArcDIS、Coredraw等,這些軟件在自動接邊時(shí)存在的問題有:不提供接邊檢查、無屬性項(xiàng)接邊、接邊生硬、直角房屋接邊角度變形、獨(dú)立面要素接邊與相鄰面產(chǎn)生面裂隙、大數(shù)據(jù)量接邊計(jì)算緩慢等[1-3]。人工接邊則存在接邊精度無法保證、屬性項(xiàng)接邊檢查工作量大、容易出現(xiàn)遺漏等問題[4]。本文結(jié)合上述常見的接邊問題,按照人機(jī)交互的接邊方式,先檢查再接邊,保留檢查結(jié)果,闡述錯(cuò)誤原因,并能定位錯(cuò)誤位置,保證接邊準(zhǔn)確性。設(shè)計(jì)智能算法確保大數(shù)據(jù)量接邊速度,做到線接邊自然過渡、面接邊角度無變化、無縫接邊。設(shè)計(jì)了多種接邊方案,最終實(shí)現(xiàn)操作者使用該程序能最大程度地提高工作效率、節(jié)約生產(chǎn)成本、保證產(chǎn)品質(zhì)量。

1 常用的編輯軟件接邊方法

1.1 ArcGIS自動接邊

ArcGIS中利用Spatial Adjustment里的edge match實(shí)現(xiàn)自動接邊。設(shè)置接邊緩沖區(qū),對接邊要素采用樣條法進(jìn)行平滑??梢赃x擇一個(gè)目標(biāo)點(diǎn)由多個(gè)源點(diǎn)連接來保證面要素接邊時(shí)不產(chǎn)生面裂隙,但ArcGIS接邊工具中沒有提供接邊檢查,屬性接邊后無法保持原要素的角度,接邊方式采用主圖附圖各改一半的方式,接邊后有些地方還得靠手工接邊。

1.2 MapGIS接邊

MapGIS提供了一個(gè)“接邊處理”的模塊,可以根據(jù)參數(shù)設(shè)置的方式進(jìn)行接邊范圍及容差設(shè)置,只支持單層接邊,線面接邊要分開,接邊效果生硬不自然,接邊結(jié)果為兩圖各改一半,無接邊檢查,無屬性檢查。

1.3 Geoway接邊

Geoway 軟件中專門設(shè)計(jì)了接邊工程,設(shè)計(jì)了接邊邊線確認(rèn)功能來保證接邊的準(zhǔn)確性,可以設(shè)置接邊緩沖區(qū),提供了3種接邊方案來應(yīng)對與已成圖接邊時(shí)所產(chǎn)生的問題。在線接邊過程中采用5點(diǎn)遞減的偏移方式進(jìn)行自然過渡處理,保證接邊不生硬。可以采用框選、點(diǎn)選要素的方式進(jìn)行自動接邊。但是在Geoway軟件中沒有提供直接構(gòu)面概念,其中的面要素都是通過線要素構(gòu)面的方式進(jìn)行的,所以對線要素接邊后要進(jìn)行重構(gòu)面的處理。此外Geoway中也沒有提供接邊檢查,以及屬性項(xiàng)接邊的功能,接邊后面形狀有變化。

1.4 AutoCAD、Coredraw接邊

AutoCAD和Coredraw本身并不是專業(yè)的GIS軟件,所以在設(shè)計(jì)中并沒有提供專門的接邊功能,可以通過軟件中自帶的捕捉和屬性查看功能進(jìn)行人工接邊,接邊費(fèi)時(shí)費(fèi)力,且容易遺漏,精度不高。

2 智能接邊算法

2.1 設(shè)計(jì)思路

將整個(gè)程序分為接邊檢查與接邊修復(fù)2個(gè)部分來實(shí)現(xiàn)。接邊檢查功能的設(shè)計(jì)既是對自動接邊功能的一種補(bǔ)充,又是對自動接邊成果的一種檢驗(yàn)。接邊檢查對因特定原因不能實(shí)現(xiàn)自動接邊需要手動接邊的圖幅提供了參考依據(jù)[5]。接邊修復(fù)分為線要素接邊、面要素接邊和屬性項(xiàng)接邊3種類型,修復(fù)側(cè)重各有不同,如圖1所示。

2.2 接邊邊界線的提取

邊界的確定直接影響到接邊的最終成果,它具有唯一性、準(zhǔn)確性的特點(diǎn)。下文中各種算法的實(shí)現(xiàn)都是以邊界線的提取為前提的。

首先通過圖號計(jì)算出主圖圖廓四角的大地坐標(biāo),然后通過高斯反算計(jì)算出投影坐標(biāo),為了確保圖廓精度,采用人機(jī)互動的方式對圖廓坐標(biāo)予以顯示,并可以進(jìn)行人工校正,再利用主圖與副圖的圖號判斷它們之間的空間位置關(guān)系,確定相鄰邊界線并將其保存為Geometry的數(shù)據(jù)形式,便于空間分析使用。

2.3 接邊檢查算法

圖1 接邊設(shè)計(jì)流程圖

按點(diǎn)查詢按要素修改的接邊方式,判斷這些在邊界上的點(diǎn)是否在限差范圍內(nèi),可以通過判斷是否存在與其相同類型的鄰圖點(diǎn)就可以。如果鄰圖不存在對應(yīng)接邊點(diǎn)則為空間幾何位置不接邊。在接邊檢查中先提取主圖與副圖邊界線上的點(diǎn),縮小比較范圍,來提高運(yùn)算效率。具體方法如下:

對已提取的邊界線Geometry建立緩沖極小的緩沖區(qū),分別對主圖和副圖作緩沖區(qū)分析,提取每幅圖中與邊界線上存在的點(diǎn)并將其分別保存至數(shù)據(jù)庫臨時(shí)表中。

IGeometry geometry = topologicalOperator.Buffer(distance);//對邊界線建立緩沖區(qū)

IRelationalOperator relationalOperator = geometry as IRelationalOperator;//將緩沖區(qū)放入關(guān)系容器中

if (relationalOperator.Contains(pointCollection.get_Point(i)))//提取邊線上的點(diǎn)

再對主圖邊界線上的點(diǎn)逐一建立緩沖區(qū),緩沖區(qū)范圍為接邊限差的最大距離。逐一與副圖邊界線上的點(diǎn)作比較,如果緩沖區(qū)范圍內(nèi)不存在副圖中的要素和邊界線的交點(diǎn),則證明該點(diǎn)所在位置的對應(yīng)幾何體與副圖存在幾何位置不接邊的情況,用紅色邊框?qū)υ擖c(diǎn)所在位置進(jìn)行標(biāo)注,并記錄錯(cuò)誤信息。通過axMapControl1.CenterAt方法可以實(shí)現(xiàn)雙擊錯(cuò)誤信息局部放大錯(cuò)誤位置的效果。如果緩沖區(qū)范圍內(nèi)存在副圖點(diǎn),則查詢其屬性信息是否與主圖屬性一致,如不一致用藍(lán)色邊框標(biāo)出,并記錄具體錯(cuò)誤原因,如圖2所示。

圖2 錯(cuò)誤記錄及錯(cuò)誤標(biāo)注

這種接邊檢查算法可能在面屬性檢查時(shí)出現(xiàn)誤判,將無公共邊但存在公共點(diǎn)的一對面進(jìn)行比較,而對角相鄰的面實(shí)際上屬性是可以不一致的。因此要在屬性比較前判斷2個(gè)面是否存在公共邊,再進(jìn)行屬性比較,如圖3所示。

圖3 蘆葦不會與相鄰的密集進(jìn)行屬性比較

2.4 線要素接邊算法

幾何位置接邊主要分線接邊和面接邊2種,每種方式都有其所側(cè)重的方向。線接邊首先通過接邊檢查后查找出有錯(cuò)誤的點(diǎn)所對應(yīng)的幾何體,判斷幾何形狀是線的幾何體,對該點(diǎn)作緩沖區(qū)查找,找出其可移動限差范圍內(nèi)的最近的一個(gè)屬性相同的線形幾何體與其進(jìn)行接邊。接邊算法是將2條線在圖廓線上對應(yīng)點(diǎn)移動至同一位置實(shí)現(xiàn)接邊,但這種算法所實(shí)現(xiàn)的接邊效果過渡不自然,因此要加入一定的智能算法對角度變化較大的線進(jìn)行擬合。首先判斷接邊前后的線在節(jié)點(diǎn)移動后角度變化是否超過30°,如果超過30°則對其進(jìn)行擬合,如圖4所示。

提取與線要素邊線上的點(diǎn)相鄰的連續(xù)4個(gè)點(diǎn)進(jìn)行擬合處理(如不足4點(diǎn)則注記遞減),主要的擬合算法有樣條法和逐漸遞減的方法。測試對5點(diǎn)進(jìn)行2次樣條法擬合和3次樣條法擬合后發(fā)現(xiàn),在對一些特殊的線段擬合后會超出移動限差位移,所以最終選用逐級遞減方式進(jìn)行擬合過渡。以下為算法的實(shí)現(xiàn)過程(usep1為邊界上點(diǎn)的序號,如果usp1為終點(diǎn),下式中usp1后改為減號,mdx1 、mdy1為邊界上點(diǎn)坐標(biāo)位移):

newp12.PutCoords(p1c.get_Point(usep1 + 1).X - (mdx1/ 5 * 4), p1c.get_Point(usep1 + 1).Y - (mdy1 / 5 * 4));

newp13.PutCoords(p1c.get_Point(usep1 + 2).X - (mdx1/ 5 * 3), p1c.get_Point(usep1 + 2).Y - (mdy1 / 5 * 3));

圖4 有過渡的自然接邊與沒有過渡的生硬接邊比較

newp14.PutCoords(p1c.get_Point(usep1 + 3).X - (mdx1/ 5 * 2), p1c.get_Point(usep1 + 3).Y - (mdy1 / 5 * 2));

newp15.PutCoords(p1c.get_Point(usep1 + 4).X - (mdx1/ 5 * 1), p1c.get_Point(usep1 + 4).Y - (mdy1 / 5 * 1));

2.5 面要素接邊算法

面要素接邊主要側(cè)重于解決接邊后面形狀變形、接邊后產(chǎn)生面裂隙和部分面不到邊界線這3類問題。其余接邊算法與線要素接邊相似,都是將2個(gè)不同要素邊線上對應(yīng)的一對點(diǎn)移動至同一位置。

接邊后,面要素形狀變形的原因是在邊界線上點(diǎn)位移后所產(chǎn)生的角度變化。因此只要對邊線上的點(diǎn)和與之相鄰且不在邊線上的點(diǎn)同時(shí)做平行移動,就不會發(fā)生角度變化。通過判斷與需要移動的點(diǎn)、相鄰序號的點(diǎn)和邊界線的關(guān)系判斷面要素點(diǎn)集的單調(diào)性,從而確定需要作平行移動的點(diǎn)[6]。

圖5 1點(diǎn)的相鄰點(diǎn)是2和8,2也在邊線上對1和8點(diǎn)進(jìn)行平行移動

在確定需作同時(shí)平行移動的點(diǎn)后(圖5中8號點(diǎn))對兩點(diǎn)同時(shí)作平行移動達(dá)到接邊后面要素形狀不變的效果。接邊后產(chǎn)生面裂隙的原因是,在對2個(gè)面要素因接邊發(fā)現(xiàn)位移后,與其有公共邊的相鄰面沒有同時(shí)發(fā)生對應(yīng)位移從而產(chǎn)生了面裂隙[7]。采用對移動節(jié)點(diǎn)作緩沖區(qū)分析的方法提取與之對應(yīng)的面要素,并提取對應(yīng)的點(diǎn)進(jìn)行映射移動,如圖6所示。

通常一個(gè)由4條邊構(gòu)成的面在被裁切后會與切割線有2個(gè)交點(diǎn),比較復(fù)雜的面會有偶數(shù)個(gè)交點(diǎn),當(dāng)出現(xiàn)奇數(shù)個(gè)節(jié)點(diǎn)時(shí),就有可能會是在作業(yè)過程中產(chǎn)生的失誤而導(dǎo)致的有一端點(diǎn)不在邊界線上。除此之外,也會有偶數(shù)個(gè)節(jié)點(diǎn),但在特殊情況下也存在部分面不到邊界線的情況。針對此情況,通過逐一判斷與面要素所有在邊界線上的點(diǎn)相鄰序號的左右2個(gè)節(jié)點(diǎn)來判斷它們是否在邊界線上,如果都不在邊界上,則選擇移動限差內(nèi)離邊線距離最近的一個(gè)節(jié)點(diǎn),將其移動至邊界上。

圖6 無縫接邊

3 結(jié) 語

經(jīng)過實(shí)際應(yīng)用檢驗(yàn)發(fā)現(xiàn),智能接邊算法可有效節(jié)省系統(tǒng)內(nèi)存資源,快速進(jìn)行圖幅要素的接邊檢查,實(shí)現(xiàn)數(shù)字地圖的快速接邊,解決了一般接邊算法存在的接邊生硬、接邊后形狀變化和接邊后存在的面裂隙等問題。而且具有簡單、實(shí)用、運(yùn)行效率高等特點(diǎn),特別是在數(shù)據(jù)量比較大的情況下效果尤其明顯。但是這種算法在對結(jié)構(gòu)過于復(fù)雜的面進(jìn)行接邊時(shí),暫時(shí)還存在一些遺漏,今后將進(jìn)一步完善。

[1]趙江洪.GIS中多圖幅自動接邊的實(shí)現(xiàn)方法探討[J].測繪通報(bào),2006(2):50-52

[2]孫麗娜,李吉之,陳靜.基于AO的同比例尺地形圖無縫接邊技術(shù)及其實(shí)現(xiàn)方法[J].測繪工程,2007(6):49-53

[3]王永哲,金永寶,劉烜.基于ArcGIS Engine 9.2的圖幅自動接邊算法的實(shí)現(xiàn)[J].安徽農(nóng)業(yè)科學(xué),2008(34):15 263-15 265

[4]戴相喜,周衛(wèi),高磊.DLG數(shù)據(jù)任意范圍接邊算法及實(shí)現(xiàn)[J].測繪通報(bào),2008(7):32-35

[5]趙江洪.地理信息系統(tǒng)中多圖幅接邊的設(shè)計(jì)與實(shí)現(xiàn)[J].測繪科學(xué),2004(1):45-46,6

[6]曹麗娟.基于ArcObjects的多圖幅自動接邊研究與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2010(9):49-51

[7]韓志遠(yuǎn).基于ArcObjects的城市基礎(chǔ)地理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].大眾科技,2010 (12):31-32

主站蜘蛛池模板: 专干老肥熟女视频网站| 国产99免费视频| 亚洲中文字幕在线观看| 成人亚洲国产| 全部免费毛片免费播放| 亚洲国产第一区二区香蕉| 久久一级电影| 99视频精品在线观看| 国禁国产you女视频网站| 天天色综合4| 黄色成年视频| 在线精品亚洲一区二区古装| 黄色免费在线网址| 香蕉精品在线| 国产成人精品一区二区| 日韩AV无码免费一二三区| 成人伊人色一区二区三区| 97se亚洲综合在线韩国专区福利| 爽爽影院十八禁在线观看| 欧美国产另类| 婷婷激情亚洲| 中文字幕中文字字幕码一二区| 一级毛片免费不卡在线视频| 国产精品成人AⅤ在线一二三四| 2021国产在线视频| 国产精品深爱在线| 亚洲第一色网站| 一区二区影院| 不卡视频国产| 性色一区| 午夜啪啪福利| 精品成人免费自拍视频| 福利视频一区| 性色一区| 这里只有精品在线播放| 国产成人免费手机在线观看视频| 99精品在线看| 亚洲日韩国产精品综合在线观看| 国产成人亚洲精品色欲AV| 国产18在线| 国产一级毛片网站| 国产00高中生在线播放| 91小视频在线播放| 国产拍在线| 无码网站免费观看| 无码电影在线观看| 免费在线一区| 成人永久免费A∨一级在线播放| 国产91丝袜在线播放动漫| 精品视频91| 免费午夜无码18禁无码影院| 国产免费久久精品44| 国产三级视频网站| 99久久精品免费看国产电影| 中文字幕乱码二三区免费| 欧美国产菊爆免费观看| 亚洲大尺码专区影院| 日本亚洲欧美在线| 欧美日韩一区二区在线免费观看| 免费在线色| 免费看的一级毛片| 欧美天天干| 国产成人一级| 亚洲中文无码av永久伊人| 特级aaaaaaaaa毛片免费视频| 天天综合网站| 成人国产精品2021| 日本免费一区视频| 天天躁夜夜躁狠狠躁躁88| 国产女人水多毛片18| AV片亚洲国产男人的天堂| 欧美国产日韩另类| 制服丝袜国产精品| 国产在线精彩视频二区| 无码精油按摩潮喷在线播放| 伊人色在线视频| 精品一区二区三区无码视频无码| 黄片在线永久| 欧美亚洲综合免费精品高清在线观看| 日韩精品无码免费专网站| 韩国自拍偷自拍亚洲精品| 亚洲欧美日韩色图|