欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種生成等值線多邊形的方法與流程

文檔序號(hào):12735715閱讀:365來源:國(guó)知局
一種生成等值線多邊形的方法與流程

本發(fā)明涉及石油勘探技術(shù)領(lǐng)域,特別涉及一種生成等值線多邊形的方法。



背景技術(shù):

等值線是用于連接各類等值點(diǎn)(如高程、溫度、降雨量、污染或大氣壓力)的線。線的分布顯示表面值的變化方式。值的變化量越小,線的間距就越大。值上升或下降得越快,線的間距就越小。

以一組相等數(shù)值的連線表示制圖對(duì)象數(shù)量、特征的地圖。簡(jiǎn)稱等值線圖。如年平均氣溫圖、年降水量圖。它是專題地圖的重要圖型,最先用于描述地形。常見的有表現(xiàn)地勢(shì)起伏和地貌結(jié)構(gòu)的等高線圖與等深線圖;表現(xiàn)氣溫、水溫、地溫變化的等溫線圖;表現(xiàn)大氣降水量變化的等降水量線圖;表現(xiàn)地磁、地震變化的等磁偏線圖、等磁力線圖、等震線圖。另外,還有等壓線、等風(fēng)速線、等日照線、等云量線、等濕度線、等密度線、等透明度線、等鹽分含量線、等時(shí)線等圖。

從計(jì)算機(jī)圖形學(xué)的角度講,等值線圖具有以下性質(zhì):

1)等值線通常是一條光滑連續(xù)曲線;

2)對(duì)于給定的某個(gè)高度值Zc,相應(yīng)的等值線數(shù)量不止一條;

3)由于定義域是有界的,等值線可能是閉合的,也可能是不封閉的;

4)等值線一般不相互交錯(cuò)。

其中,不封閉的等值線成為開放等值線。對(duì)于指定邊界區(qū)域,開放等值線與邊界線相交。

等值線地圖的編制,通常是在地理底圖上標(biāo)出制圖對(duì)象的相對(duì)點(diǎn)位(測(cè)站)的數(shù)值,然后把數(shù)值相等的點(diǎn)聯(lián)成圓滑曲線,勾畫出制圖對(duì)象的空間結(jié)構(gòu)特征。等值線地圖通常輔以分層設(shè)色,以提高地圖的直觀效果。如通常等高線圖以紅色表現(xiàn)地勢(shì)高點(diǎn)如山峰丘陵、藍(lán)色或綠色表示地勢(shì)低點(diǎn)如河流湖泊,中間等值線填充過渡顏色突出地勢(shì)起伏及其間的漸變關(guān)系,更形象地表現(xiàn)地形的區(qū)域變化。

除此之外,根據(jù)工作需要,等值線圖還要進(jìn)行一些面積統(tǒng)計(jì),如計(jì)算某相鄰等值線區(qū)域面積,統(tǒng)計(jì)指定值范圍[Zc1,Zc2]內(nèi)所有相關(guān)區(qū)域分布。

目前實(shí)現(xiàn)上述兩種需求的技術(shù)主要有:

1.背景網(wǎng)格法。對(duì)等值線散點(diǎn)網(wǎng)格化,每一個(gè)矩形網(wǎng)格單元根據(jù)結(jié)點(diǎn)平均值填充對(duì)應(yīng)顏色,生成帶顏色的網(wǎng)格曲面??梢詫?shí)現(xiàn)等值線間的顏色過渡。通過統(tǒng)計(jì)等值線間區(qū)域的網(wǎng)格數(shù)量,計(jì)算該區(qū)域面積。

該方法的缺陷在于:1)網(wǎng)格與原始等值線不完全吻合。由于網(wǎng)格化算法本身的特點(diǎn),原始點(diǎn)與網(wǎng)格相同位置的插值點(diǎn)存在一定的誤差,造成統(tǒng)計(jì)結(jié)果不準(zhǔn)確。

2)邊界處形成鋸齒,影響圖形效果。

2.等值線間多邊形法。相鄰兩條或多條等值線間生成多邊形,對(duì)多邊形顏色填充,計(jì)算多邊形面積。

