两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

電子海圖矢量圖形簡化方法

文檔序號(hào):2647257閱讀:332來源:國知局
專利名稱:電子海圖矢量圖形簡化方法
技術(shù)領(lǐng)域
本發(fā)明涉及的是地理信息系統(tǒng)空間數(shù)據(jù)分析和處理方法。
背景技術(shù)
電子海圖系統(tǒng)(Electronic Chart System. ECS)是隨著航海事業(yè)的發(fā)展而產(chǎn)生的 一種集成式的實(shí)時(shí)導(dǎo)航信息系統(tǒng),被認(rèn)為是繼雷達(dá)/ARPA之后近10年來在航海領(lǐng)域又一項(xiàng) 偉大的技術(shù)革命。按照國際海道測量組織(IHO)的定義電子海圖系統(tǒng)是一種將海圖信息、 定位信息、雷達(dá)信息、船舶動(dòng)態(tài)參數(shù)集于一體的圖文并茂的航海自動(dòng)化系統(tǒng)。它由電子海圖 數(shù)據(jù)文件、控制顯示設(shè)備、專用軟件和外接傳感器構(gòu)成。電子海圖系統(tǒng)作為海洋信息的顯示平臺(tái),可以詳盡的描述指定海域的實(shí)際地物特 征信息。島嶼等要素大量存在于海圖中,在現(xiàn)今的矢量電子海圖中,描述島嶼等矢量要素使 用的是一系列密集的離散點(diǎn)列。由于數(shù)據(jù)點(diǎn)越多,描述原始地物的能力越強(qiáng),越能真實(shí)的反 映原物體。因此,在海圖數(shù)據(jù)文件中存儲(chǔ)著大量的點(diǎn)數(shù)據(jù),用來詳盡的描述島嶼的形態(tài)特 征。隨著電子海圖技術(shù)的日益發(fā)展,其應(yīng)用領(lǐng)域不斷擴(kuò)大。由前面敘述可知,電子海圖 中描述島嶼等要素使用的是一系列離散點(diǎn)數(shù)據(jù),在具體的實(shí)際應(yīng)用中,直接應(yīng)用海圖中海 量的數(shù)據(jù)進(jìn)行數(shù)學(xué)計(jì)算必然會(huì)導(dǎo)致運(yùn)算速度慢且效率低下。例如,在電子海圖服務(wù)于近水 面飛行器航路規(guī)劃時(shí)對(duì)島嶼等進(jìn)行規(guī)避的特定應(yīng)用中,對(duì)于路徑規(guī)劃來說應(yīng)用矢量海圖中 大量的點(diǎn)數(shù)據(jù)進(jìn)行航路規(guī)劃顯然數(shù)據(jù)量太大,規(guī)避計(jì)算時(shí)占用機(jī)時(shí)過多,效率極低。為此, 有必要對(duì)描述島嶼等要素的大量點(diǎn)數(shù)據(jù)在保證其幾何形狀不變的前提下進(jìn)行特征點(diǎn)的提 取,即對(duì)海圖要素進(jìn)行簡化處理。電子海圖矢量圖形化簡屬于矢量數(shù)據(jù)壓縮的范疇。目前,從收集到的文獻(xiàn)資料來 看,有關(guān)矢量圖形簡化的算法大都集中在地圖自動(dòng)綜合領(lǐng)域。在該領(lǐng)域中,通常采取矢量 數(shù)據(jù)壓縮的技術(shù)實(shí)現(xiàn)要素空間信息與地圖比例尺的自適應(yīng),即若地圖比例尺較大(比例尺 分母較大),則描述要素的數(shù)據(jù)量大,若降低地圖比例尺,則通過一定的算法減少描述同一 要素的數(shù)據(jù)量,使要素?cái)?shù)據(jù)信息與地圖比例尺互相適應(yīng)。仔細(xì)分析現(xiàn)有的矢量圖形簡化算 法可清晰的看出,當(dāng)前算法都存在一定的缺陷,主要表現(xiàn)在(1)化簡后的圖形可能出現(xiàn)相 交;(2)化簡閾值的選取問題。Douglas-Peucker算法作為目前公認(rèn)的矢量圖形化簡經(jīng)典算法,由D. Douglas和 T. Peucker于1973年提出,簡稱D-P算法,現(xiàn)有的化簡算法中,有相當(dāng)一部分都是在該算法 基礎(chǔ)上進(jìn)行改進(jìn)產(chǎn)生的。它的優(yōu)點(diǎn)是具有平移和旋轉(zhuǎn)不變性,給定曲線與閾值后,化簡結(jié)果 一定。該算法的基本思想是事先給定閾值、在曲線首、末兩點(diǎn)之間連線,依次計(jì)算中間 點(diǎn)到該線段的距離,找出最大距離點(diǎn),并判斷該距離是否小于δ,若是,則舍去該曲線的所 有中間點(diǎn);否則,保留該點(diǎn),并以該點(diǎn)為界,將曲線分為兩部分,對(duì)這兩部分重復(fù)使用上述操 作。從基本思想可以看出該方法具有明顯的遞歸特性,是一種由整體到局部,由粗到細(xì)化簡 矢量圖形的方法。
Douglas-Peucker算法在不同的領(lǐng)域中獲得了廣泛的應(yīng)用。例如,申請(qǐng)?zhí)枮?200810243866的專利申請(qǐng)中應(yīng)用該算法實(shí)現(xiàn)了一種電子地圖數(shù)據(jù)處理方法,該應(yīng)用中直接 采用了 Douglas-Peucker算法進(jìn)行矢量數(shù)據(jù)壓縮,沒有考慮Douglas-Peucker算法自身的 缺陷(化簡后結(jié)果可能存在自相交,化簡閾值的適當(dāng)選取等問題)和在特定應(yīng)用上的局限 性。矢量圖形化簡的根本目的是在保持圖形基本特征的前提下,通過減少構(gòu)成圖形的 點(diǎn)的數(shù)量,完成圖形的化簡。對(duì)于化簡過程,應(yīng)遵循“三個(gè)保持”一是保持化簡前后圖形的 相似性,即保持彎曲形狀的基本特征;二是保持彎曲特征轉(zhuǎn)折點(diǎn)的精確性;三是保持不同 地段彎曲程度的對(duì)比。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種更加完備、精確、通用性更強(qiáng)的電子海圖矢量圖形簡 化方法。本發(fā)明的目的是這樣實(shí)現(xiàn)的(1)提取給定的矢量圖形的凸殼;(2)將由凸殼劃分出的圖形凸部和凹部分類處理,分別進(jìn)行化簡;(3)直接應(yīng)用Douglas-Peucker算法對(duì)圖形凸部進(jìn)行化簡;圖形凹部采用逐層化 簡的方法進(jìn)行化簡,對(duì)于存在復(fù)雜彎曲的凹部,應(yīng)用基于直線段繞動(dòng)方向的彎曲識(shí)別方法 識(shí)別出不同層次的彎曲,然后對(duì)每一層次的彎曲分別進(jìn)行化簡,直至所有彎曲處理完畢;(4)、增加一個(gè)化簡閾值,實(shí)施對(duì)凹部的化簡。本發(fā)明是針對(duì)應(yīng)用基本Douglas-Peucker算法進(jìn)行矢量圖形化簡時(shí)可能出現(xiàn)的 圖形自相交和圖形凹部保形性差等缺陷,結(jié)合電子海圖中矢量圖形化簡的需要,設(shè)計(jì)的新 的矢量圖形化簡方法。本發(fā)明中提供的方法區(qū)別于現(xiàn)有方法的顯著特征在于采用提取凸 殼和改進(jìn)Douglas-Peucker算法的方法有效地保證了化簡后的圖形整體和局部(特別是凹 部)保形性;采取基于直線段繞動(dòng)方向的彎曲識(shí)別方法和彎曲逐層化簡的方式,可以從根 本上解決化簡后圖形可能出現(xiàn)的自相交問題。該方法包含以下要點(diǎn)1、提取給定的矢量圖形的凸殼。由于凸殼能夠較好的描述圖形的基本幾何形態(tài), 因此首先對(duì)待化簡的圖形建立凸殼,利用凸殼識(shí)別圖形的整體形態(tài)特點(diǎn),特別地,凸殼能夠 表達(dá)出圖形的彎曲特性;2、將由凸殼劃分出的圖形凸部和凹部分類處理,分別進(jìn)行化簡。由于描述矢量圖 形的數(shù)據(jù)點(diǎn)大部分集中于圖形的凹部,用于詳細(xì)描述圖形的彎曲形態(tài)特征,而凸部數(shù)據(jù)點(diǎn) 數(shù)較少,因此可直接應(yīng)用Douglas-Peucker算法對(duì)圖形凸部進(jìn)行化簡。對(duì)于凹部,按要點(diǎn)3 所述方法化簡;3、圖形凹部采用逐層化簡的方法進(jìn)行化簡。對(duì)于存在復(fù)雜彎曲的凹部,可應(yīng)用基 于直線段繞動(dòng)方向的彎曲識(shí)別方法(該方法的實(shí)現(xiàn)過程見具體實(shí)施方式
部分)識(shí)別出不同 層次的彎曲,然后對(duì)每一層次的彎曲分別進(jìn)行化簡,直至所有彎曲處理完畢。通過這種方法 可以有效的避免化簡后的圖形出現(xiàn)自相交現(xiàn)象。4、增加一個(gè)化簡閾值,實(shí)施對(duì)凹部的化簡。應(yīng)用改進(jìn)Douglas-Peucker算法對(duì)圖 形凹部進(jìn)行化簡時(shí),在傳統(tǒng)算法的基礎(chǔ)上增加一個(gè)寬度閾值控制化簡進(jìn)程。由彎曲深度和寬度兩個(gè)閾值共同決定描述彎曲數(shù)據(jù)點(diǎn)的取舍。本發(fā)明的有益效果體現(xiàn)在對(duì)矢量圖形的簡化,主要是針對(duì)圖形凹部的化簡處理。本發(fā)明中,通過構(gòu)建圖形的凸殼和采用基于直線段繞動(dòng)方向的彎曲識(shí)別方法可以逐層分解 出圖形凹部的彎曲,針對(duì)每一個(gè)彎曲分別進(jìn)行化簡,可以準(zhǔn)確地度量彎曲的特征并進(jìn)行最 大限度且合理的化簡,從而提高了化簡后圖形的保形性。本發(fā)明采用基于直線段繞動(dòng)方向 的方法識(shí)別出的每一個(gè)彎曲都是星形區(qū)域,而由充分的理論證明,星形區(qū)域進(jìn)行化簡后不 會(huì)出現(xiàn)自相交,因此本發(fā)明有效地解決了傳統(tǒng)化簡算法易出現(xiàn)自相交的缺陷。


