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

面向地圖綜合的矢量曲線彎曲識別研究

2014-09-29 02:37:26李朝奎駱文芳嚴雯英
地理空間信息 2014年4期

李朝奎,駱文芳,張 強,嚴雯英

(1. 湖南科技大學 地理空間信息湖南省工程實驗室,湖南 湘潭 411201;2. 湖南科技大學 地球空間信息科學研究中心,湖南 湘潭 411201)

對于大部分GIS軟件而言,數據多以矢量形式存在,矢量曲線的綜合是地圖制圖綜合非常重要的內容之一[1]。曲線綜合的關鍵是在保持原曲線基本形態特征的情況下,刪除那些次要的小彎曲,并同時保持彎曲特征轉折點的精確性和不同地段彎曲程度的對比[2]。隨著制圖綜合技術的不斷發展,已經出現了各種各樣的曲線化簡算法[3-5],如D-P算法、Li-Openshaw算法和James算法等,這些算法都是通過保留某些相對重要的特征點而刪除矢量曲線上的某些坐標點來進行化簡的。然而矢量曲線并不僅僅是點的集合,它更是一種具有幾何形態的地理要素的表達。因此,矢量曲線的化簡綜合不是簡單的點的取舍操作,而應充分考慮曲線的彎曲特征,顧及曲線表達的地理語義。

曲線形態的基本結構單元劃分方法很多,相對其他曲線結構單元,彎曲更易于被人們理解和接受,按彎曲單元進行曲線劃分符合認知規律[6]。只要矢量曲線的彎曲結構描述清楚,線狀要素綜合則表現為由低層小彎曲到上層大彎曲的化簡、合并、刪除過程,從而能夠保證曲線整體結構特征不被破壞,同時曲線低層細節又得到簡化。本文對矢量曲線彎曲識別的幾種常用算法進行介紹,并在Visual Studio 2008和ArcEngine 9.3基礎上編程對各種識別算法進行實例驗證。

1 矢量曲線彎曲識別方法

1.1 基于通視性的彎曲識別

通視性是指在一個簡單彎曲內,第一個點到該彎曲上其他點的任一直線都與彎曲曲線不相割。基于通視性的彎曲算法描述為:設點i、j是曲線中任意點,存在i+1≤j≤n,其中點i為某段彎曲的起點,Li,j是點i與點j連接的線段,為對應的向量。在同一彎曲中,存在所有的,即它們的向量叉乘存在相同的方向性,即在同一彎曲中向量總會在向量和向量中間。當與具有不同的正負性時,表示點j 為當前彎曲的結束點和第二個彎曲的起始點,見圖1。

1.2 基于凹凸性的彎曲識別

基于凹凸性的彎曲識別方法分為以下幾個步驟:①探查拐點;②將曲線起始點和所有拐點按其在曲線中的先后順序依次放進分界點序列中;③根據分界點序列劃分彎曲。其中,拐點的查找方法有以下兩種:①通過邊線上任一點向兩邊相鄰的點作線段,兩線段的張角小于180°,該點可認為是凸部點;大于180°,則是凹部點,等于180°,則該點處于平部。②曲線上點的切向繞行方向在拐點處發生變化。在拐點一側為順時針旋轉,在另一側則順時針轉,因而可以采用向量叉乘的方法來判斷。其核心代碼如下:

//構建向量

fv = new Vector(pnts[i–1], pnts[i]);

tv = new Vector(pnts[i], pnts[i+1]);

//向量叉乘結果是否大于0

flag = Vector.CrossProduct(fv, tv) > 0 ? true : false;

//如果當前向量叉乘結果與之前向量叉乘結果相異,則取當前點為特征點

if (curFlag != flag)

{

if (pntCol.PointCount> 2)

{

(bend as IriverLine).Polyline = pntCol as Ipolyline;

bends.Add(bend);

featPnts.Add(pnts[i]); //添加特征點

bend = new Bend();

pntCol = new PolylineClass();

pntCol.AddPoint(pnts[i].ToEsriPoint(),ref missing, ref missing);

}

curFlag = flag;

}

