版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 地圖綜合線目標(biāo)的綜合算法研究</p><p><b> 目錄</b></p><p><b> 目錄I</b></p><p><b> 圖表目錄III</b></p><p><b> 摘要1</b></p>
2、;<p> ABSTRACT2</p><p><b> 第一章 緒論3</b></p><p><b> 1.1引言3</b></p><p><b> 1.2研究背景4</b></p><p> 1.3論文的組織5</p>&
3、lt;p> 第二章 線目標(biāo)綜合的基本理論和評(píng)價(jià)方法6</p><p> 2.1線目標(biāo)綜合的基本原理6</p><p> 2.2線目標(biāo)綜合的基本方法7</p><p> 2.2.1 角度法8</p><p> 2.2.2 面積法9</p><p> 2.2.3 垂比弦算法9</p>
4、;<p> 2.2.4 弧比弦算法10</p><p> 2.3線目標(biāo)綜合基本方法的不足11</p><p> 2.4算法評(píng)價(jià)的基本原理及指標(biāo)介紹12</p><p> 2.5本章小結(jié)13</p><p> 第三章 弧比弦算法的設(shè)計(jì)及改進(jìn)14</p><p> 3.1弧比弦算法的基本
5、原理14</p><p> 3.2弧比弦算法的改進(jìn)18</p><p> 3.2.1增強(qiáng)支撐域的自適應(yīng)性改進(jìn)18</p><p> 3.2.2 增強(qiáng)算法的迭代性更優(yōu)化其性能22</p><p> 3.3本章小結(jié)26</p><p> 第四章 在Visual Studio 2008平臺(tái)上用Arc En
6、gine 9.3二次開(kāi)發(fā)實(shí)現(xiàn)算法27</p><p> 4.1開(kāi)發(fā)平臺(tái)介紹27</p><p> 4.1.1、Arc Engine 9.3介紹27</p><p> 4.1.2、Visual Studio 2008 C#.NET介紹27</p><p> 4.2算法的實(shí)現(xiàn)28</p><p> 4.
7、2.1、MainForm窗體28</p><p> 4.2.2、CArcDivideDistance類31</p><p> 4.2.3、CNewArcDDistance類32</p><p> 4.2.4、CNewDDis1類33</p><p> 4.2.5、CEvalution類34</p><p&
8、gt; 4.3 本章小結(jié)35</p><p> 第五章 總結(jié)及展望36</p><p><b> 主要參考文獻(xiàn)37</b></p><p><b> 致謝38</b></p><p><b> 圖表目錄</b></p><p> 圖1
9、 曲線簡(jiǎn)化算法示例6</p><p> 圖2 線目標(biāo)綜合算法的分類8</p><p><b> 圖3 角度法8</b></p><p><b> 圖4 面積法9</b></p><p> 圖5 垂比弦算法10</p><p> 圖6 弧比弦算法10<
10、;/p><p> 圖7 曲線簡(jiǎn)化法生成自相交11</p><p> 圖8 連續(xù)剔除節(jié)點(diǎn)造成曲線大的失真11</p><p> 圖9 曲線簡(jiǎn)化算法的性能評(píng)價(jià)——矢量和面的位移12</p><p> 圖10 Nakos–Mitropoulos算法14</p><p> 圖11 原始曲線圖15</p&g
11、t;<p> 圖12 用弧比弦算法簡(jiǎn)化線目標(biāo)16</p><p> 圖13 用弧比弦算法簡(jiǎn)化線目標(biāo)17</p><p> 圖14 增強(qiáng)支撐域的自適應(yīng)性改進(jìn)18</p><p> 圖15 增強(qiáng)支撐域的自適應(yīng)性改進(jìn)結(jié)果圖119</p><p> 圖16 增強(qiáng)支撐域的自適應(yīng)性改進(jìn)結(jié)果圖220</p>
12、<p> 圖17 兩種算法的每個(gè)點(diǎn)的弧比弦值22</p><p> 圖18 增強(qiáng)算法的迭代性改進(jìn)算法2結(jié)果圖123</p><p> 圖19 增強(qiáng)算法的迭代性改進(jìn)算法2結(jié)果圖224</p><p> 圖20 程序主界面28</p><p> 表1 弧比弦算法保留點(diǎn)不同的評(píng)價(jià)指標(biāo)16</p><
13、p> 表2 弧比弦算法保留點(diǎn)不同的評(píng)價(jià)指標(biāo)17</p><p> 表3 增強(qiáng)支撐域的自適應(yīng)性改進(jìn)評(píng)價(jià)結(jié)果表121</p><p> 表4 增強(qiáng)支撐域的自適應(yīng)性改進(jìn)評(píng)價(jià)結(jié)果表221</p><p> 表5 增強(qiáng)算法的迭代性改進(jìn)算法2評(píng)價(jià)結(jié)果表125</p><p> 表6 增強(qiáng)算法的迭代性改進(jìn)算法2評(píng)價(jià)結(jié)果表225&l
14、t;/p><p><b> 摘要</b></p><p> 地圖綜合是地理信息科學(xué)界、地圖制圖科學(xué)界的重要研究課題之一。其中線目標(biāo)的綜合算法研究是一個(gè)關(guān)鍵的問(wèn)題。現(xiàn)有線目標(biāo)綜合算法大多是考慮線目標(biāo)的節(jié)點(diǎn)曲率,通過(guò)確定節(jié)點(diǎn)的重要性程度來(lái)進(jìn)行節(jié)點(diǎn)剔除,以實(shí)現(xiàn)線目標(biāo)的簡(jiǎn)化。然而,現(xiàn)有算法在算法效率、簡(jiǎn)化錯(cuò)誤率、表達(dá)效果等方面都存在不足。為此,本文試圖解決這些問(wèn)題,提出一種迭
15、代的自適應(yīng)弧比弦算法。首先,本文簡(jiǎn)要地回顧了國(guó)內(nèi)外地圖綜合的發(fā)展現(xiàn)狀,闡述了線目標(biāo)綜合的基本理論和方法;然后,結(jié)合弧比弦算法的優(yōu)缺點(diǎn),提出了一種自適應(yīng)弧比弦算法,降低了曲線簡(jiǎn)化的錯(cuò)誤率,優(yōu)化了算法結(jié)果。在此基礎(chǔ)上,使用迭代法對(duì)改進(jìn)算法進(jìn)行了進(jìn)一步優(yōu)化,在不追求算法效率的前提下得到了更優(yōu)的效果。進(jìn)而,通過(guò)在Visual Studio 2008平臺(tái)中用C#.NET + Arc Engine 9.3二次開(kāi)發(fā)實(shí)現(xiàn)原弧比弦算法及其改進(jìn)算法,進(jìn)一步
16、驗(yàn)證了本文改進(jìn)算法的可行性、有效性和健壯性。最后,總結(jié)了本文的研究成果,并展望了該方向進(jìn)一步研究的若干問(wèn)題。</p><p> 關(guān)鍵字: 地圖綜合;線目標(biāo)簡(jiǎn)化;弧比弦;算法改進(jìn)</p><p><b> ABSTRACT</b></p><p> In the map generalization, generalization of t
17、he line feature was very important. For the generalization of the line feature, point-reduction is one of the most important issues. In the process of the curve simplification, a most basic issue is how to measure the im
18、portance of all vertices in the curve. This article briefly retrospect the development status of the map generalization both abroad and at home, elaborates the basic principle and method on the local length ratio algorit
19、hm, compares i</p><p> Key words:map generalization; measure of the importance of vertices in the curve; local length ratio algorithm; improvement of the algorithm</p><p><b> 第一章 緒論</
20、b></p><p><b> 1.1引言</b></p><p> 隨著地理信息系統(tǒng)應(yīng)用領(lǐng)域和需求層次的不斷擴(kuò)展和多樣化,地圖綜合問(wèn)題成了當(dāng)前地理信息科學(xué)研究的熱點(diǎn)問(wèn)題[1]。地圖綜合中的一個(gè)重要內(nèi)容是單個(gè)線目標(biāo)的綜合,其核心問(wèn)題是曲線的簡(jiǎn)化。這一問(wèn)題作為地圖綜合的重要組成部分被許多學(xué)者所研究,并廣泛應(yīng)用于地理信息科學(xué)、計(jì)算機(jī)視覺(jué)、計(jì)算機(jī)圖形學(xué)、模式識(shí)別等
21、諸多領(lǐng)域[2]。例如,在地理信息科學(xué)領(lǐng)域,曲線簡(jiǎn)化應(yīng)用于地圖綜合、數(shù)據(jù)壓縮等方面;在模式識(shí)別與計(jì)算機(jī)圖形學(xué)領(lǐng)域,曲線簡(jiǎn)化則用于目標(biāo)提取,節(jié)點(diǎn)的壓縮編碼等方面。</p><p> 在曲線簡(jiǎn)化的過(guò)程中,一個(gè)最基本的問(wèn)題是如何確定曲線上節(jié)點(diǎn)的重要性程度。Attneave發(fā)現(xiàn)在曲線上,一部分節(jié)點(diǎn)比另一部分節(jié)點(diǎn)有著更豐富的信息,保留那些有著豐富信息的節(jié)點(diǎn)可以在曲線簡(jiǎn)化后盡可能保持曲線的形狀不變和曲線的信息不丟失[3]。即
22、在曲線簡(jiǎn)化中剔除部分含信息較少的節(jié)點(diǎn)不會(huì)導(dǎo)致曲線大的變形和信息的丟失,從而很好的實(shí)現(xiàn)曲線的簡(jiǎn)化。于是,怎樣找出這些含有較多信息的節(jié)點(diǎn)就是曲線簡(jiǎn)化的一個(gè)重要問(wèn)題。而本文的主題就是討論如何找出曲線上那些含有豐富信息的節(jié)點(diǎn),即曲線簡(jiǎn)化方法優(yōu)化的問(wèn)題。</p><p> 目前,許多學(xué)者都在研究如何度量曲線上節(jié)點(diǎn)的重要性程度并簡(jiǎn)化曲線,他們提出的方法大致有以下兩個(gè)方向:無(wú)支撐域的曲線簡(jiǎn)化方法和有支撐域的曲線簡(jiǎn)化方法。其中
23、無(wú)支撐域的曲線簡(jiǎn)化方法主要包括角度法[4-6]、面積法[7]等;有支撐域的曲線簡(jiǎn)化方法則主要包括弧比弦算法[8]、垂比弦算法[9]等。現(xiàn)在又有許多綜合性算法,比如弧比弦算法與角度法的結(jié)合、垂比弦算法與角度法的結(jié)合等[1]。地圖綜合中著名的道格拉斯——普克算法就是無(wú)支撐域的曲線簡(jiǎn)化方法的一種[10]。這些算法都在地圖綜合中廣泛使用,其中角度法、面積法在地圖綜合中使用較早,但效果沒(méi)有后幾種方法好,所以現(xiàn)在普遍使用后幾種算法實(shí)現(xiàn)地圖綜合。&l
24、t;/p><p> 本文從弧比弦算法入手,先介紹該算法的工作原理,對(duì)其進(jìn)行分析,總結(jié)出它的優(yōu)點(diǎn)和不足,并對(duì)其不足進(jìn)行自適應(yīng)的改進(jìn)。在此基礎(chǔ)上,使用迭代法對(duì)自適應(yīng)改進(jìn)算法進(jìn)行進(jìn)一步優(yōu)化,在不追求算法效率的前提下得到了更優(yōu)的效果。繼而采用當(dāng)下流行的Visual Studio 2008平臺(tái)用C#.NET + Arc Engine 9.3二次開(kāi)發(fā)實(shí)現(xiàn)弧比弦算法及其改進(jìn)算法,并用給出的曲線簡(jiǎn)化評(píng)價(jià)指標(biāo)對(duì)其進(jìn)行評(píng)價(jià),最后得出結(jié)
25、論。</p><p><b> 1.2研究背景</b></p><p> 地圖綜合是傳統(tǒng)制圖學(xué)和自然地理學(xué)的課題,和所有其他地理學(xué)課題一樣,現(xiàn)在它也成為地理信息科學(xué)界的重要課題之一。從表現(xiàn)形式上看,地圖綜合是指地圖信息隨顯示范圍的變化而具有不同詳細(xì)程度。這種變化主要是由于地圖的縮放操作而引起的。在實(shí)際中,地圖的綜合包含兩層含義:一是顯示具有單一比例尺數(shù)據(jù)的某一地圖
26、時(shí),在不同的縮放比率下地圖呈現(xiàn)出具有不同詳細(xì)程度的外觀;二是當(dāng)?shù)貓D有多級(jí)比例尺時(shí),當(dāng)?shù)貓D的縮放比率達(dá)到一定程度時(shí),可以自動(dòng)調(diào)閱該圖上一級(jí)或下一級(jí)比例尺的地圖[11]。最理想的綜合應(yīng)是地圖自動(dòng)逐級(jí)抽象,這也是自動(dòng)綜合的研究目標(biāo),但目前實(shí)現(xiàn)起來(lái)仍較為困難。</p><p> 在以往地圖綜合的研究中,4個(gè)人先后出現(xiàn)提出了線目標(biāo)的綜合,他們分別是:Tobler (1966)、Töpfer(1966)、Pill
27、ewizer (1966) 和Perkal (1966)。在20世紀(jì)70年代,線目標(biāo)綜合算法得到了飛速發(fā)展,到20世紀(jì)80年代,學(xué)者們對(duì)這些線目標(biāo)綜合算法進(jìn)行了評(píng)價(jià),并展開(kāi)了面目標(biāo)的綜合算法研究。</p><p> 20世紀(jì)90年代以來(lái),地圖綜合一直是熱門(mén)的研究課題。國(guó)際制圖協(xié)會(huì)(ICA)于1991年成立自動(dòng)制圖綜合小組。國(guó)際攝影測(cè)量與遙感(ISPRS)協(xié)會(huì)于2000年專門(mén)設(shè)立了一個(gè)地圖綜合工作組。目前關(guān)于這一
28、主題的特別會(huì)議已經(jīng)舉辦了多次,并且都取得了巨大的成果。</p><p> 線目標(biāo)的綜合從地圖綜合的研究出現(xiàn)至今,一直經(jīng)歷著快速的發(fā)展。從Attneave發(fā)現(xiàn)線目標(biāo)上的一些點(diǎn)比另一些點(diǎn)包含更加豐富的信息,學(xué)者們就相繼發(fā)現(xiàn)了曲線簡(jiǎn)化的一系列方法,例如角度法,面積法,垂比弦算法,弧比弦算法等。后來(lái)又提出了一系列曲線簡(jiǎn)化算法的評(píng)價(jià)標(biāo)準(zhǔn),實(shí)現(xiàn)了算法效能的評(píng)價(jià)?,F(xiàn)在學(xué)者們又開(kāi)始了算法的融合和該進(jìn)[12],想進(jìn)一步優(yōu)化算法的
29、性能,這就是當(dāng)前線目標(biāo)綜合的研究方向。</p><p> 40多年過(guò)去了,隨著地理信息科學(xué)的發(fā)展,地圖綜合和曲線簡(jiǎn)化經(jīng)過(guò)40年余年的發(fā)展已經(jīng)相對(duì)比較成熟。一門(mén)學(xué)科經(jīng)過(guò)40多年的發(fā)展而確立,學(xué)科越來(lái)越完善,這標(biāo)志著它的逐漸成熟。</p><p><b> 1.3論文的組織</b></p><p> 本文共分為五章,分別從論文背景及問(wèn)題的提出
30、;線目標(biāo)綜合的基本理論、方法和弧比弦算法的分析和評(píng)價(jià);弧比弦算法的不足及其改進(jìn)以及改進(jìn)算法的評(píng)價(jià);在Visual Studio 2008平臺(tái)上用Arc Engine 9.3二次開(kāi)發(fā)實(shí)現(xiàn)弧比弦算法及其改進(jìn)算法這五個(gè)方面進(jìn)行闡述,下面對(duì)其分別進(jìn)行介紹:</p><p> 第一章為概論,首先闡述了論文的基本情況,介紹了地圖綜合的研究背景,以及論文研究問(wèn)題的提出,說(shuō)明了章節(jié)的安排情況。</p><p
31、> 第二章為線目標(biāo)綜合的基本理論和方法,介紹了線目標(biāo)綜合的基本原理和方法,闡述了線目標(biāo)綜合算法的一些不足及改進(jìn)方向,并對(duì)線目標(biāo)綜合算法的評(píng)價(jià)給出了基本的原理及指標(biāo)。</p><p> 第三章為弧比弦算法的設(shè)計(jì)及改進(jìn),首先介紹了弧比弦算法的基本原理,然后指出弧比弦算法的一些不足,并結(jié)合曲線綜合的改進(jìn)方向就兩個(gè)方面對(duì)其進(jìn)行改進(jìn),逐步得出最終的改進(jìn)算法,最后給出算法的評(píng)價(jià),得出自己的結(jié)論。</p>
32、<p> 第四章為在 Visual Studio 2008平臺(tái)上用Arc Engine 9.3二次開(kāi)發(fā)實(shí)現(xiàn)算法,首先介紹了開(kāi)發(fā)的基本平臺(tái),然后分別講述了原弧比弦算法及其改進(jìn)算法的實(shí)現(xiàn)方法。</p><p> 第五章為總結(jié)及展望,主要總結(jié)了我在論文完成中遇到的一些問(wèn)題及以后對(duì)該課題的后續(xù)研究方向。</p><p> 最后為主要參考文獻(xiàn)及致謝。</p><
33、;p> 第二章 線目標(biāo)綜合的基本理論和評(píng)價(jià)方法</p><p> 2.1線目標(biāo)綜合的基本原理</p><p> 線目標(biāo)綜合算法,顧名思義,是減少曲線上不必要的點(diǎn)的數(shù)量,用較少的含有豐富信息的點(diǎn)來(lái)表達(dá)這條曲線的算法,我們也稱這種算法為曲線簡(jiǎn)化算法。在早期,減少曲線上的點(diǎn)的數(shù)量是一個(gè)十分重要的課題,因?yàn)樵诋?dāng)時(shí)而言,存儲(chǔ)曲線的大量數(shù)據(jù)是一個(gè)很大的開(kāi)銷。于是就有許多學(xué)者開(kāi)始研究如何用較
34、少的含有豐富信息的點(diǎn)來(lái)代替原始曲線以達(dá)到曲線簡(jiǎn)化的目的。圖1說(shuō)明了曲線簡(jiǎn)化算法的基本思想。圖1a是一條曲線,它有許多點(diǎn)組成,但其中只有少數(shù)被選擇用來(lái)代表原來(lái)的線目標(biāo)。圖1b則顯示了許多曲線簡(jiǎn)化的可能結(jié)果之一,它用五個(gè)點(diǎn)來(lái)代表原始曲線。</p><p> 圖1 曲線簡(jiǎn)化算法示例</p><p> 我們利用曲線簡(jiǎn)化算法進(jìn)行線目標(biāo)綜合的原理如下:通常情況下,通過(guò)刪除一些點(diǎn),線的形狀可以簡(jiǎn)化。
35、所以許多學(xué)者用這種算法實(shí)現(xiàn)線目標(biāo)的綜合。曲線簡(jiǎn)化算法的目標(biāo)是盡量用最少的點(diǎn)去擬合原始曲線。必須強(qiáng)調(diào)的是,在這些算法中應(yīng)該盡量避免尺度的變化。這樣就可以實(shí)現(xiàn)線目標(biāo)的綜合了。</p><p> 曲線簡(jiǎn)化算法的最初思想,是由Attneave在1954年發(fā)現(xiàn)的,他發(fā)現(xiàn)線目標(biāo)上的一些點(diǎn)比其他一些點(diǎn)有著更豐富的信息,這些有著豐富信息的較少的點(diǎn)足以表達(dá)線目標(biāo)的形狀。換言之,大量的信息較少的點(diǎn),可以被除去而不會(huì)造成線目標(biāo)大的變
36、形。在這種思想中,那些有著豐富信息的點(diǎn),在計(jì)算機(jī)圖形學(xué)和模式識(shí)別學(xué)我們稱之為支配點(diǎn);而在空間信息科學(xué)中則被我們稱作關(guān)鍵點(diǎn)。</p><p> 關(guān)鍵點(diǎn)在許多學(xué)科中都是一個(gè)重要的概念,如計(jì)算機(jī)視覺(jué)、圖像處理、模式識(shí)別、計(jì)算機(jī)圖形學(xué)和地理空間科學(xué)等。例如,在地理空間科學(xué)中,關(guān)鍵點(diǎn)的概念可應(yīng)用于數(shù)據(jù)壓縮,線的夸張表達(dá),以及線的綜合等;在計(jì)算機(jī)視覺(jué)和模式識(shí)別中,則可應(yīng)用于特征提取,形狀識(shí)別,基于點(diǎn)的運(yùn)動(dòng)的評(píng)價(jià)和編碼的算法
37、等。</p><p> 而我們知道,在經(jīng)典的幾何學(xué)中,曲線的關(guān)鍵點(diǎn)通常是:</p><p><b> 極大值點(diǎn)</b></p><p><b> 極小值點(diǎn)</b></p><p><b> 曲率極小值點(diǎn)</b></p><p><b>
38、 曲率極大值點(diǎn)</b></p><p> 而Freeman1978年在上述列表中增加了以下新的內(nèi)容[1]:</p><p><b> 曲率不連續(xù)點(diǎn)</b></p><p><b> 終點(diǎn)</b></p><p><b> 交點(diǎn)</b></p>
39、<p><b> 切點(diǎn)</b></p><p> 由于這些點(diǎn)都擁有明確的定義,他們的特征不會(huì)受到曲線縮放(擴(kuò)大或減少),旋轉(zhuǎn)或平移的影響,所以它們十分適合被當(dāng)作曲線的關(guān)鍵點(diǎn)。</p><p> 而怎樣找出這些關(guān)鍵點(diǎn)并用它來(lái)表示原始曲線,就成為線目標(biāo)綜合算法研究的主要問(wèn)題。</p><p> 2.2線目標(biāo)綜合的基本方法<
40、/p><p> 線目標(biāo)綜合主要有兩種基本方法:無(wú)支撐域的綜合方法和有支撐域的綜合方法。無(wú)支撐域的綜合方法主要包括角度法、面積法等;而有支撐域的綜合方法主要包括弧比弦算法和垂比弦算法等。而現(xiàn)在又產(chǎn)生了許多綜合性算法,比如弧比弦算法與角度法的結(jié)合、垂比弦算法與角度法的結(jié)合等。圖2顯示了這樣的分類。</p><p> 通過(guò)分析可以發(fā)現(xiàn),用作無(wú)支撐域的曲線綜合算法的標(biāo)準(zhǔn)通常主要是原始的幾何參數(shù)(如
41、距離,角度,面積等),而用作有支撐域的曲線綜合的標(biāo)準(zhǔn)則主要是幾何參數(shù)的運(yùn)算結(jié)果(如垂比弦值和弧比弦值等)。下面將分別介紹這幾種算法,見(jiàn)圖2。</p><p> 圖2 線目標(biāo)綜合算法的分類</p><p><b> 2.2.1 角度法</b></p><p> 一條曲線如果刪除其中某個(gè)點(diǎn),將會(huì)引起一個(gè)角度的變化。因此,可以根據(jù)這一角度變化的
42、大小來(lái)度量這個(gè)點(diǎn)的重要性,當(dāng)然端點(diǎn)應(yīng)該除外。我們不妨設(shè)曲線上的點(diǎn)依次為P0,P1,P2,?,Pn(P0和Pn為曲線的兩個(gè)端點(diǎn)) ,那么刪除任一點(diǎn)Pi所引起的角度變化可以表達(dá)為:</p><p><b> ?。?)</b></p><p> 圖3的曲線有5個(gè)節(jié)點(diǎn),分別記為P0、P1、P2、P3和P4。根據(jù)式(1)可依次計(jì)算得到P1、P2和P3的角度度量值。我們可以知道
43、,角度變化越大,點(diǎn)的重要性程度越高,其值也就越大。</p><p><b> 圖3 角度法</b></p><p><b> 2.2.2 面積法</b></p><p> 一條曲線如果刪除其中某個(gè)點(diǎn)將會(huì)產(chǎn)生一個(gè)局部變形。因此,可以利用新曲線與原始曲線圍成的變形的面積來(lái)度量這個(gè)點(diǎn)的重要性(圖4)。這一方法稱為面積法。刪
44、除每個(gè)點(diǎn)(端點(diǎn)除外)所引起的面積變化可以表達(dá)為:</p><p><b> (2)</b></p><p> 圖4的曲線有5個(gè)節(jié)點(diǎn),分別記為P0、P1、P2、P3和P4。根據(jù)式(2) ,可以得到圖中每個(gè)節(jié)點(diǎn)的面積變形值。面積變形值越大,節(jié)點(diǎn)重要性程度越高。相反,面積變形值越小,節(jié)點(diǎn)重要性程度則越低。</p><p><b> 圖
45、4 面積法</b></p><p> 2.2.3 垂比弦算法</p><p> 曲線上的節(jié)點(diǎn)Pi ,其重要性可以根據(jù)該點(diǎn)到其鄰近點(diǎn)Pi-k、Pi+k連接弦長(zhǎng)的垂直距離Di,k,與弦長(zhǎng)Ci,k的比值來(lái)度量,該種度量方法稱之為垂比弦算法,其表達(dá)式可以表達(dá)為:</p><p><b> (3)</b></p><
46、p> 式中k的取值從1開(kāi)始,直到滿足如下條件結(jié)束:</p><p><b> (4)</b></p><p> 如圖5 ,對(duì)于點(diǎn)P4,k取值為2。不難發(fā)現(xiàn),該方法是一種自適應(yīng)度量方法,它沒(méi)有固定的支撐域。而這里支撐域可以理解為一種約束,即式(4)。</p><p><b> 圖5 垂比弦算法</b></
47、p><p> 2.2.4 弧比弦算法</p><p> 弧比弦算法是曲線簡(jiǎn)化算法中較為成熟高效的一種算法,見(jiàn)圖6,Teh和Chin用兩點(diǎn)之間的弧長(zhǎng)和相應(yīng)的弦長(zhǎng)的比值來(lái)度量節(jié)點(diǎn)的重要性,不同于用垂直距離Di,k,與相應(yīng)弦長(zhǎng)Ci,k的比值來(lái)度量節(jié)點(diǎn)的重要性的垂比弦算法,弧比弦算法的表達(dá)式可以表達(dá)為:</p><p><b> (5)</b><
48、;/p><p> 一種特殊的情況是支撐域的圓與曲線只有一個(gè)交點(diǎn),這種情況下,我們把圓心到這一交點(diǎn)的直線距離作為弦長(zhǎng)Ci,k,即弦長(zhǎng)Ci,k等于半徑R。</p><p><b> 圖6 弧比弦算法</b></p><p> 2.3線目標(biāo)綜合基本方法的不足</p><p> 大多數(shù)曲線簡(jiǎn)化算法可能有以下幾個(gè)不足:<
49、/p><p> 1、算法得到的解可能不是最優(yōu)的。</p><p> 這一問(wèn)題正是我算法改進(jìn)所參考的主要因素,提高算法的效率及性能,達(dá)到算法的優(yōu)化是所有算法改進(jìn)工作的最終目標(biāo),我此次改進(jìn)也是從這方面入手的。</p><p> 2、不能保證生成曲線之間的自相交。</p><p> 自相交的問(wèn)題見(jiàn)圖7,產(chǎn)生曲線的自相交將嚴(yán)重破壞曲線的拓?fù)潢P(guān)系,
50、極端的時(shí)候可能會(huì)產(chǎn)生致命的缺陷,所以優(yōu)秀的綜合算法必須盡可能的避免產(chǎn)生曲線的自相交問(wèn)題。</p><p> 圖7 曲線簡(jiǎn)化法生成自相交</p><p> 3、可能連續(xù)剔除節(jié)點(diǎn)而造成新生成曲線大的失真。</p><p> 算法可能造成節(jié)點(diǎn)的連續(xù)剔除而導(dǎo)致曲線產(chǎn)生較大的變形,如圖,曲線簡(jiǎn)化時(shí)由于節(jié)點(diǎn)的連續(xù)剔除而出現(xiàn)曲線的嚴(yán)重變形。</p><p
51、> 圖8 連續(xù)剔除節(jié)點(diǎn)造成曲線大的失真</p><p> 4、保留的節(jié)點(diǎn)并不一定對(duì)曲線的表達(dá)是必須的。</p><p> 這一問(wèn)題是現(xiàn)在綜合算法的前沿研究方向,怎樣確定曲線上點(diǎn)的重要性程度成為許多學(xué)者研究的方向,即曲線上節(jié)點(diǎn)的信息量的度量方法,我在今后的研究中將進(jìn)一步的研究這個(gè)方向。</p><p> 以上所說(shuō)的這些問(wèn)題往往會(huì)造成算法的效果不盡如人意,
52、所以許多學(xué)者提出了許多針對(duì)以上問(wèn)題的算法改進(jìn)方法,在下一章中我也將針對(duì)這些問(wèn)題對(duì)弧比弦算法進(jìn)行一些改進(jìn),并提出一種新的改進(jìn)弧比弦算法。</p><p> 2.4算法評(píng)價(jià)的基本原理及指標(biāo)介紹</p><p> White(1985)和McMaster(1986)提出了一些指標(biāo)來(lái)評(píng)價(jià)曲線簡(jiǎn)化算法的性能:即矢量位移和面位移[13]。這兩個(gè)參數(shù)是見(jiàn)圖9,圖9a是由原始曲線和保留點(diǎn)組成的新曲線所
53、形成的矢量位移,圖9b則是由原始曲線和保留點(diǎn)組成的新曲線所形成的面位移。顯然,矢量位移和面位移越小,算法的性能就越好。在矢量位移上,最大誤差、中位數(shù)、平均誤差均可作為其指標(biāo)。</p><p> 圖9 曲線簡(jiǎn)化算法的性能評(píng)價(jià)——矢量和面的位移</p><p> 而我在后文中將采用偏移平均值,偏移中值和面積變形值作為評(píng)價(jià)指標(biāo),這三種指標(biāo)主要是通過(guò)對(duì)刪除曲線上一些重要性程度較低的節(jié)點(diǎn)進(jìn)行評(píng)價(jià)
54、,在很大程度上可以視為對(duì)破壞原始曲線的穩(wěn)定性的評(píng)價(jià)。對(duì)于向量偏移,我計(jì)算其中值和平均值,即偏移平均值和偏移中值;對(duì)于面積變形,我通過(guò)簡(jiǎn)化后的曲線與原始曲線進(jìn)行疊加,然后計(jì)算產(chǎn)生的一系列區(qū)域單元的面積總和即可。</p><p><b> 2.5本章小結(jié)</b></p><p> 本章開(kāi)始闡述了線目標(biāo)綜合的基本方法,重點(diǎn)介紹了角度法、面積法、垂比弦算法以及弧比弦算法,
55、并且指出了這些算法的一些共同不足,例如算法得到的解可能不是最優(yōu)的;可能不能保證生成曲線之間的自相交問(wèn)題;可能連續(xù)剔除節(jié)點(diǎn)而造成新生成曲線大的失真;曲線保留的節(jié)點(diǎn)可能并不一定對(duì)曲線的表達(dá)是必須的。最后指出了評(píng)價(jià)這些算法的一個(gè)標(biāo)準(zhǔn),即矢量位移和面位移,給出了本文評(píng)價(jià)這些算法的標(biāo)準(zhǔn),即采用偏移平均值,偏移中值和面積變形值作為評(píng)價(jià)指標(biāo)。</p><p> 第三章 弧比弦算法的設(shè)計(jì)及改進(jìn)</p><p
56、> 3.1弧比弦算法的基本原理</p><p> 弧比弦算法是曲線簡(jiǎn)化算法中性能較好算法,它用兩點(diǎn)之間的弧長(zhǎng)和相應(yīng)的弦長(zhǎng)的比值為標(biāo)準(zhǔn)來(lái)度量曲線上節(jié)點(diǎn)的重要性?;”认宜惴ǖ倪@個(gè)比值可以表示為:</p><p><b> (6)</b></p><p> 對(duì)每一個(gè)節(jié)點(diǎn),都有它自身的一個(gè)支撐域,節(jié)點(diǎn)的支撐域可以理解為一種范圍,即在不同的
57、范圍內(nèi)節(jié)點(diǎn)有不同的重要性。例如在中國(guó)全圖上,長(zhǎng)沙很重要,但在全球地圖上,長(zhǎng)沙的重要性也許就有所下降了,這個(gè)范圍即可以理解為支撐域。根據(jù)文獻(xiàn)[8],支撐域半徑R 的取值由曲線的總長(zhǎng)度(L0) 和曲線的節(jié)點(diǎn)數(shù)V (其中端點(diǎn)除外)計(jì)算得到,其表達(dá)式為:</p><p><b> (7)</b></p><p> 由式(6),稱為曲線上節(jié)點(diǎn)的弧比弦值(也譯為局部長(zhǎng)度比),
58、圖10以第6點(diǎn)為例來(lái)說(shuō)明,其弧的長(zhǎng)度是兩部分的和,即A6和第6點(diǎn)的距離加上B6和第6點(diǎn)的距離。這里A6是的圓6(即點(diǎn)6的支撐域)和點(diǎn)5、點(diǎn)6連線段的交叉點(diǎn)。B6是的圓6和點(diǎn)6、點(diǎn)7連線段的交叉點(diǎn)。這種算法最初被Nakos和Mitropoulos發(fā)現(xiàn),所以也稱為Nakos–Mitropoulos算法[8]。</p><p> 圖10 Nakos–Mitropoulos算法</p><p>
59、 Nako–Mitropoulos算法流程如下:</p><p> 1、確定了支撐域的半徑值。</p><p><b> 2、計(jì)算每個(gè)點(diǎn)的。</b></p><p> 3、構(gòu)建函數(shù),并找到函數(shù)的極大值,以此最大值為關(guān)鍵點(diǎn)。</p><p> 4、循環(huán)以上步驟2、3,直到選中的關(guān)鍵點(diǎn)個(gè)數(shù)滿足給定的閾值。</
60、p><p> 本文采用Visual Studio 2008 C#.NET + Arc Engine 9.3二次開(kāi)發(fā)來(lái)實(shí)現(xiàn)該算法的程序(具體見(jiàn)后面章節(jié))。為了更好地對(duì)比算法,我采用兩條曲線作為實(shí)驗(yàn)曲線,其一為91個(gè)點(diǎn)的一條點(diǎn)分布密度較大的曲線,其二為一條40個(gè)點(diǎn)分布密度較小的曲線,它們的坐標(biāo)系均為WGS-84坐標(biāo)系,如下圖:</p><p><b> 圖11 原始曲線圖</b
61、></p><p> 對(duì)實(shí)驗(yàn)曲線1,用弧比弦算法進(jìn)行曲線簡(jiǎn)化,分別保留60、50、40、30個(gè)點(diǎn),所得簡(jiǎn)化結(jié)果見(jiàn)下圖:</p><p> 圖12 用弧比弦算法簡(jiǎn)化線目標(biāo)</p><p> 所得評(píng)價(jià)指標(biāo)見(jiàn)下表:</p><p> 表1 弧比弦算法保留點(diǎn)不同的評(píng)價(jià)指標(biāo)</p><p> 對(duì)實(shí)驗(yàn)曲線2,用弧比
62、弦算法進(jìn)行曲線簡(jiǎn)化,分別保留35、30、25、20個(gè)點(diǎn),所得簡(jiǎn)化結(jié)果見(jiàn)下圖:</p><p> 圖13 用弧比弦算法簡(jiǎn)化線目標(biāo)</p><p> 所得評(píng)價(jià)指標(biāo)如下表:</p><p> 表2 弧比弦算法保留點(diǎn)不同的評(píng)價(jià)指標(biāo)</p><p> 由上述兩個(gè)實(shí)驗(yàn),我們可以看出弧比弦算法隨著保留點(diǎn)的逐漸減少而變形逐漸變大。在曲線節(jié)點(diǎn)密集的情況
63、下效果較好,而在曲線節(jié)點(diǎn)稀疏的情況下效果有所下降,并產(chǎn)生了明顯的自相交,如圖13(d)。由此,結(jié)合上文中曲線綜合算法的可能不足,發(fā)現(xiàn)弧比弦算法有以下三個(gè)不足:</p><p> 1、算法精度有待提高;</p><p> 2、可能產(chǎn)生連續(xù)的減點(diǎn)而使曲線有較大的變形;</p><p> 3、生成的曲線可能產(chǎn)生自相交;</p><p> 不
64、難看出弧比弦算法有自己的一些獨(dú)特的缺點(diǎn)。結(jié)合這些不足,下文中我將分兩步提出一種弧比弦算法的改進(jìn)算法,對(duì)弧比弦算法進(jìn)行一些改進(jìn),改善上述不足。</p><p> 3.2弧比弦算法的改進(jìn)</p><p> 3.2.1增強(qiáng)支撐域的自適應(yīng)性改進(jìn) </p><p> 原弧比弦算法的支撐域R是整條曲線為相同的一個(gè)數(shù)值,這樣如果曲線的密度不均勻或者曲線太稀疏,很可能產(chǎn)生連續(xù)
65、的節(jié)點(diǎn)剔除而使曲線產(chǎn)生大的形變,因此曲線簡(jiǎn)化效果不是很好。我們可以總結(jié)為算法的自適應(yīng)性不強(qiáng),所以下文中我將提出一種增加自適應(yīng)性的改進(jìn)。如圖14:</p><p> 圖14 增強(qiáng)支撐域的自適應(yīng)性改進(jìn)</p><p> 計(jì)算P3點(diǎn)的弧比弦度量值,用P3到P2的距離L3加上P3到P4的距離L4之和(即弧的長(zhǎng)度之和)與P2與P4的距離L24(即弦的長(zhǎng)度)之比,這樣就相當(dāng)于其支撐域?yàn)檫^(guò)P2、P4
66、并且包含P3的一個(gè)圓,這樣就使得算法更具有自適應(yīng)性,提高了其效能。具體算法如下:</p><p> 1、從第二點(diǎn)到倒數(shù)第二點(diǎn),計(jì)算每個(gè)點(diǎn)的改進(jìn)弧比弦值,即一點(diǎn)的弧比弦值等于這點(diǎn)到相鄰兩點(diǎn)的弧長(zhǎng)之和比上相鄰兩點(diǎn)間的弦長(zhǎng)(端點(diǎn)除外)。</p><p> 2、找出其中的最大值點(diǎn)</p><p> 3、直到找到的點(diǎn)的數(shù)量滿足閾值為止</p><p&
67、gt; 這樣就實(shí)現(xiàn)了算法的自適應(yīng)性改進(jìn),對(duì)節(jié)點(diǎn)密度不均勻或節(jié)點(diǎn)較為稀疏的曲線有很好的效果,實(shí)驗(yàn)依然采用上一章中的實(shí)驗(yàn)曲線1和2,實(shí)驗(yàn)結(jié)果圖如下,對(duì)于實(shí)驗(yàn)曲線1:</p><p> 圖15 增強(qiáng)支撐域的自適應(yīng)性改進(jìn)結(jié)果圖1</p><p><b> 對(duì)于實(shí)驗(yàn)曲線2:</b></p><p> 圖16 增強(qiáng)支撐域的自適應(yīng)性改進(jìn)結(jié)果圖2<
68、;/p><p> 對(duì)于實(shí)驗(yàn)曲線1,其評(píng)價(jià)指標(biāo)見(jiàn)下表:</p><p> 表3 增強(qiáng)支撐域的自適應(yīng)性改進(jìn)評(píng)價(jià)結(jié)果表1</p><p> 對(duì)于實(shí)驗(yàn)曲線2,其評(píng)價(jià)指標(biāo)見(jiàn)下表:</p><p> 表4 增強(qiáng)支撐域的自適應(yīng)性改進(jìn)評(píng)價(jià)結(jié)果表2</p><p> 由上述實(shí)驗(yàn)結(jié)果可得到結(jié)論,改進(jìn)算法相比原弧比弦算法,無(wú)論從直觀的
69、曲線簡(jiǎn)化視覺(jué)效果,還是從算法的評(píng)價(jià)指標(biāo)對(duì)比,效果都有明顯的提高。尤其是在曲線節(jié)點(diǎn)稀疏的情況下,效果較原始算法更好,并且可以有效避免產(chǎn)生曲線的自相交。</p><p> 下面以第二條實(shí)驗(yàn)曲線為例,對(duì)比兩種算法中每個(gè)節(jié)點(diǎn)的弧比弦值,如圖:</p><p> 圖17 兩種算法的每個(gè)點(diǎn)的弧比弦值</p><p> 對(duì)比發(fā)現(xiàn),改進(jìn)后的算法對(duì)一些較小的值進(jìn)行了放大,例如3
70、點(diǎn)、25點(diǎn)、35點(diǎn)等,所以優(yōu)化了算法的效果,提升了算法的性能。</p><p> 3.2.2 增強(qiáng)算法的迭代性更優(yōu)化其性能</p><p> 線要素化簡(jiǎn)的基本要求是:保持彎曲形狀或輪廓圖形的基本特征,即總的圖形的相似性;保持彎曲的特征轉(zhuǎn)折點(diǎn)的精確性;保持不同地段彎曲程度的對(duì)比。對(duì)4.2.1中弧比弦算法的改進(jìn),雖然優(yōu)化了其性能,但在計(jì)算機(jī)硬件快速發(fā)展的今天,這算法的運(yùn)算量和速度已不是主要
71、問(wèn)題。現(xiàn)在所關(guān)心的關(guān)鍵是化簡(jiǎn)前后線要素的形狀逼近程度以及是否存在錯(cuò)誤(如自相交問(wèn)題等)。所以我們可以采用迭代算法進(jìn)一步提高算法的效率,因此我在這一節(jié)中我將提出最終的弧比弦改進(jìn)算法如下:</p><p> 1、從第二點(diǎn)到倒數(shù)第二點(diǎn),計(jì)算每個(gè)點(diǎn)的改進(jìn)弧比弦值(計(jì)算方法同4.2.1中的改進(jìn)算法1),即:一點(diǎn)的弧比弦值等于這點(diǎn)到相鄰兩點(diǎn)的弧長(zhǎng)之和比上相鄰兩點(diǎn)間的弦長(zhǎng)(端點(diǎn)除外)。</p><p>
72、; 2、找出其中值最小的點(diǎn),將其從曲線中剔除并生成新曲線</p><p> 3、對(duì)新的曲線再進(jìn)行此算法。</p><p> 4、直到曲線還有規(guī)定數(shù)量閾值的點(diǎn)為止。</p><p> 這樣就實(shí)現(xiàn)了算法的迭代性,它可以有效的避免連續(xù)的節(jié)點(diǎn)剔除,使得曲線簡(jiǎn)化的效果更好。實(shí)驗(yàn)效果見(jiàn)下圖,對(duì)于曲線1:</p><p> 圖18 增強(qiáng)算法的迭代
73、性改進(jìn)算法2結(jié)果圖1</p><p><b> 對(duì)于曲線2:</b></p><p> 圖19 增強(qiáng)算法的迭代性改進(jìn)算法2結(jié)果圖2</p><p> 實(shí)驗(yàn)的評(píng)價(jià)指標(biāo)見(jiàn)下表,對(duì)于曲線1:</p><p> 表5 增強(qiáng)算法的迭代性改進(jìn)算法2評(píng)價(jià)結(jié)果表1</p><p><b> 對(duì)
74、于曲線2:</b></p><p> 表6 增強(qiáng)算法的迭代性改進(jìn)算法2評(píng)價(jià)結(jié)果表2</p><p> 由以上實(shí)驗(yàn)圖示及評(píng)價(jià)指標(biāo)表可見(jiàn),改進(jìn)算法經(jīng)過(guò)迭代后效果明顯改善,得到的曲線更加吻合原始曲線,并且有效的改善了可能連續(xù)剔除節(jié)點(diǎn)帶來(lái)的曲線大的變形,尤其在剔除節(jié)點(diǎn)較多的情況下,這種改善更為明顯。</p><p><b> 3.3本章小結(jié)<
75、;/b></p><p> 本章首先介紹了弧比弦算法的基本原理,然后指出它的一些不足,并針對(duì)這些不足對(duì)弧比弦算法進(jìn)行了兩次改進(jìn),得到了一種新的具有自適應(yīng)性的迭代弧比弦算法。得到的改進(jìn)算法可以有效的提高算法的性能,并且很好的解決了弧比弦算法的三個(gè)不足:即改善了算法的性能;有效的減少了生成曲線的自相交可能性;并且最大程度的抑制了可能的連續(xù)節(jié)點(diǎn)剔除,使得生成的曲線更加吻合原始曲線,算法的效果得到了明顯改善。&l
76、t;/p><p> 但是算法改進(jìn)的不足之處是尚未能解決弧比弦算法的最后一個(gè)缺點(diǎn),即保留的節(jié)點(diǎn)并不一定對(duì)曲線的表達(dá)是必須的。這個(gè)問(wèn)題涉及到曲線上節(jié)點(diǎn)的信息量的問(wèn)題,我會(huì)在以后的研究中繼續(xù)就這個(gè)問(wèn)題進(jìn)一步優(yōu)化我的算法,達(dá)到更好的曲線簡(jiǎn)化效果。</p><p> 第四章 在Visual Studio 2008平臺(tái)上用Arc Engine 9.3二次開(kāi)發(fā)實(shí)現(xiàn)算法</p><p&
77、gt;<b> 4.1開(kāi)發(fā)平臺(tái)介紹</b></p><p> 我的整個(gè)算法程序開(kāi)發(fā)采用Visual Studio 2008 C#.NET平臺(tái),在其之上使用ESRI公司的Arc Engine 9.3開(kāi)發(fā)包進(jìn)行二次開(kāi)發(fā),下面分別介紹之:</p><p> 4.1.1、Arc Engine 9.3介紹[14]</p><p> Arc Eng
78、ine是基于核心組件庫(kù)Arc Objects搭建的。Arc Objects組件庫(kù)有3000多個(gè)對(duì)象可供開(kāi)發(fā)人員調(diào)用,為開(kāi)發(fā)人員集成了大量的GIS功能,可以快速的幫助開(kāi)發(fā)人員進(jìn)行GIS項(xiàng)目的開(kāi)發(fā)。ArcGIS可以在多種編程環(huán)境中進(jìn)行開(kāi)發(fā),其中包括:C++、支持COM的編程語(yǔ)言、.NET、Java等。</p><p> 2004年,美國(guó)ESRI發(fā)布Arc Engine 9.3,Arc Engine 9.3具有簡(jiǎn)潔、
79、靈活、易用、可移植性強(qiáng)等特點(diǎn)。Arc Engine開(kāi)發(fā)包提供了一系列可以在ArcGIS Desktop框架之外使用的GIS組件,Arc Engine 9.3的出現(xiàn)對(duì)于需要使用Arc Objects的開(kāi)發(fā)人員來(lái)說(shuō)是個(gè)福音,因?yàn)锳rc Engine 9.3發(fā)布之前,基于Arc Objects的開(kāi)發(fā)只能在龐大的ArcGIS Desktop框架下進(jìn)行。</p><p> 4.1.2、Visual Studio 2008
80、 C#.NET介紹[15]</p><p> C#是一種程序開(kāi)發(fā)語(yǔ)言,它在.NET平臺(tái)上開(kāi)發(fā),.NET平臺(tái)上支持用C#或者VB進(jìn)行開(kāi)發(fā)。另外,C#不但可以開(kāi)發(fā)基于.NET的應(yīng)用程序,也可以開(kāi)發(fā)基于WinForm的程序,而用Arc Engine9.3進(jìn)行的二次開(kāi)發(fā)就是基于WinForm的程序開(kāi)發(fā)。</p><p> C#(讀做C-sharp)編程語(yǔ)言是由微軟公司的Anders Hejls
81、berg和 Scott Willamette領(lǐng)導(dǎo)的開(kāi)發(fā)小組專門(mén)為.NET平臺(tái)設(shè)計(jì)的語(yǔ)言。C#是事件驅(qū)動(dòng)的、完全面向?qū)ο蟮目梢暬幊陶Z(yǔ)言,我們可以使用集成開(kāi)發(fā)環(huán)境IDE來(lái)編寫(xiě)C#程序。使用IDE后,程序員可以方便的建立,運(yùn)行,測(cè)試和調(diào)試C#程序。</p><p><b> 4.2算法的實(shí)現(xiàn)</b></p><p> 我的程序的主界面如圖20,它繼承了ArcGIS的簡(jiǎn)
82、潔易用的特點(diǎn):</p><p><b> 圖20 程序主界面</b></p><p> 我的整個(gè)程序有一個(gè)主窗體MainForm以及四個(gè)類,四個(gè)類分別是實(shí)現(xiàn)弧比弦算法的CArcDivideDistance類,實(shí)現(xiàn)自適應(yīng)改進(jìn)算法的CNewArcDDistance類,實(shí)現(xiàn)迭代的自適應(yīng)改進(jìn)算法的CNewDDis1類,以及實(shí)現(xiàn)算法評(píng)價(jià)的CEvalution類,它們分別實(shí)現(xiàn)
83、三種算法以及對(duì)其評(píng)價(jià)的工作。</p><p> 4.2.1、MainForm窗體</p><p> MainForm窗體采用Arc Engine 9.3插件式開(kāi)發(fā),保留了ArcGIS的基本界面風(fēng)格,在其中主要實(shí)現(xiàn)了圖層的讀取以、進(jìn)行算法以及圖形的現(xiàn)實(shí)等功能。</p><p> 圖層的讀取分為點(diǎn)圖層、線圖層和面圖層,代碼的框架如下(示例為讀取線圖層):</
84、p><p> 圖層的顯示也分為點(diǎn)圖層、線圖層和面圖層,代碼的框架如下(示例為讀取線圖層):</p><p> 實(shí)現(xiàn)一個(gè)曲線簡(jiǎn)化算法并評(píng)價(jià)有三個(gè)類似的函數(shù),分別實(shí)現(xiàn)三種算法。下面以改進(jìn)算法2為例展示,即迭代自適應(yīng)弧比弦改進(jìn)算法,程序?qū)崿F(xiàn)點(diǎn)線的讀取,循環(huán)減點(diǎn),顯示新的線并評(píng)價(jià)其算法,代碼示例如下:</p><p><b> 接上頁(yè):</b><
85、;/p><p> 4.2.2、CArcDivideDistance類</p><p> CArcDivideDistance類為進(jìn)行一次弧比弦算法,具體算法思路已經(jīng)在前文中說(shuō)明,這里只給出代碼的簡(jiǎn)要框架如下:</p><p> 4.2.3、CNewArcDDistance類</p><p> CNewArcDDistance類為進(jìn)行一次自
86、適應(yīng)的改進(jìn)算法,具體算法思路前文中已經(jīng)說(shuō)明,這里只給出代碼的簡(jiǎn)要框架如下:</p><p> 4.2.4、CNewDDis1類</p><p> CNewDDis1類為進(jìn)行一次迭代的自適應(yīng)改進(jìn)算法,具體算法思路上一章已經(jīng)說(shuō)明,這里只給出代碼的簡(jiǎn)要框架如下:</p><p> 4.2.5、CEvalution類</p><p> CEv
87、alution類進(jìn)行算法的評(píng)價(jià),具體算法為分別計(jì)算新曲線和原始曲線的偏移量平均值,偏移量中值和面積變形值,下面給出代碼的簡(jiǎn)要框架如下:</p><p><b> 4.3 本章小結(jié)</b></p><p> 本章中先介紹了程序的開(kāi)發(fā)環(huán)境,分別對(duì)Visual Studio 2008 C#.NET平臺(tái),及ESRI公司的Arc Engine 9.3開(kāi)發(fā)包進(jìn)行了介紹,然后闡
88、述程序整體的設(shè)計(jì)思路,介紹了程序的構(gòu)架,給出程序中的相關(guān)類的介紹。然后分別就幾個(gè)不同功能的類闡述了程序的主體框架,最后分別給出了程序的主體結(jié)構(gòu)代碼。</p><p><b> 第五章 總結(jié)及展望</b></p><p> 在曲線簡(jiǎn)化中,曲線上各節(jié)點(diǎn)的重要性度量是一個(gè)基礎(chǔ)性工作,亦是節(jié)點(diǎn)選取的標(biāo)準(zhǔn)。本文通過(guò)分析現(xiàn)有的線目標(biāo)綜合方法,提出了一種改進(jìn)的弧比弦算法。該方法
89、綜合采用了自適應(yīng)的支撐域定義方式及迭代的計(jì)算方式,改善了算法的性能;有效的減少了生成曲線的自相交可能;最大程度的減少了可能的連續(xù)節(jié)點(diǎn)剔除,使得生成的曲線與原始曲線更加附合,算法效果的到了明顯改進(jìn)。</p><p> 通過(guò)實(shí)驗(yàn)例證和評(píng)價(jià)指標(biāo)比較分析發(fā)現(xiàn),在曲線簡(jiǎn)化過(guò)程中,利用改進(jìn)后的弧比弦算法選取的節(jié)點(diǎn)相比于原始方法能夠更好地保持原始曲線的輪廓,一方面減少了點(diǎn)的數(shù)據(jù)量,另一方面也較好地保持了原始曲線的形狀(即引起
90、較小的曲線偏移) ,實(shí)現(xiàn)了曲線簡(jiǎn)化的雙重目的。</p><p> 但是算法改進(jìn)的不足之處是尚未能解決保留的節(jié)點(diǎn)并不一定對(duì)曲線的表達(dá)是必需的。這個(gè)問(wèn)題涉及到曲線上節(jié)點(diǎn)的信息量的問(wèn)題,如何度量簡(jiǎn)化前、后曲線之間的信息量并作為度量指標(biāo)分析節(jié)點(diǎn)的重要性,是我未來(lái)的研究方向及重點(diǎn)。</p><p> 目前,信息度量問(wèn)題的研究還處于起步階段,有許多問(wèn)題有待進(jìn)一步的研究。此外,信息論在地理信息科學(xué)領(lǐng)
91、域有著廣闊的應(yīng)用前景,隨著本文研究的深入開(kāi)展,還有許多問(wèn)題值得思考和研究,具體包括:</p><p> 1、選取實(shí)際地圖中的一條河流,分別運(yùn)用經(jīng)典算法,如Douglas-Peucker算法、間接法綜合算法、直接法綜合算法等綜合算法對(duì)其進(jìn)行地圖綜合,并且對(duì)比本文中的改進(jìn)算法,得出一個(gè)最優(yōu)的曲線綜合算法。</p><p> 2、本文討論了單個(gè)線目標(biāo)的空間綜合,下一步要擴(kuò)展到多個(gè)線目標(biāo)的空間
92、綜合,直到整個(gè)地圖的空間綜合。</p><p> 3、深入研究信息論的編碼和譯碼理論,提出基于信息論的地圖綜合算法。從信息量的角度出發(fā)選取關(guān)鍵點(diǎn)。</p><p><b> 主要參考文獻(xiàn)</b></p><p> LI Z L. Some observations on the issue of line generalization [
93、J].The Cartographic Journal, 1993, 30 (1): 68 - 71.</p><p> LI Z L. Algorithmic Foundation of Multi-Scale Spatial Representation [M]. CRC Press, 2007.</p><p> ATTNEAVE F. Some informational as
94、pects of visual perception [J]. Psychological Review, 1954, 61 (3):183 - 193.</p><p> MCMASTER R B. A statistical analysis of mathematical measures for line simplification [J]. The American Cartographer, 19
95、86, 13:103 - 116.</p><p> MCMASTER R B. Automated line generalization [J]. Cartographica, 1987, 24 (2):74 - 111.</p><p> LI Z L. An examination of algorithms for detection of critical points o
96、n digital lines [J]. The Cartographic Journal, 1995, 32 (2):121 - 125.</p><p> VISVALINGHAM M, WHYATT J. Line generalization by repeated elimination of points [J]. The Cartographic Journal, 1993, 30 (1):46
97、- 51.</p><p> NA KOS B, MITROPOULOS V. Local length ratio as a measure of critical point detection for line simplification [A]. Symposium of the 5th ICA Workshop on progress in Automated Map Generalization,
98、 2003.</p><p> TEH C H, CHIN R T. On the detection of dominant points on digital curves [J].IEEE Transactions on pattern Analysis and Machine Intelligence ,2004 ,11 (8) :859 - 872.</p><p> Dou
99、glas, D. H. and Peucker, T. K., Algorithms for the reduction of the number of points required to represent a digitized line or its caricature [J] .Canadian Cartographer, 10(2), 112–122, 1973.</p><p> 鄧敏, 陳杰
100、, 李志林, 徐震. 曲線簡(jiǎn)化中節(jié)點(diǎn)重要性度量方法比較及垂比弦法的改進(jìn)[J]. 地理與地理信息科學(xué), 2009, 25(1): 40-43.</p><p> 賈奮勵(lì) 電子地圖綜合的理論與方法的研究[J] 解放軍信息工程大學(xué)碩士論文 2002.4 (1):1 – 5.</p><p> WHITE E. Assessment of line generalization algorit
101、hms using characteristics points [J]. The American Cartographer, 1985, 12 (1):17 - 27.</p><p> ESRI(中國(guó))培訓(xùn)中心. Arc Engine輕松入門(mén)[M] . ESRI(中國(guó))出版社 ,2009,5(1) :1 - 10.</p><p> Herbert Schildt. C#2.0參
102、考完全手冊(cè)(第二版)[M] . 清華大學(xué)出版社 ,2007.5(1) :8 - 14.</p><p><b> 致謝</b></p><p> 行文至此,腦中閃過(guò)的已不是字母與數(shù)字,而是那些感人至深的話語(yǔ)和情景?;叵胱约簭膶?duì)地圖綜合的無(wú)知到這這篇文章的完成,這期間蘊(yùn)含著多少人殷切的希望和無(wú)私的教導(dǎo)。而我只能用這一本論文和笨拙的筆觸表達(dá)我深深的謝意。</p&
103、gt;<p> 師從鄧敏教授是我一生的幸運(yùn)。幾個(gè)月來(lái),鄧敏教授以極大的熱忱和耐心教會(huì)我探索問(wèn)題的方法和解決問(wèn)題的思路,使我能夠置身于一個(gè)廣闊的GIS世界。導(dǎo)師的言傳身教使我體會(huì)到做學(xué)問(wèn)與做人一樣,需要踏踏實(shí)實(shí)的精神、老老實(shí)實(shí)的態(tài)度和精益求精的作風(fēng)。而此時(shí)使我不安的是多少次聞其言卻不能會(huì)其意的笨拙。往事種種,我只能真心地說(shuō)一句:“謝謝!”</p><p> 感謝徐震碩士在問(wèn)題研究中所給予的耐心教導(dǎo)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 顧及用戶速度的移動(dòng)地圖道路綜合算法研究.pdf
- 41336.面向移動(dòng)地圖表達(dá)的居民地地圖綜合算法研究
- 綜合布線畢業(yè)論文
- 量子電路快速綜合算法研究.pdf
- 災(zāi)害綜合集成研討廳的意見(jiàn)綜合算法研究.pdf
- 基于有限元的地圖綜合算法及其在LBS中的應(yīng)用.pdf
- 軟硬件協(xié)同綜合算法研究.pdf
- 畢業(yè)論文——綜合網(wǎng)站設(shè)計(jì)
- 綜合下載網(wǎng)站畢業(yè)論文
- 綜合教務(wù)系統(tǒng)畢業(yè)論文
- 畢業(yè)綜合實(shí)踐是實(shí)現(xiàn)專業(yè)培養(yǎng)目標(biāo)的重
- 現(xiàn)代企業(yè)財(cái)務(wù)管理目標(biāo)的研究-畢業(yè)論文
- 現(xiàn)代企業(yè)財(cái)務(wù)管理目標(biāo)的研究-畢業(yè)論文
- flash地圖畢業(yè)論文
- 陣列天線方向圖綜合算法研究.pdf
- 模糊推理的變權(quán)綜合算法研究.pdf
- 稀布陣的低旁瓣綜合算法研究.pdf
- 畢業(yè)論文---論對(duì)企業(yè)財(cái)務(wù)目標(biāo)的認(rèn)識(shí)
- 銅互連啞元填充綜合算法研究.pdf
- 量子可逆邏輯綜合算法及應(yīng)用.pdf
評(píng)論
0/150
提交評(píng)論