方法2不足:

1)需要人工連接相鄰等值線端點(diǎn),與邊界一起組成區(qū)域多邊形,操作繁瑣。

2)對(duì)于相鄰開放等值線組成的多邊形區(qū)域中包含閉合等值線,或多個(gè)閉合等值線互相嵌套的情況,每次填充顏色時(shí)要與其它關(guān)聯(lián)多邊形比較,先填充外圈,再填充內(nèi)圈;計(jì)算面積時(shí)也要由外部區(qū)域面積減去閉合等值線面積。多邊形不具有獨(dú)立性,計(jì)算和編輯復(fù)雜。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的旨在至少解決所述技術(shù)缺陷之一。

為此,本發(fā)明的目的在于提出一種生成等值線多邊形的方法。

為了實(shí)現(xiàn)上述目的,本發(fā)明的實(shí)施例提供一種生成等值線多邊形的方法,包括如下步驟:

步驟S1,選取等值線圖G,其中,所述等值線圖G包括:邊界曲線集、閉合等值線集、開放等值線集;

步驟S2,從所述等值線圖G中,求取所有開放等值線與邊界線的交點(diǎn),存入交點(diǎn)鏈表C,并根據(jù)交點(diǎn)到邊界起點(diǎn)的距離進(jìn)行排序;

步驟S3,根據(jù)排序結(jié)果,以每一個(gè)交點(diǎn)與其后一個(gè)交點(diǎn)的線段為起始,追蹤包括該線段在內(nèi)的多邊形,生成多邊形鏈表P;

步驟S4,將所述多邊形鏈表P中的元素依次與閉合等值線集中的元素進(jìn)行比較,查找包含關(guān)系,構(gòu)建包含關(guān)系樹T;

步驟S5,利用所述關(guān)系樹T生成多個(gè)孔洞型多邊形或常規(guī)多邊形;

步驟S6,輸出所述多邊形,并根據(jù)多邊形區(qū)域?qū)傩灾祵?duì)不同屬性多邊形進(jìn)行區(qū)分。

進(jìn)一步,在所述步驟S2中,將交點(diǎn)存入所述交點(diǎn)鏈表C,其中,所述每個(gè)交點(diǎn)在所述交點(diǎn)鏈表C中存儲(chǔ)有以下信息:對(duì)每個(gè)交點(diǎn)標(biāo)記當(dāng)前等值線序號(hào),交點(diǎn)沿邊界線到邊界起點(diǎn)的距離,該交點(diǎn)為等值線的頭部或尾部。

進(jìn)一步,在所述步驟S3中,根據(jù)排序結(jié)果,依次求取相鄰兩個(gè)交點(diǎn)的線段為邊界的單個(gè)多邊形,并將上述計(jì)算得到的多個(gè)多邊形存入多邊形鏈表P。

進(jìn)一步,在所述步驟S4中,將所述多邊形鏈表P中的元素依次與步驟S1中的閉合等值線集中元素比較,查找如下包含關(guān)系:如果所述多邊形鏈表中的一個(gè)多邊形內(nèi)部包含所述閉合等值線集中的一個(gè)或多個(gè)閉合等值線,則構(gòu)建包含關(guān)系樹T。

進(jìn)一步,所述關(guān)系樹T為多叉樹,其根節(jié)點(diǎn)為對(duì)應(yīng)的多邊形,其他結(jié)點(diǎn)分別代表一根閉合等值線,根節(jié)點(diǎn)外,每一個(gè)結(jié)點(diǎn)等值線均包括在其父節(jié)點(diǎn)多邊形內(nèi)部。

進(jìn)一步,在所述步驟S5中,所述利用關(guān)系樹T生成多個(gè)孔洞型多邊形或常規(guī)多邊形,包括:

首先由根結(jié)點(diǎn)與其子節(jié)點(diǎn)生成多邊形pk1,然后遍歷其子節(jié)點(diǎn),如果任一節(jié)點(diǎn)包含子節(jié)點(diǎn),則該節(jié)點(diǎn)與其所有子節(jié)點(diǎn)生成孔洞型多邊形pki,若該節(jié)點(diǎn)不包含子節(jié)點(diǎn),則直接返回該節(jié)點(diǎn)上的多邊形,依次類推,生成該樹中所有多邊形。

進(jìn)一步,在所述步驟S6中,所述根據(jù)多邊形區(qū)域?qū)傩灾祵?duì)不同屬性多邊形進(jìn)行區(qū)分,包括如下步驟:對(duì)不同屬性的多邊形采用不同的顏色進(jìn)行填充,以示區(qū)別。

根據(jù)本發(fā)明實(shí)施例的生成等值線多邊形的方法,由邊界與開放等值線,閉合等值線共同生成一系列相互完全獨(dú)立的實(shí)心或具有孔洞的多邊形,每一個(gè)多邊形代表相鄰等值線之間的唯一區(qū)域,不存在多邊形內(nèi)部包含其他閉合線的情況。由于生成的每個(gè)多邊形都具有獨(dú)立性,在顯示填充和計(jì)算面積時(shí),無需考慮其它多邊形,只需對(duì)當(dāng)前多邊形進(jìn)行操作。

本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。

附圖說明

本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:

圖1為根據(jù)本發(fā)明實(shí)施例的生成等值線多邊形的方法的流程圖;

圖2a和圖2b為根據(jù)本發(fā)明實(shí)施例的某等值線分布圖;

圖3為根據(jù)本發(fā)明實(shí)施例的將曲線的隊(duì)列連接成完整多邊形的示意圖;

圖4為根據(jù)本發(fā)明實(shí)施例的多邊形關(guān)系樹構(gòu)建及孔洞多邊形生成的示意圖;

圖5為根據(jù)本發(fā)明實(shí)施例的關(guān)系樹的示意圖;

圖6為根據(jù)本發(fā)明實(shí)施例的孔洞型多邊形的形態(tài)與填充效果的示意圖;

圖7為根據(jù)本發(fā)明實(shí)施例生成的等值線多邊形結(jié)果的示意圖。

具體實(shí)施方式

下面詳細(xì)描述本發(fā)明的實(shí)施例,實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。

如圖1所示,本發(fā)明實(shí)施例的生成等值線多邊形的方法,包括如下步驟:

步驟S1,選取等值線圖G。

其中,等值線圖G包括:邊界曲線B{b1,b2,…,bm},閉合等值線集O{o1,o2,…,or},開放等值線集L{l1,l2,…,ln}。其中,m為邊界點(diǎn)的個(gè)數(shù),r為閉合等值線的條數(shù),n為開放等值線條數(shù)。

步驟S2,從等值線圖G中,求取所有開放等值線與邊界線的交點(diǎn),存入交點(diǎn)鏈表C,并根據(jù)交點(diǎn)到邊界起點(diǎn)的距離進(jìn)行排序。

具體地,求取每條開放等值線與邊界的交點(diǎn),存入交點(diǎn)鏈表C{c1,c2,…,c2n}。其中,每個(gè)交點(diǎn)在交點(diǎn)鏈表C中存儲(chǔ)有以下信息:每一個(gè)交點(diǎn)ck中中都標(biāo)記了當(dāng)前等值線序號(hào)ck.k,交點(diǎn)沿邊界線到邊界起點(diǎn)的距離ck.s,該交點(diǎn)為等值線的頭部還是尾部ck.bTail。

然后,按照交點(diǎn)到邊界起點(diǎn)的距離ck.s由小到大對(duì)鏈表C進(jìn)行排序。

步驟S3,根據(jù)排序結(jié)果,以每一個(gè)交點(diǎn)與其后一交點(diǎn)的線段為起始,追蹤包括該線段在內(nèi)的多邊形,生成多邊形鏈表P。

具體地,根據(jù)排序結(jié)果,依次求取相鄰兩個(gè)交點(diǎn)的線段為邊界的單個(gè)多邊形,并將上述計(jì)算得到的多個(gè)多邊形存入多邊形鏈表P。以(c1,c2)線段為起點(diǎn),追蹤序號(hào)為c1.k,c2.k的等值線之間的多邊形。