1.3 基于曲率極大值的彎曲識別

基于曲率極大值的彎曲劃分方法如下:首先,計算點pi-1和點pi的切線角αi-1和αi;其次,計算由點pi-1和點pi組成的直線段li-1,i的長度;再次,求取點pi-1和pi的平均曲率ki-1,將ki-1作為點pi-1的曲率;最后,按照上面的方法依次計算每個點的曲率,算出所有曲率極大值(絕對值),如圖2所示。其核心代碼如下:

//求當前點與前一點的平均曲率

Cur = Math.Round(Math.Abs(pnts[i].Tangent -pnts[i - 1].Tangent) / PointUtil.GetDistance(pnts[i], pnts[i- 1]),5);

flag = forCur> Cur ? false : true;//與之前的平均曲率的大小對比

forCur = Cur;

//如果當前曲率對比為否,之前曲率對比為真,也就是曲率極大值所在

if (curFlag&& !flag)

{

//第i-1個是極大值,添加特征點

featPnts.Add(pnts[i -1]);

//生成彎曲

IPointCollection polyline = new PolylineClass();

for (int j = startIndex; j < i; j++)

{

polyline.AddPoint(pnts[j].ToEsriPoint(), ref missing,ref missing);

}

(bend as IRiverLine).Polyline = polyline as IPolyline;

bends.Add(bend);

//重新初始化

bend = new Bend();

startIndex = i - 2;

}

curFlag = flag;

2 實例驗證

實例設計的目的是通過實踐來查找彎曲特征并檢驗各種彎曲識別方法的可行性,從而分析各種識別方法的優缺點。該實驗以矢量曲線為例,在Visual Studio 2008和ArcEngine 9.3基礎上編程實現。

2.1 基于通視性的彎曲識別

根據前文算法,得到如圖3所示的結果。可以看出,這種彎曲識別方法存在著一個極大的優點,就是能在彎曲劃分之后,較為輕松地判斷彎曲的類型是U型還是V型。但在彎曲分布不勻稱或不理想的情況下,它也存在某些缺點,如彎曲劃分不勻稱、效果不好。具體表現在,在視覺上應為V型或者U型的彎曲,沒有全部劃分出來。在彎曲分布不均勻的曲線上,劃分出的復雜彎曲和簡單彎曲在長度上差距較大。

2.2 基于凹凸性的彎曲識別

根據拐點劃分彎曲是運用最廣的方法。通過圖4可以看出,此方法的優點是十分明確地區分了曲線的凹部和凸部,即凹凸的彎曲按順序均勻地分布在拐點連線的左右。但也存在著許多缺點,如小彎曲(長度小)、微彎曲(彎曲度小)也被劃分為彎曲。

2.3 基于曲率極大值的彎曲識別

通過此方法得到的彎曲大多數情況下是簡單彎曲,如圖5所示。

從上述實驗中可以看出,基于通視性的彎曲識別其結果不是很均勻,其中既包括復雜彎曲,又包括簡單彎曲。彎曲的弧底點在曲折系數較大的彎曲上較為突出,在曲折系數小的彎曲上表現不突出。基于凹凸性的彎曲識別其結果比較均勻,視覺效果比較理想。基于曲率極大值點的彎曲識別方法所探查到的曲率極大值點很多,超出了我們視覺上所認為的曲率極大值點數,比基于凹凸性彎曲識別方法的結果更加細膩。此外,其劃分的彎曲都是簡單彎曲。

3 結 語

線要素化簡的基本要求是整體輪廓形態的保持,尤其是每段大彎曲的特征點和形狀的保持,而根據不同的需要利用以上識別方法之一對矢量曲線進行彎曲識別后再對曲線進行化簡,有利于線要素整體形狀的自然保持,也可使化簡綜合的結果更合理。本文從理論和實踐的角度對比了幾種彎曲識別方法的合理性和優缺點,為地圖綜合中矢量曲線的化簡提供了質量保障。