圖1為本發(fā)明所述矢量圖形簡化方法的流程圖。圖2A-2B用于解釋本發(fā)明中采用的多邊形凸殼生成算法的實(shí)現(xiàn)步驟。圖3用于說明基于直線段擾動(dòng)方向識(shí)別曲線彎曲的方法。圖4A-4F分別為島嶼原形(4A)、島嶼凸殼(4B)和采取不同化簡閾值的化簡結(jié)果圖 (4C-4F)。圖5為C10013海圖島嶼數(shù)據(jù)化簡結(jié)果的局部圖。
具體實(shí)施例方式下面結(jié)合附圖舉例對(duì)本發(fā)明做更詳細(xì)地描述本發(fā)明公開了一種電子海圖矢量圖形化簡方法,該方法的具體實(shí)施內(nèi)容包括構(gòu)建 凸殼,基于直線段繞動(dòng)方向識(shí)別彎曲和應(yīng)用提出的改進(jìn)Douglas-Peucker算法對(duì)矢量圖形 逐層化簡等關(guān)鍵內(nèi)容。下面將按照化簡流程詳述本發(fā)明提出的技術(shù)方案的具體實(shí)施方式
, 化簡流程如圖1所示。該實(shí)施方式主要包含以下幾個(gè)關(guān)鍵步驟一、構(gòu)建凸殼凸殼是數(shù)據(jù)點(diǎn)集的自然極限邊界,為包含所有數(shù)據(jù)點(diǎn)的最小凸多邊形,連接任意 兩點(diǎn)的線段必須完全位于該凸多邊形中,同時(shí)區(qū)域的面積也達(dá)到最小值。關(guān)于凸殼的計(jì)算 方法很多,可參見計(jì)算幾何、計(jì)算機(jī)圖形學(xué)方面的書籍,下面介紹本發(fā)明中應(yīng)用的多邊形凸 殼生成算法,該算法包含以下兩個(gè)步驟步驟1 對(duì)于給定的多邊形,找出所有數(shù)據(jù)點(diǎn)中縱坐標(biāo)最小的點(diǎn),記為Pl。設(shè)從P1 開始多邊形沿順時(shí)針方向的有向頂點(diǎn)序列為(P1, P2,…,pn)。步驟2 搜索凸殼頂點(diǎn)記?1為第一個(gè)凸殼上的頂點(diǎn),然后從有向線段P1P2開始查 找,若多邊形的所有頂點(diǎn)均在有向線段P1P2的右側(cè),則P2也為凸殼頂點(diǎn),否則順次查找有向 線段P1P3,P1P4,…,直至找到滿足多邊形的所有頂點(diǎn)均在P1Pi的右側(cè)的點(diǎn)Pi,則記Pi為凸 殼頂點(diǎn),然后Wpi開始,按照上述和P1開始同樣的步驟順次查找凸殼頂點(diǎn),直到返回P1點(diǎn) 為止,依次記錄所有凸殼頂點(diǎn),并順次連線就完成了多邊形凸殼的生成過程。如圖2A和圖 2B,初始多邊形頂點(diǎn)為(Pl,P2,…,P9),生成的凸殼頂點(diǎn)為(Ρ^Ρ^Ρ^Ρ^Ρ^ΡΚ!)。二、基于直線段繞動(dòng)方向識(shí)別彎曲彎曲的識(shí)別方法有很多種,例如基于拐點(diǎn)識(shí)別彎曲和采用斜拉式彎曲劃分的方法 識(shí)別彎曲等。不同的彎曲識(shí)別方法適用于不同的應(yīng)用環(huán)境。針對(duì)電子海圖中矢量圖形簡化 的要求和特點(diǎn),應(yīng)用基于直線段繞動(dòng)方向的方法識(shí)別彎曲。在海圖中由一系列連續(xù)的數(shù)據(jù)點(diǎn)描述矢量圖形,規(guī)定這些數(shù)據(jù)點(diǎn)按照順時(shí)針的順序組成了一個(gè)點(diǎn)集C= {P1;P2,...,Plri, pn},其中P1S曲線的起點(diǎn),PnS曲線的終點(diǎn)。P1和Pn兩點(diǎn)重合,表示該點(diǎn)集是一條閉合的 曲線。規(guī)定對(duì) 于給定曲線S = (v0, . . . , vn) (0 ^ η <°o ), Sk = (vi ...,Vj) e S,(i < j),如果結(jié)點(diǎn)Vi,、與結(jié)點(diǎn)vi+1,…,Vy1所在直線段的繞動(dòng)方向相反,則Sk就是曲線S的 一個(gè)彎曲,結(jié)點(diǎn)Vi是該彎曲的起點(diǎn),結(jié)點(diǎn)\是該彎曲的終點(diǎn)。圖3中,曲線由Pl,p2,…,P12共12個(gè)點(diǎn)組成?!?+ ”和“_”分別表示曲線上一條 后繼直線段相對(duì)于當(dāng)前直線段的兩個(gè)不同繞動(dòng)方向。不失一般性,設(shè)定向順時(shí)針方向繞動(dòng) 為“ + ”,例如P2點(diǎn)處;向逆時(shí)針方向繞動(dòng)為“-”,例如P3點(diǎn)處。則以繞動(dòng)點(diǎn)方向發(fā)生變化的 點(diǎn)處作為分界點(diǎn),可以劃分出不同彎曲。如圖3,點(diǎn)p2,P3, P4, P5, P6構(gòu)成了一個(gè)彎曲;點(diǎn)P8, P9,Pltl,P11構(gòu)成了另一個(gè)彎曲。三、圖形凹部(彎曲)的逐層化簡過程凸殼將矢量圖形劃分出了一系列的凸部和凹部,我們將凸部和凹部劃分開來分別 進(jìn)行化簡處理。對(duì)于凸部,可以直接采用Douglas-Peucker算法進(jìn)行化簡。對(duì)于凹部,由于 存在復(fù)雜彎曲的情況,需要運(yùn)用(2)中描述的基于直線段繞動(dòng)方向的彎曲識(shí)別方法識(shí)別出 不同層次的彎曲,然后對(duì)每一層次的彎曲分別進(jìn)行化簡,直至所有彎曲處理完畢。曲線凹部 化簡的具體實(shí)現(xiàn)步驟詳述如下步驟1 對(duì)于給定的曲線進(jìn)行彎曲劃分,識(shí)別出第一層次的彎曲;步驟2 判斷彎曲的個(gè)數(shù)是否大于1,若否,則該曲線組成的彎曲是一個(gè)簡單彎曲, 直接化簡即可。否則,對(duì)于每一個(gè)彎曲分別進(jìn)行化簡,并記錄每一個(gè)數(shù)據(jù)點(diǎn)的處理信息(是 否在化簡后保留)。步驟3 第一層次的彎曲化簡后,遍歷曲線上沒有被處理的點(diǎn),再次進(jìn)行彎曲識(shí) 另IJ,劃分出下一層次的彎曲,然后按照步驟2中描述的方式再次化簡。步驟4:重復(fù)上述化簡過程,直至所有數(shù)據(jù)點(diǎn)均被處理,完成了整個(gè)化簡過程。四、改進(jìn)Douglas-Peucker算法的實(shí)現(xiàn)過程本發(fā)明中在設(shè)計(jì)Douglas-Peucker化簡算法實(shí)現(xiàn)過程中,發(fā)現(xiàn)如果不記錄中間的 距離最大頂點(diǎn),會(huì)造成單個(gè)數(shù)據(jù)在循環(huán)過程中的多次判斷,增加了算法實(shí)現(xiàn)的時(shí)間復(fù)雜性。 為了克服這個(gè)問題,在設(shè)計(jì)算法實(shí)現(xiàn)過程中將判斷所得的中間最大距離頂點(diǎn)保存起來,這 樣可以較少算法的運(yùn)算量,提高算法的執(zhí)行效率。另外,根據(jù)電子海圖矢量圖形簡化的需 要,在Douglas-Peucker化簡算法實(shí)現(xiàn)過程中增加曲線彎曲寬度的限制,即將曲線寬度作 為一個(gè)閾值用于限定曲線化簡結(jié)果。滿足以上兩點(diǎn)要求的改進(jìn)算法實(shí)現(xiàn)過程描述如下(1)設(shè)矢量曲線由離散點(diǎn)列(PQ,P1,-,pn)表示,用數(shù)組T存放特征點(diǎn)列,將起點(diǎn) P0和末點(diǎn)Pn按順序存入T的首位和末尾,令A(yù) — P(1,B — pn,連接AB ;(2)判斷線段AB之間的距離是否大于給定的寬度閾值,若否,轉(zhuǎn)(4),若是,在AB 之間的點(diǎn)列中尋找與線段AB具有最大距離的點(diǎn),若存在滿足條件的點(diǎn),則轉(zhuǎn)(3),否則轉(zhuǎn) (5);(3)判斷該點(diǎn)到線段AB的距離是否大于給定的高度閾值,若是,設(shè)該點(diǎn)為C,并按 其順序存入T中,令B —C,返回⑵;(4)在AB之間的點(diǎn)列中尋找與線段AB具有最大距離的點(diǎn),若該點(diǎn)到線段AB的距離大于給定的高度閾值并且此點(diǎn)在有向線段AB的左側(cè),設(shè)該點(diǎn)為C,并按其順序存入T中, 令B —C,返回(2);(5)判斷B是否為pn,若否,令A(yù) — B,B — T‘ (T的下一個(gè)特征點(diǎn)),連接AB,返回 (2);(6)將A、B存入特征點(diǎn)列中,結(jié)束。依照以上闡述的具體實(shí)施方式
,提取圖號(hào)為C10015的電子海圖中海壇島的數(shù)據(jù) 如圖4A所示。該島嶼由534個(gè)離散的原始矢量數(shù)據(jù)點(diǎn)描述。圖4B中虛線為該島嶼的凸殼。 選取不同的深度閾值和寬度閾值對(duì)該島嶼進(jìn)行化簡操作,結(jié)果如圖4C-4F所示。表1不同化簡閾值下海壇島化簡結(jié)果統(tǒng)計(jì)表

為更進(jìn)一步說明本發(fā)明提出的電子海圖矢量圖形簡化方法的有效性和實(shí)用性,在 主頻為2. 8GHz,內(nèi)存為4G的電子計(jì)算機(jī)上,選取比例尺為1 100萬的C10013海圖進(jìn)行不 同閾值下的全圖島嶼數(shù)據(jù)化簡,化簡結(jié)果見表2。圖5為深度閾值和寬度閾值分別選取為 Ikm和1. 5km時(shí)該圖島嶼化簡結(jié)果的局部圖。表2不同化簡閾值下C10013海圖全圖島嶼化簡結(jié)果統(tǒng)計(jì)表
效果分析仔細(xì)分析表2中的化簡結(jié)果數(shù)據(jù)可以看出,島嶼數(shù)據(jù)點(diǎn)化簡的比率與 化簡時(shí)選取的閾值密切相關(guān)。閾值選取的越大,化簡后數(shù)據(jù)點(diǎn)保留的越少,化簡率越高,但 島嶼的保形性也越差。因此,在實(shí)際應(yīng)用中,應(yīng)該根據(jù)不同的應(yīng)用需求,結(jié)合具體情況通過 大量的試驗(yàn)分析,確定滿足應(yīng)用條件的適當(dāng)閾值。從圖5可以清晰的看到,應(yīng)用本發(fā)明提出 的電子海圖矢量圖形簡化方法進(jìn)行矢量圖形化簡,可以有效的保證矢量圖形的基本幾何形 態(tài)不變,化簡后的幾何圖形空間拓?fù)潢P(guān)系和化簡前一致。并且應(yīng)用本發(fā)明提出的方法進(jìn)行 矢量圖形化簡可以有效的避免化簡結(jié)果出現(xiàn)自相交和互相交的可能性。
權(quán)利要求
一種電子海圖矢量圖形簡化方法,其特征是(1)提取給定的矢量圖形的凸殼;(2)將由凸殼劃分出的圖形凸部和凹部分類處理,分別進(jìn)行化簡;(3)直接應(yīng)用Douglas-Peucker算法對(duì)圖形凸部進(jìn)行化簡;圖形凹部采用逐層化簡的方法進(jìn)行化簡,對(duì)于存在復(fù)雜彎曲的凹部,應(yīng)用基于直線段繞動(dòng)方向的彎曲識(shí)別方法識(shí)別出不同層次的彎曲,然后對(duì)每一層次的彎曲分別進(jìn)行化簡,直至所有彎曲處理完畢;(4)、增加一個(gè)化簡閾值,實(shí)施對(duì)凹部的化簡。
2.根據(jù)權(quán)利要求1所述的電子海圖矢量圖形簡化方法,其特征是所述提取給定的矢量 圖形的凸殼的方法包括步驟1 對(duì)于給定的多邊形,找出所有數(shù)據(jù)點(diǎn)中縱坐標(biāo)最小的點(diǎn),記為Pl,從?1開始多邊 形沿順時(shí)針方向的有向頂點(diǎn)序列為(P1, P2,…,Pn);步驟2 搜索凸殼頂點(diǎn)記P1為第一個(gè)凸殼上的頂點(diǎn),然后從有向線段P1P2開始查找, 若多邊形的所有頂點(diǎn)均在有向線段P1P2的右側(cè),則P2也為凸殼頂點(diǎn),否則順次查找有向線 段P1P3,P1P4,…,直至找到滿足多邊形的所有頂點(diǎn)均在P1Pi的右側(cè)的點(diǎn)Pi,則記Pi為凸殼 頂點(diǎn),然后從Pi開始,按照上述和P1開始同樣的步驟順次查找凸殼頂點(diǎn),直到返回P1點(diǎn)為 止,依次記錄所有凸殼頂點(diǎn),并順次連線就完成了多邊形凸殼的生成過程。
3.根據(jù)權(quán)利要求2所述的電子海圖矢量圖形簡化方法,其特征是所述圖形凹部采用逐 層化簡的方法進(jìn)行化簡的方法包括步驟1 對(duì)于給定的凹部曲線進(jìn)行彎曲劃分,識(shí)別出第一層次的彎曲;步驟2 判斷彎曲的個(gè)數(shù)是否大于1,若否,則該曲線組成的彎曲是一個(gè)簡單彎曲,直接 化簡;否則,對(duì)于每一個(gè)彎曲分別進(jìn)行化簡,并記錄每一個(gè)數(shù)據(jù)點(diǎn)的處理信息即是否在化簡 后保留;步驟3:第一層次的彎曲化簡后,遍歷曲線上沒有被處理的點(diǎn),再次進(jìn)行彎曲識(shí)別,劃 分出下一層次的彎曲,然后按照步驟2中描述的方式再次化簡;步驟4 重復(fù)步驟1-3的化簡過程,直至所有數(shù)據(jù)點(diǎn)均被處理,完成了整個(gè)化簡過程。
4.根據(jù)權(quán)利要求3所述的電子海圖矢量圖形簡化方法,其特征是所述 Douglas-Peucker算法為改進(jìn)算法,其實(shí)現(xiàn)過程描述如下1)設(shè)矢量曲線由離散點(diǎn)列(PyP1,…,Pn)表示,用數(shù)組T存放特征點(diǎn)列,將起點(diǎn)Ptl和 末點(diǎn)Pn按順序存入T的首位和末尾,令A(yù) — pQ,B — pn,連接AB ;2)判斷線段AB之間的距離是否大于給定的寬度閾值,若否,轉(zhuǎn)4),若是,在AB之間的 點(diǎn)列中尋找與線段AB具有最大距離的點(diǎn),若存在滿足條件的點(diǎn),則轉(zhuǎn)3),否則轉(zhuǎn)5);3)判斷該點(diǎn)到線段AB的距離是否大于給定的高度閾值,若是,設(shè)該點(diǎn)為C,并按其順序 存入T中,令B —C,返回2);4)在AB之間的點(diǎn)列中尋找與線段AB具有最大距離的點(diǎn),若該點(diǎn)到線段AB的距離大 于給定的高度閾值并且此點(diǎn)在有向線段AB的左側(cè),設(shè)該點(diǎn)為C,并按其順序存入T中,令 B — C,返回 2);5)判斷B是否為pn,若否,令A(yù)—B,B —T',連接AB,返回2);6)將A、B存入特征點(diǎn)列中,結(jié)束。
全文摘要
本發(fā)明提供的是一種電子海圖矢量圖形簡化方法。(1)提取給定的矢量圖形的凸殼;(2)將由凸殼劃分出的圖形凸部和凹部分類處理,分別進(jìn)行化簡;(3)直接應(yīng)用Douglas-Peucker算法對(duì)圖形凸部進(jìn)行化簡;圖形凹部采用逐層化簡的方法進(jìn)行化簡,對(duì)于存在復(fù)雜彎曲的凹部,應(yīng)用基于直線段繞動(dòng)方向的彎曲識(shí)別方法識(shí)別出不同層次的彎曲,然后對(duì)每一層次的彎曲分別進(jìn)行化簡,直至所有彎曲處理完畢;(4)增加一個(gè)化簡閾值,實(shí)施對(duì)凹部的化簡。本發(fā)明是一種在保持矢量圖形幾何形態(tài)不變的前提下,通過減少描述矢量圖形數(shù)據(jù)點(diǎn)的方式簡化矢量圖形的方法。有效地解決了傳統(tǒng)化簡算法易出現(xiàn)自相交的缺陷。
文檔編號(hào)G09B29/00GK101887451SQ20101020366
公開日2010年11月17日 申請(qǐng)日期2010年6月21日 優(yōu)先權(quán)日2010年6月21日
發(fā)明者劉廠, 張振興, 沈志峰, 郝燕玲, 高峰 申請(qǐng)人:哈爾濱工程大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
上栗县| 嵊州市| 绥阳县| 新昌县| 海宁市| 富裕县| 荔波县| 莱阳市| 龙州县| 海丰县| 东乌珠穆沁旗| 博野县| 连江县| 拜城县| 通化县| 会宁县| 都江堰市| 南涧| 迁西县| 南通市| 泽州县| 林周县| 邯郸县| 张掖市| 葵青区| 五常市| 岳池县| 饶阳县| 亳州市| 盐山县| 四川省| 武清区| 宁晋县| 奉化市| 大石桥市| 衡阳市| 桐庐县| 高阳县| 凤冈县| 黄梅县| 门头沟区|