按照交點(diǎn)鏈表中的順序依次求取以c2-c3),…,(c2n-1,c2n),(c2n,c1)線段為邊界的單個(gè)多邊形,存入多邊形鏈表P{p1,p2,…,pw},w為開放等值線多邊形個(gè)數(shù)。對(duì)每一個(gè)追蹤過的線段(ck,ck+1),標(biāo)記為已查找,ck.bTraced=true。

步驟S4,將多邊形鏈表P中的元素依次與閉合等值線集中的元素進(jìn)行比較,查找包含關(guān)系,構(gòu)建包含關(guān)系樹T。

具體地,將多邊形鏈表P中的元素依次與步驟S1中的閉合等值線集O中元素比較,查找如下包含關(guān)系:如果多邊形鏈表中的一個(gè)多邊形內(nèi)部包含閉合等值線集中的一個(gè)或多個(gè)閉合等值線,則構(gòu)建包含關(guān)系樹T。

多邊形鏈表P中的元素依次與閉合等值線集O中元素比較,查找包含關(guān)系。若多邊形pk內(nèi)部包含閉合等值線OK{ok1,ok2,…,okr},則構(gòu)建包含關(guān)系樹T。

在本發(fā)明的一個(gè)實(shí)施例中,T為多叉樹,其根節(jié)點(diǎn)為pk,其他結(jié)點(diǎn)分別代表OK中一根閉合等值線。除根節(jié)點(diǎn)外,每一個(gè)結(jié)點(diǎn)等值線都包含在其父節(jié)點(diǎn)多邊形內(nèi)部。

步驟S5,利用關(guān)系樹T生成多個(gè)孔洞型多邊形或常規(guī)多邊形。

具體地,首先由根結(jié)點(diǎn)pk與其子節(jié)點(diǎn){ok1,ok2,..,okj}生成多邊形pk1,然后遍歷其子節(jié)點(diǎn){ok1,ok2,..,okj},若任一結(jié)點(diǎn)oki包含子節(jié)點(diǎn),則oki與它的所有子節(jié)點(diǎn)生成孔洞型多邊形pki,若oki不包含子節(jié)點(diǎn),則直接返回oki上的多邊形。依次類推,生成該樹中所有多邊形。

步驟S6,輸出多邊形,并根據(jù)多邊形區(qū)域?qū)傩灾祵?duì)不同屬性多邊形進(jìn)行區(qū)分。

具體地,根據(jù)多邊形區(qū)域?qū)傩灾祵?duì)不同屬性多邊形進(jìn)行區(qū)分,包括如下步驟:對(duì)不同屬性的多邊形采用不同的顏色進(jìn)行填充,以示區(qū)別。

下面參考圖2至圖7對(duì)本發(fā)明實(shí)施例的生成等值線多邊形的方法進(jìn)行詳細(xì)說明。

(1)追蹤開放等值線與邊界組成的多邊形

圖2a示出了等值線的分布圖,開放等值線與邊界存在一系列交點(diǎn)C1,C2,…,C16。。

參考圖2b,以C2-C3為例,執(zhí)行如下步驟:

1.清空曲線段隊(duì)列D,設(shè)定C2為當(dāng)前起點(diǎn);

2.取出邊界上C2-C3之間的曲線段,存入當(dāng)前曲線隊(duì)列D;

3.由C3中包含的等值線信息,追蹤C(jī)3與C4之間的等值線,并存入曲線隊(duì)列D;

4.獲取C4-C5之間邊界子曲線,存入曲線隊(duì)列D;

5.由C5中包含的等值線序號(hào)信息,追蹤C(jī)5與C6之間的等值線,存入曲線隊(duì)列D;

6.獲取C6-C7之間邊界子曲線,存入隊(duì)列D;

7.由C7中包含的等值線序號(hào)信息,追蹤C(jī)7與C2之間的等值線,存入曲線隊(duì)列D;