[1]王結臣,閭國年.曲線矢量數據綜合的微凹凸消除算法[J].測繪通報,2002(1) : 17-18

[2]Wang Jiayao. The Principle of Cartographic Generalization for General Map[M].Beijing: Publishing House of Surveying and Mapping, 1993

[3]Douglas D H, Pecuker T K. Algorithms for the Reduction of the Number of Points Required to Represent a Digitized Line or Its Caricature[J]. The Canadian Cartographer, 1973,10(2):112-122

[4]Mamaster.Automated Line Generalization[J].Cartographica,1987,24(2):74-111

[5]Li Zhilin, Openshaw S. Algorithms for Line Generalization Based on Natural Objective Principles[J]. International Journal of Geographic Information Systems, 1992,6(5):373-389

[6]Wang Z, Muller J C. Line Generalization Based on Analysis of Shape Characteristics [J].Cartography and Geographic information Systems.1998, 25 (1):3-15

[7]錢海忠,伍芳.采用斜拉式彎曲劃分的曲線化簡方法[J].測繪學報,2007,36(4):443-449

主站蜘蛛池模板: 中文无码伦av中文字幕| 亚洲欧美人成人让影院| 在线国产91| 伊人AV天堂| 中文国产成人精品久久| 伊大人香蕉久久网欧美| 免费在线看黄网址| 婷婷伊人久久| 女同国产精品一区二区| 国产成人永久免费视频| 全部免费特黄特色大片视频| 四虎精品国产AV二区| 黄色成年视频| 无码人中文字幕| 狠狠亚洲五月天| 亚洲最大情网站在线观看| 9cao视频精品| 亚洲视频四区| 亚洲精品色AV无码看| 国产好痛疼轻点好爽的视频| 91毛片网| 国产第四页| 六月婷婷精品视频在线观看| 男女男精品视频| 亚洲AV色香蕉一区二区| 无码视频国产精品一区二区| 国产成人a在线观看视频| jijzzizz老师出水喷水喷出| 在线观看国产精美视频| 国产无码网站在线观看| 国外欧美一区另类中文字幕| 欧美日韩一区二区在线免费观看| 久久精品娱乐亚洲领先| 久久国产黑丝袜视频| 好吊妞欧美视频免费| 久久频这里精品99香蕉久网址| 午夜毛片免费看| 欧美三级视频在线播放| 亚洲国产精品人久久电影| 欧美精品啪啪| 亚洲AV无码久久天堂| 亚洲性日韩精品一区二区| 国产区在线看| 一级毛片高清| 国产丝袜丝视频在线观看| 99热最新网址| a毛片免费观看| 亚洲另类色| AⅤ色综合久久天堂AV色综合| 99这里精品| 亚洲天堂网站在线| 欧美日韩中文字幕在线| 国产区成人精品视频| 欧美翘臀一区二区三区| 国产理论最新国产精品视频| 91久久偷偷做嫩草影院精品| 亚洲欧洲一区二区三区| 白丝美女办公室高潮喷水视频| 久久久黄色片| 无码高潮喷水专区久久| 亚洲天堂免费在线视频| 18禁黄无遮挡免费动漫网站| 黄网站欧美内射| 成人欧美日韩| 少妇被粗大的猛烈进出免费视频| 综合色亚洲| 国产精品人成在线播放| 亚洲开心婷婷中文字幕| 美女被躁出白浆视频播放| 亚洲精品日产精品乱码不卡| 男女精品视频| 欧美性久久久久| 亚洲精品片911| 黄色片中文字幕| 99久久人妻精品免费二区| 欧美va亚洲va香蕉在线| 国产高清在线丝袜精品一区| a级毛片毛片免费观看久潮| 四虎免费视频网站| 久久久久久久蜜桃| 国产精品视频a| 伊人网址在线|