• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向地圖綜合的矢量曲線(xiàn)彎曲識(shí)別研究

      2014-09-29 02:37:26李朝奎駱文芳嚴(yán)雯英
      地理空間信息 2014年4期
      關(guān)鍵詞:凹凸極大值拐點(diǎn)

      李朝奎,駱文芳,張 強(qiáng),嚴(yán)雯英

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

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

      曲線(xiàn)形態(tài)的基本結(jié)構(gòu)單元?jiǎng)澐址椒ê芏?,相?duì)其他曲線(xiàn)結(jié)構(gòu)單元,彎曲更易于被人們理解和接受,按彎曲單元進(jìn)行曲線(xiàn)劃分符合認(rèn)知規(guī)律[6]。只要矢量曲線(xiàn)的彎曲結(jié)構(gòu)描述清楚,線(xiàn)狀要素綜合則表現(xiàn)為由低層小彎曲到上層大彎曲的化簡(jiǎn)、合并、刪除過(guò)程,從而能夠保證曲線(xiàn)整體結(jié)構(gòu)特征不被破壞,同時(shí)曲線(xiàn)低層細(xì)節(jié)又得到簡(jiǎn)化。本文對(duì)矢量曲線(xiàn)彎曲識(shí)別的幾種常用算法進(jìn)行介紹,并在Visual Studio 2008和ArcEngine 9.3基礎(chǔ)上編程對(duì)各種識(shí)別算法進(jìn)行實(shí)例驗(yàn)證。

      1 矢量曲線(xiàn)彎曲識(shí)別方法

      1.1 基于通視性的彎曲識(shí)別

      通視性是指在一個(gè)簡(jiǎn)單彎曲內(nèi),第一個(gè)點(diǎn)到該彎曲上其他點(diǎn)的任一直線(xiàn)都與彎曲曲線(xiàn)不相割?;谕ㄒ曅缘膹澢惴枋鰹椋涸O(shè)點(diǎn)i、j是曲線(xiàn)中任意點(diǎn),存在i+1≤j≤n,其中點(diǎn)i為某段彎曲的起點(diǎn),Li,j是點(diǎn)i與點(diǎn)j連接的線(xiàn)段,為對(duì)應(yīng)的向量。在同一彎曲中,存在所有的,即它們的向量叉乘存在相同的方向性,即在同一彎曲中向量總會(huì)在向量和向量中間。當(dāng)與具有不同的正負(fù)性時(shí),表示點(diǎn)j 為當(dāng)前彎曲的結(jié)束點(diǎn)和第二個(gè)彎曲的起始點(diǎn),見(jiàn)圖1。

      1.2 基于凹凸性的彎曲識(shí)別

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

      //構(gòu)建向量

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

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

      //向量叉乘結(jié)果是否大于0

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

      //如果當(dāng)前向量叉乘結(jié)果與之前向量叉乘結(jié)果相異,則取當(dāng)前點(diǎn)為特征點(diǎn)

      if (curFlag != flag)

      {

      if (pntCol.PointCount> 2)

      {

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

      bends.Add(bend);

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

      bend = new Bend();

      pntCol = new PolylineClass();

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

      }

      curFlag = flag;

      }

      1.3 基于曲率極大值的彎曲識(shí)別

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

      //求當(dāng)前點(diǎn)與前一點(diǎn)的平均曲率

      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;//與之前的平均曲率的大小對(duì)比

      forCur = Cur;

      //如果當(dāng)前曲率對(duì)比為否,之前曲率對(duì)比為真,也就是曲率極大值所在

      if (curFlag&& !flag)

      {

      //第i-1個(gè)是極大值,添加特征點(diǎn)

      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 實(shí)例驗(yàn)證

      實(shí)例設(shè)計(jì)的目的是通過(guò)實(shí)踐來(lái)查找彎曲特征并檢驗(yàn)各種彎曲識(shí)別方法的可行性,從而分析各種識(shí)別方法的優(yōu)缺點(diǎn)。該實(shí)驗(yàn)以矢量曲線(xiàn)為例,在Visual Studio 2008和ArcEngine 9.3基礎(chǔ)上編程實(shí)現(xiàn)。

      2.1 基于通視性的彎曲識(shí)別

      根據(jù)前文算法,得到如圖3所示的結(jié)果??梢钥闯觯@種彎曲識(shí)別方法存在著一個(gè)極大的優(yōu)點(diǎn),就是能在彎曲劃分之后,較為輕松地判斷彎曲的類(lèi)型是U型還是V型。但在彎曲分布不勻稱(chēng)或不理想的情況下,它也存在某些缺點(diǎn),如彎曲劃分不勻稱(chēng)、效果不好。具體表現(xiàn)在,在視覺(jué)上應(yīng)為V型或者U型的彎曲,沒(méi)有全部劃分出來(lái)。在彎曲分布不均勻的曲線(xiàn)上,劃分出的復(fù)雜彎曲和簡(jiǎn)單彎曲在長(zhǎng)度上差距較大。

      2.2 基于凹凸性的彎曲識(shí)別

      根據(jù)拐點(diǎn)劃分彎曲是運(yùn)用最廣的方法。通過(guò)圖4可以看出,此方法的優(yōu)點(diǎn)是十分明確地區(qū)分了曲線(xiàn)的凹部和凸部,即凹凸的彎曲按順序均勻地分布在拐點(diǎn)連線(xiàn)的左右。但也存在著許多缺點(diǎn),如小彎曲(長(zhǎng)度?。?、微彎曲(彎曲度?。┮脖粍澐譃閺澢?。

      2.3 基于曲率極大值的彎曲識(shí)別

      通過(guò)此方法得到的彎曲大多數(shù)情況下是簡(jiǎn)單彎曲,如圖5所示。

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

      3 結(jié) 語(yǔ)

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

      [1]王結(jié)臣,閭國(guó)年.曲線(xiàn)矢量數(shù)據(jù)綜合的微凹凸消除算法[J].測(cè)繪通報(bào),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]錢(qián)海忠,伍芳.采用斜拉式彎曲劃分的曲線(xiàn)化簡(jiǎn)方法[J].測(cè)繪學(xué)報(bào),2007,36(4):443-449

      猜你喜歡
      凹凸極大值拐點(diǎn)
      凹凸的藝術(shù)
      三個(gè)與凹凸性相關(guān)的不等式及其應(yīng)用
      秦國(guó)的“拐點(diǎn)”
      新拐點(diǎn),新機(jī)遇
      廣州化工(2020年5期)2020-04-01 07:38:52
      恢復(fù)高考:時(shí)代的拐點(diǎn)
      最易寫(xiě)錯(cuò)筆順的字
      《廉潔拐點(diǎn)》
      紅巖春秋(2017年6期)2017-07-03 16:43:54
      基于小波模極大值理論的勵(lì)磁涌流新判據(jù)研究
      消除凹凸紋理有妙招!
      Coco薇(2015年5期)2016-03-29 23:22:15
      基于經(jīng)驗(yàn)?zāi)B(tài)分解的自適應(yīng)模極大值去噪方法
      望奎县| 渑池县| 铁力市| 日土县| 葵青区| 藁城市| 论坛| 乡宁县| 全椒县| 济宁市| 手机| 宁乡县| 富源县| 南澳县| 洪湖市| 舞阳县| 马山县| 视频| 江孜县| 广丰县| 翁源县| 宁陕县| 行唐县| 吴川市| 三河市| 贵阳市| 新和县| 龙陵县| 临清市| 阜康市| 雷山县| 钟山县| 大石桥市| 科技| 甘泉县| 佛冈县| 武山县| 乳山市| 汨罗市| 三门县| 疏勒县|