8.由于C2為初始起點(diǎn),所以此次追蹤完成。將曲線追的隊(duì)列連接成一個(gè)完整多邊形,如圖3所示。

(2)多邊形關(guān)系樹構(gòu)建及孔洞多邊形生成

參考圖4,以上一步驟生成的多邊形為例,P0是開放等值線與邊界形成的多邊形,p1,p2,p3,p4,p5為原始閉合多邊形。

1.我們判斷{p1,p2,p3,p4,p5}中哪些是包含在P0內(nèi)部的。方法為逐一去閉合多邊形pi上一點(diǎn)x0,y0,判斷該店是否在p0內(nèi)部,若在,則pi為多邊形p0內(nèi)部多邊形,反之,則為外部多邊形。通過比較,可得{p1,p2,p3,p4}為包含在p0內(nèi)部的多邊形。

2.兩兩比較{p1,p2,p3,p4},構(gòu)建包含關(guān)系樹,如圖5所示。

3.逐層生成多邊形。

如圖6所示,根節(jié)點(diǎn)p0包含子節(jié)點(diǎn)p1,則p0與p1生成孔洞型多邊形p0_1,p1包含子節(jié)點(diǎn)p2,p3,則p1與p2,p3生成孔洞型多邊形p1_2_3,依次類推,將新生成的多邊形存入輸出鏈表P_NEW。P3,p4不包含子節(jié)點(diǎn),則直接存入P_NEW。

一個(gè)多邊形p1和它內(nèi)部包含的多邊形p2生成孔洞型多邊形具體方法為:

1)查找p1與p2之間最近點(diǎn),pt1(x11,y11),pt2(x22,y22),pt1在p1上,pt2在p2上;

2)追蹤p1起點(diǎn)到pt1所有點(diǎn),存入曲線點(diǎn)鏈表L;

3)若p1曲線為順時(shí)鐘方向,則p2以pt2為起點(diǎn)沿著逆時(shí)鐘方向獲取該曲線上所有點(diǎn),存入L;

4)將pt1到p1尾部所有點(diǎn)存入L;

5)由L生成新曲線。

圖7示出了孔洞型多邊形p1_p2_p3形態(tài)與填充效果。

根據(jù)本發(fā)明實(shí)施例的生成等值線多邊形的方法,由邊界與開放等值線,閉合等值線共同生成一系列相互完全獨(dú)立的實(shí)心或具有孔洞的多邊形,每一個(gè)多邊形代表相鄰等值線之間的唯一區(qū)域,不存在多邊形內(nèi)部包含其他閉合線的情況。由于生成的每個(gè)多邊形都具有獨(dú)立性,在顯示填充和計(jì)算面積時(shí),無需考慮其它多邊形,只需對(duì)當(dāng)前多邊形進(jìn)行操作。

本發(fā)明利用開放等值線與邊界交點(diǎn)追蹤多邊形,由多邊形包含關(guān)系樹逐層生成多邊形技術(shù),具有以下有益效果:

1.操作簡(jiǎn)單,用戶選擇數(shù)據(jù)即可,無需過多交互。

2.生成效果好,每一個(gè)多邊形代表相鄰等值線之間的唯一區(qū)域,不存在多邊形內(nèi)部包含其他閉合線的情況。

3.在顯示填充和計(jì)算面積時(shí),無需考慮其它多邊形,只需對(duì)當(dāng)前多邊形進(jìn)行操作。

在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。

盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求及其等同限定。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
杭锦后旗| 天镇县| 万山特区| 全南县| 成武县| 大足县| 五原县| 鹤庆县| 文化| 双江| 德安县| 黑山县| 兴宁市| 田阳县| 石城县| 神木县| 平潭县| 巴里| 观塘区| 利川市| 聂荣县| 岳普湖县| 康平县| 翁源县| 平武县| 和平区| 梁山县| 措勤县| 合山市| 信丰县| 玉门市| 云林县| 建水县| 慈溪市| 永寿县| 新河县| 九龙城区| 斗六市| 临湘市| 芜湖市| 教育|