本發(fā)明涉及智慧地球對地觀測領域,尤其涉及一種用于多衛(wèi)星傳感器對地觀測覆蓋區(qū)域求并確認方法。
背景技術:
據(jù)科學家估計,到2020年前后,世界上會有七萬億個有線或無線的傳感器,它們通過網(wǎng)絡組織起來,以滿足人們的即時需要。在地理信息科學的場模型下,由于傳感器無處不在,因此認為地球上的任何地理空間位置都有被觀測的需求,整個地球表面上都存在著一個連續(xù)的觀測能力信息場,需要發(fā)掘符合要求的傳感器進行觀測,而傳感器所具備的觀測能力即為傳感器發(fā)掘的重要依據(jù)。觀測空間范圍作為傳感器觀測能力的一個重要部分,不同的空間范圍內存在著不同類型以及不同數(shù)量的傳感器,因此不同的空間范圍內的觀測能力也不相同,如何確定某個空間范圍內的觀測能力對傳感器的發(fā)掘以及規(guī)劃有著重要的意義。
衛(wèi)星遙感傳感器作為對地觀測的一個重要工具,目前已經有對某一時刻的單個衛(wèi)星傳感器對地觀測覆蓋范圍的模擬仿真的計算方法,通過現(xiàn)有的計算方法可以確定某個空間范圍內所具有的單個傳感器觀測能力,但是如果考慮到多傳感器進行協(xié)同觀測,那么這些傳感器所能觀測到的全部空間范圍中就具備了多傳感器的協(xié)同觀測能力,根據(jù)這些區(qū)域所具備的觀測能力就能對這些衛(wèi)星傳感器進行最優(yōu)的規(guī)劃調度。從技術角度講,求解多衛(wèi)星傳感器觀測覆蓋的全部區(qū)域的問題實際上就是多個多邊形求并的問題,已知的有效算法如weiler算法,它能對凹凸多邊形進行有效的求并,但是它卻沒有考慮到邊重合、頂點重合等特殊情況;此外如sutherland-hodgeman等算法也能對多邊形進行有效的裁剪,但這些算法卻要求多邊形是矩形,在多數(shù)實際情況下并不適用。綜上可知目前關于多邊形求并的算法要么就是限定了多邊形的形狀、要么就是不能考慮到一些較為常見的特殊情況。針對多衛(wèi)星傳感器協(xié)同觀測能力定量評定的需求,目前正缺乏針對多個衛(wèi)星傳感器對地觀測覆蓋區(qū)域求并確認方法。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種用于多衛(wèi)星傳感器對地觀測覆蓋區(qū)域求并確認方法,實現(xiàn)了對多個衛(wèi)星傳感器對地觀測覆蓋區(qū)域的求并的技術效果。
本發(fā)明提供一種用于多衛(wèi)星傳感器對地觀測覆蓋區(qū)域求并確認方法,包括以下步驟:
獲得所有選定的衛(wèi)星傳感器對地觀測的覆蓋區(qū)域,對所述覆蓋區(qū)域進行組合;
建立所述覆蓋區(qū)域的外包矩形,判斷每一組合中的外包矩形的位置關系;
根據(jù)所述外包矩形的位置關系判斷覆蓋區(qū)域的初始位置關系,所述初始位置關系包括相交、相離和包含;
判斷覆蓋區(qū)域內是否存在未檢測到的區(qū)域,將該未檢測到的區(qū)域定義為內部空洞;
當某一組合內的覆蓋區(qū)域均不存在內部空洞時:若某一組合內的覆蓋區(qū)域的位置關系為相離,則繼續(xù)計算下一個組合;若某一組合內的覆蓋區(qū)域的位置關系為包含,則確定用于包含的覆蓋區(qū)域為合并區(qū)域;若某一組合內的覆蓋區(qū)域的位置關系為相交,則對組合內的覆蓋區(qū)域進行交點計算,將交點記錄在覆蓋區(qū)域上,標記交點的標識;通過對帶交點的覆蓋區(qū)域進行遍歷,確定覆蓋區(qū)域的合并區(qū)域以及合并后出現(xiàn)的內部空洞;
當一組合的覆蓋區(qū)域內存在內部空洞時,根據(jù)覆蓋區(qū)域的位置關系判斷內部空洞與覆蓋區(qū)域的位置關系,進而初步判斷并得到覆蓋區(qū)域合并后產生的內部空洞區(qū)域;若覆蓋區(qū)域的位置關系為相交,則對組合內的覆蓋區(qū)域進行交點計算,將交點記錄在覆蓋區(qū)域上,標記交點的標識;通過對帶交點的覆蓋區(qū)域進行遍歷,確定覆蓋區(qū)域的合并區(qū)域以及合并后出現(xiàn)的內部空洞;若覆蓋區(qū)域的位置關系為包含,確定用于包含的覆蓋區(qū)域為合并區(qū)域,并根據(jù)內部空洞與覆蓋區(qū)域的位置關系判斷合并區(qū)域的內部空洞。
進一步地,所述判斷外包矩形的位置關系包括以下步驟:
設一組合內包括覆蓋區(qū)域a和覆蓋區(qū)域b,建立覆蓋區(qū)域a的外包矩形ra和覆蓋區(qū)域b的外包矩形rb,
若滿足條件{(xa<xb;(xa+wa)>(xb+wb))且(ya>yb;(ya-ha)<(yb-hb))}(1),則外包矩形ra包含外包矩形rb;
式中,xa為外包矩形ra左上角坐標的橫坐標,ya為外包矩形ra左上角坐標的縱坐標,wa為ra的水平長度,ha為ra的豎直長度,xb為外包矩形rb左上角坐標的橫坐標,yb為外包矩形rb左上角坐標的縱坐標,wb為rb的水平長度,hb為rb的豎直長度;
若滿足條件{(xa>xb;(xa+wa)<(xb+wb))且(ya<yb;(ya-ha)>(yb-hb))}(2),則外包矩形rb包含外包矩形ra;
若滿足條件{(xa<xb;(xa+wa)<xb)}(3),條件{(ya>yb;(ya-ha)>yb)}(4),條件{(xa>xb;(xb+wb)<xa)}(5),和條件{(ya>yb;(yb-hb)>ya)}(6)中的任一條件,則外包矩形ra和外包矩形rb相離;
若條件(1)、條件(2)、條件(3)、條件(4)、條件(5)和條件(6)中的任一條件均不滿足,則外包矩形ra和外包矩形rb相交。
進一步地,所述根據(jù)外包矩形的位置關系判斷覆蓋區(qū)域的初始位置關系包括以下步驟:
如果外包矩形ra和外包矩形rb為相交關系,則判斷覆蓋區(qū)域a與覆蓋區(qū)域b的位置關系為相交或相離;如果外包矩形ra為被包含關系,從覆蓋區(qū)域a的頂點發(fā)射水平或豎直的射線,通過判斷射線與覆蓋區(qū)域b的交點數(shù)量判斷覆蓋區(qū)域a與覆蓋區(qū)域b的位置關系;
若所有射線與覆蓋區(qū)域b的交點數(shù)量都為1,則覆蓋區(qū)域b包含覆蓋區(qū)域a:
若一部分射線與覆蓋區(qū)域b的交點數(shù)量為1,另一部分射線與覆蓋區(qū)域b的交點數(shù)量為0或2,則覆蓋區(qū)域a與覆蓋區(qū)域b相交;
若所有射線與覆蓋區(qū)域b的交點數(shù)量都為0或2,則覆蓋區(qū)域a與覆蓋區(qū)域b相離。
進一步地,所述標記交點的標識包括以下步驟:
對于所述覆蓋區(qū)域a的邊pipi+1和所述覆蓋區(qū)域b的邊qjqj+1,計算叉積
如果所述叉積結果大于0,對于所述邊pipi+1來說,將所述交點標記為第一標識;對于所述邊qjqj+1來說,將所述交點標記為第二標識;
如果所述叉積結果小于0,對于所述邊pipi+1來說,將所述交點標記為所述第二標識;對于所述邊qjqj+1來說,將所述交點標記為所述第一標識;
如果所述叉積結果等于0,計算叉積
進一步地,所述對帶交點的覆蓋區(qū)域進行遍歷具體包括:
覆蓋區(qū)域包括主覆蓋區(qū)域和副覆蓋區(qū)域,從主覆蓋區(qū)域的頂點出發(fā),遍歷主覆蓋區(qū)域的邊上的頂點和交點;當一交點的標識為第二標識時,繼續(xù)在主覆蓋區(qū)域的邊上遍歷;當一交點的標識為第一標識時,以相同方向在該交點所在的副覆蓋區(qū)域的邊上遍歷各頂點或交點直至遍歷到相同的點,得到合并區(qū)域;或從初始交點出發(fā),遍歷主覆蓋區(qū)域上的頂點和交點;當另一交點的標識為第二標識時,繼續(xù)在主覆蓋區(qū)域的邊上遍歷;當另一交點的標識為第一標識時,以相同方向在另一交點所在的副覆蓋區(qū)域的邊上遍歷各頂點或交點直至回到初始交點,得到合并區(qū)域;
將主覆蓋區(qū)域上的頂點和交點與合并區(qū)域上的點進行對比,若某一點的標識為第二標識但該點不在合并區(qū)域內,則從該點出發(fā),在主覆蓋區(qū)域的邊上進行遍歷,直至遍歷到標識為第一標識的另一點,確定該點、另一點及它們之間的點構成了內部空洞。
進一步地,所述初步判斷覆蓋區(qū)域合并后產生的內部空洞區(qū)域包括以下步驟:
設覆蓋區(qū)域a內存在內部空洞ta:若覆蓋區(qū)域b包含覆蓋區(qū)域a,則覆蓋區(qū)域a和覆蓋區(qū)域b合并后的合并區(qū)域不存在內部空洞;若覆蓋區(qū)域a包含覆蓋區(qū)域b且內部空洞ta與覆蓋區(qū)域b相交,則確定內部空洞ta減去內部空洞ta與覆蓋區(qū)域b相交的部分為覆蓋區(qū)域a和覆蓋區(qū)域b合并后的內部空洞;若覆蓋區(qū)域a包含覆蓋區(qū)域b且內部空洞ta包含覆蓋區(qū)域b,則判斷覆蓋區(qū)域a和覆蓋區(qū)域b實際的位置關系為相離;若覆蓋區(qū)域a包含覆蓋區(qū)域b且覆蓋區(qū)域b包含內部空洞ta,則覆蓋區(qū)域a和覆蓋區(qū)域b合并后的合并區(qū)域不存在內部空洞;若覆蓋區(qū)域a包含覆蓋區(qū)域b且內部空洞ta與覆蓋區(qū)域b相離,則覆蓋區(qū)域a和覆蓋區(qū)域b合并后的合并區(qū)域的內部空洞為ta;若覆蓋區(qū)域a與覆蓋區(qū)域b相交且覆蓋區(qū)域b包含內部空洞ta,則覆蓋區(qū)域a和覆蓋區(qū)域b合并后的合并區(qū)域不存在內部空洞;若覆蓋區(qū)域a與覆蓋區(qū)域b相交且覆蓋區(qū)域b與內部空洞ta相交,則確定內部空洞ta減去內部空洞ta與覆蓋區(qū)域b相交的部分為覆蓋區(qū)域a和覆蓋區(qū)域b合并后的內部空洞;若覆蓋區(qū)域a與覆蓋區(qū)域b相交且覆蓋區(qū)域b與內部空洞ta相離,則覆蓋區(qū)域a和覆蓋區(qū)域b合并后的合并區(qū)域的內部空洞為ta或者ta及新生成的內部空洞。
本發(fā)明提供的技術方案帶來的有益效果是:
(1)本發(fā)明通過判斷覆蓋區(qū)域的位置關系獲得合并區(qū)域,實現(xiàn)了對多個衛(wèi)星傳感器對地觀測覆蓋區(qū)域的求并,能夠作為對衛(wèi)星傳感器進行規(guī)劃以及優(yōu)化調度的可信依據(jù);
(2)通過本發(fā)明可以窮舉多個衛(wèi)星傳感器對地觀測的覆蓋區(qū)域的所有數(shù)量級的組合區(qū)域,并且把多個觀測覆蓋區(qū)域求并的問題轉換成兩兩區(qū)域求并的問題,從而免去了多個區(qū)域同時求并計算所帶來的復雜性;
(3)本發(fā)明基于交點的標識,確定了覆蓋區(qū)域的合并區(qū)域,并識別了生成內部空洞的情況,準確度高。
附圖說明
圖1是本發(fā)明用于多衛(wèi)星傳感器對地觀測覆蓋區(qū)域求并確認方法的流程圖。
圖2是本發(fā)明一實施例用于多衛(wèi)星傳感器對地觀測覆蓋區(qū)域求并確認方法中兩個多邊形求交點示意圖。
圖3是本發(fā)明一實施例用于多衛(wèi)星傳感器對地觀測覆蓋區(qū)域求并確認方法中多邊形交點遍歷示意圖。
圖4是本發(fā)明一實施例用于多衛(wèi)星傳感器對地觀測覆蓋區(qū)域求并確認方法中判斷內部空洞與覆蓋區(qū)域位置關系的示意圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地描述。
請參考圖1和圖2,本發(fā)明的實施例提供了一種用于多衛(wèi)星傳感器對地觀測覆蓋區(qū)域求并確認方法,包括以下步驟:
步驟s101,獲得所有選定的衛(wèi)星傳感器對地觀測的覆蓋區(qū)域,對覆蓋區(qū)域進行組合。
一實施例中,將每個衛(wèi)星傳感器對地觀測的覆蓋區(qū)域看作一個多邊形,對所有選定的n個衛(wèi)星傳感器對地觀測的覆蓋區(qū)域進行從1到n的數(shù)字編號,數(shù)字編號構成集合s={1,2,...,n},然后對集合s進行不同數(shù)量的組合,組合的數(shù)量為
具體地,首先對集合s內的元素進行兩兩組合,結果表達為集合:
s2={(x,y)|(x∈s,y∈s;x≠y)}
然后把集合s2中的兩兩組合的元素作為一個整體,進行三個元素的組合,結果表達為集合:
s3={((x,y),w)|((x,y)∈s2,w∈s;x≠y≠w)}
按照上述規(guī)則,一直進行數(shù)量遞增的組合,直到組合為集合:
sn={((x,y,w,...,m),n)|((x,y,w,...,m)∈sn-1,n∈s;x≠y...m≠n}=s
由排列組合的定義易知共有組合數(shù)量
例如有集合s={1,2,3,4},那么:
s2={(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)}
s3={((1,2),3),((1,2),4),((1,3),4),((2,3),4)}
s4={((1,2,3),4)}=s
步驟s102,建立所有覆蓋區(qū)域的外包矩形,判斷每一組合中的外包矩形的位置關系。
一實施例中,選擇一個組合,該組合包括覆蓋區(qū)域a和覆蓋區(qū)域b,建立覆蓋區(qū)域a的外包矩形ra和覆蓋區(qū)域b的外包矩形rb,參考圖2,覆蓋區(qū)域a為一多邊形,其外包矩形ra為一虛線表示的長方形,覆蓋區(qū)域b為一長方形,外包矩形rb與覆蓋區(qū)域b重疊。
對外包矩形ra與外包矩形rb,判斷它們的位置關系包括以下步驟:
2.1若滿足條件{(xa<xb;(xa+wa)>(xb+wb))且(ya>yb;(ya-ha)<(yb-hb))}(1),則外包矩形ra包含外包矩形rb;
式中,xa為外包矩形ra左上角坐標的橫坐標,ya為外包矩形ra左上角坐標的縱坐標,wa為ra的水平長度,ha為ra的豎直長度,xb為外包矩形rb左上角坐標的橫坐標,yb為外包矩形rb左上角坐標的縱坐標,wb為rb的水平長度,hb為rb的豎直長度;
2.2若滿足條件{(xa>xb;(xa+wa)<(xb+wb))且(ya<yb;(ya-ha)>(yb-hb))}(2),則外包矩形rb包含外包矩形ra;
2.3若滿足條件{(xa<xb;(xa+wa)<xb)}(3),條件{(ya>yb;(ya-ha)>yb)}(4),條件{(xa>xb;(xb+wb)<xa)}(5),和條件{(ya>yb;(yb-hb)>ya)}(6)中的任一條件,則外包矩形ra和外包矩形rb相離;
2.4若條件(1)、條件(2)、條件(3)、條件(4)、條件(5)和條件(6)中的任一條件均不滿足,則外包矩形ra和外包矩形rb相交。
參考圖2,一實施例中,(xa>xb;(xa+wa)<(xb+wb))且(ya<yb;(ya-ha)>(yb-hb)),說明外包矩形ra包含外包矩形rb。
步驟s103,根據(jù)外包矩形的位置關系判斷覆蓋區(qū)域的初始位置關系,初始位置關系包括相交、相離和包含。
一實施例中,根據(jù)外包矩形ra與外包矩形rb的位置關系判斷覆蓋區(qū)域a與覆蓋區(qū)域b的位置關系,包括以下步驟:
如果外包矩形ra和外包矩形rb為相交關系,則判斷覆蓋區(qū)域a與覆蓋區(qū)域b的位置關系為相交或相離;如果外包矩形ra為被包含關系,從覆蓋區(qū)域a的頂點發(fā)射水平或豎直的射線,通過判斷射線與覆蓋區(qū)域b的交點數(shù)量判斷覆蓋區(qū)域a與覆蓋區(qū)域b的位置關系;
這里需要說明的是,當發(fā)射水平射線時,如果射線與覆蓋區(qū)域b的豎直方向上的極值頂點相交,則記交點數(shù)量為2;如果射線與覆蓋區(qū)域b的非豎直方向上的極值頂點相交,則記交點數(shù)量為1;當發(fā)射豎直射線時,如果射線與覆蓋區(qū)域b的水平方向上的極值頂點相交,則記交點數(shù)量為2;如果射線與覆蓋區(qū)域b的非水平方向上的極值頂點相交,則記交點數(shù)量為1;沒有交點則記為0;
若所有射線與覆蓋區(qū)域b的交點數(shù)量都為1,則覆蓋區(qū)域b包含覆蓋區(qū)域a:
若一部分射線與覆蓋區(qū)域b的交點數(shù)量為1,另一部分射線與覆蓋區(qū)域b的交點數(shù)量為0或2,則覆蓋區(qū)域a與覆蓋區(qū)域b相交;
若所有射線與覆蓋區(qū)域b的交點數(shù)量都為0或2,則覆蓋區(qū)域a與覆蓋區(qū)域b相離。
參考圖2,一實施例中,外包矩形rb為被包含關系,覆蓋區(qū)域b為多邊形q1q2q3q4,覆蓋區(qū)域a為多邊形p1p2p3p4p5p6,從覆蓋區(qū)域b的頂點q3發(fā)射一條水平向右的射線l1,該射線l1與覆蓋區(qū)域a的交點數(shù)量為0,從覆蓋區(qū)域b的頂點q4發(fā)射一條水平向右的射線l2,該射線l2與覆蓋區(qū)域a的交點數(shù)量為1,由此判斷覆蓋區(qū)域a和覆蓋區(qū)域b相交。
步驟s104,判斷覆蓋區(qū)域內是否存在未檢測到的區(qū)域,將該未檢測到的區(qū)域定義為內部空洞。
步驟s105,當某一組合內的覆蓋區(qū)域均不存在內部空洞時:
5.1若某一組合內的覆蓋區(qū)域的位置關系為相離,則繼續(xù)計算下一個組合;
5.2若某一組合內的覆蓋區(qū)域的位置關系為包含,則確定用于包含的覆蓋區(qū)域為合并區(qū)域;
5.3若某一組合內的覆蓋區(qū)域的位置關系為相交,進行以下步驟的計算:
5.3.1對組合內的覆蓋區(qū)域進行交點計算,將交點記錄在覆蓋區(qū)域上,并標記交點的標識;
交點計算包括以下步驟:
參考圖2,一實施例中,對于覆蓋區(qū)域a的邊pipi+1和覆蓋區(qū)域b的邊qjqj+1,計算叉積
標記交點的標識具體包括:
對于覆蓋區(qū)域a的邊pipi+1和覆蓋區(qū)域b的邊qjqj+1,計算叉積
如果叉積
如果叉積
如果叉積
需要說明的是,一條邊上求出的交點數(shù)量可能為多個,但求出交點的順序不一定是按照頂點排列順序的,因此,在求出一條邊上的交點后,需要先計算出這條邊上所有交點到邊起始點的歐氏距離,通過歐式距離從近到遠進行排序,再記錄到相應的邊上,如果一個多邊形的任意一條邊pipi+1與另一個多邊形的任意連續(xù)的兩條邊qjqj+1和qj+1qj+2交于同一點qj+1,則交點qj+1的標識記為邊pipi+1與邊qj+1qj+2相交時的標識。
通過以上步驟,便能得到帶交點的多邊形(覆蓋區(qū)域),該多邊形的形狀與原多邊形的形狀完全相同,作用是對其結點進行遍歷得到合并區(qū)域。
參考圖2,一實施例中,具體的標記方式為:因多邊形的邊以相同方向排列,以順時針方向為例,第一標識為“出”點的標識,第二標識為“入”點的標識。對于相交的兩條邊p1p2和q1q2,如果q1q2的起始點在p1p2的左邊或q1q2的終點在p1p2的右邊,則它們的交點為“入”點,反之則為“出”點,把兩個多邊形分成主多邊形和副多邊形,主多邊形中的入點標記為1,出點標記為-1,副多邊形則相反,將主多邊形和副多邊形中不是交點的點標記為0;逆時針方向則與順時針方向相反。需要說明的是,一條邊上的交點數(shù)量可能為多個,但求出交點的順序不一定是按照邊頂點順序的,因此,在求出一條邊上的交點后,需要先對交點進行排序,再記錄到相應位置,如果一個多邊形的一條邊p1p2與另一個多邊形連續(xù)的兩條邊q1q2和q2q3交于一點,則該點的標識為p1p2與q2q3相交時的標識。
如圖2所示,多邊形a以及多邊形b相交,其中需要注意的有兩個地方,首先是多邊形a的邊p1p2與多邊形b的邊q1q2、q2q3相交于同一點q2,按照上述規(guī)則,q2點的標識應該是p1p2與q2q3相交時的標識,計算出該點為入點;其次是多邊形a的邊p4p5與多邊形b的邊q2q3、q4q1相交于點n、p,由于計算出交點的先后順序是n、p,但實際上排列順序應該是p、n,因此需要對n、p進行排序,依據(jù)m與p到p4的距離從近到遠進行排序,這樣便得到了p4、p、n、p5的頂點順序,最后求并得到的多邊形坐標序列如圖2中表格內所示。
5.3.2通過對帶交點的覆蓋區(qū)域進行遍歷,確定覆蓋區(qū)域的合并區(qū)域以及合并后出現(xiàn)的內部空洞。
對帶交點的覆蓋區(qū)域進行遍歷具體包括:
覆蓋區(qū)域包括主覆蓋區(qū)域和副覆蓋區(qū)域,從主覆蓋區(qū)域的頂點出發(fā),遍歷主覆蓋區(qū)域的邊上的頂點和交點;當一交點的標識為第二標識時,繼續(xù)在主覆蓋區(qū)域的邊上遍歷;當一交點的標識為第一標識時,以相同方向在該交點所在的副覆蓋區(qū)域的邊上遍歷各頂點或交點直至遍歷到相同的點,得到合并區(qū)域;或從初始交點出發(fā),遍歷主覆蓋區(qū)域上的頂點和交點;當另一交點的標識為第二標識時,繼續(xù)在主覆蓋區(qū)域的邊上遍歷;當另一交點的標識為第一標識時,以相同方向在另一交點所在的副覆蓋區(qū)域的邊上遍歷各頂點或交點直至回到初始交點,得到合并區(qū)域;
將主覆蓋區(qū)域上的頂點和交點與合并區(qū)域上的點進行對比,若某一點的標識為第二標識但該點不在合并區(qū)域內,則從該點出發(fā),在主覆蓋區(qū)域的邊上進行遍歷,直至遍歷到標識為第一標識的另一點,確定該點、另一點及它們之間的點構成了內部空洞。
這里需要說明的是,每遍歷到一個頂點或交點時,判斷該點與起始點是否相同,并且判斷是否構成環(huán);如果構成環(huán),則遍歷結束,合并區(qū)域被求出;如果沒構成環(huán),則繼續(xù)遍歷。
參考圖2,一實施例中:
1)從主多邊形a的第一個頂點開始順序遍歷,直到遇到頂點的標識為1(即第二標識,表示“入”點)的點時便開始記錄,首先記錄該點,然后繼續(xù)遍歷主多邊形a的下一個點;
2)如果遇到的點的標識為0或1,則記錄該點,然后判斷此時記錄的集合是否構成環(huán)(第一個點與最后一個點相等),如果構成環(huán),則遍歷結束,合并區(qū)域被求出,如果沒構成環(huán),則繼續(xù)遍歷主多邊形a的下一個點;如果遇到的點的標識為-1,記錄該點,然后進入下一步;
3)進入到副多邊形b中坐標等于2)中標識為1的位置開始遍歷,如果該點標識為-1或0,記錄該點并判斷是否構成環(huán),如果構成環(huán)則遍歷結束,合并區(qū)域被求出,否則繼續(xù)遍歷副多邊形b的下一個點;如果遇到的點的標識為1,則記錄該點,然后返回到主多邊形a中等于該點的位置;
4)返回到3)中的主多邊形a的位置后,按照2)3)步驟對主多邊形a、副多邊形b進行遍歷,直至記錄的集合構成環(huán),就得到了所求合并區(qū)域的坐標集合,如果到最后一個點也沒構成環(huán),則返回到第一個點繼續(xù)遍歷,直至記錄的集合構成環(huán),就得到了所求合并區(qū)域的坐標集合;
5)用主多邊形a的坐標與生成的合并區(qū)域的坐標一一對比標識,如果某個坐標在主多邊形a中標識為1但該坐標不在合并區(qū)域坐標集合中,那么判斷生成了內部空洞,從主多邊形a中的該坐標開始遍歷,直到遇到一個標識為-1的坐標,則從坐標標識為1到這個標識為-1之間的點集合則為內部空洞的坐標集合。
如圖3所示,按照上述規(guī)則對圖2中多邊形相交所生成的帶交點的坐標序列進行遍歷,從p1開始,遇到第一個標識為1的點為q2,記錄q2,然后繼續(xù)遍歷,遇到點p2到p4,出入性質為0,記錄并繼續(xù)遍歷,遇到點p,標識為-1,記錄并進入多邊形b中p點處,遍歷到點q,標識為1,記錄并返回到多邊形a中的點q處,繼續(xù)遍歷,遇到點p6到p1,標識為0,記錄并繼續(xù)遍歷,此時多邊形a已經遍歷到最后一個點(即第一個點),依舊沒構成環(huán),則繼續(xù)從頭開始遍歷,遍歷到q2,并判斷出此時記錄已經構成環(huán),第一個點與最后一個點都是q2,遍歷結束,合并區(qū)域被找出,其坐標序列為:q2、p2、q3、p3、p4、p、q、p6、p1、q2。之后,再檢測其是否生成了內部空洞,通過多邊形a的坐標與求并后區(qū)域的坐標一一對比,發(fā)現(xiàn)多邊形a中的點n標識為1且不在求并后的區(qū)域坐標中,因為判斷生成了內部空洞,從點n開始遍歷直到遇到第一個出點m,則它們以及它們之間的點構成了內部空洞,從圖3中可以看到內部空洞坐標序列為:n、p5、m。
步驟s106,當一組合的覆蓋區(qū)域內存在內部空洞時,根據(jù)覆蓋區(qū)域的位置關系判斷內部空洞與覆蓋區(qū)域的位置關系,并根據(jù)內部空洞與覆蓋區(qū)域的位置關系初步判斷覆蓋區(qū)域合并后產生的內部空洞區(qū)域;
參考圖4,一實施例中,以四邊形代表覆蓋區(qū)域b,以a字多邊形代表覆蓋區(qū)域a,以三角形代表內部空洞ta,覆蓋區(qū)域a內存在內部空洞ta:若覆蓋區(qū)域b包含覆蓋區(qū)域a,則覆蓋區(qū)域a和覆蓋區(qū)域b合并后的合并區(qū)域不存在內部空洞;若覆蓋區(qū)域a包含覆蓋區(qū)域b且內部空洞ta與覆蓋區(qū)域b相交,則確定內部空洞ta減去內部空洞ta與覆蓋區(qū)域b相交的部分為覆蓋區(qū)域a和覆蓋區(qū)域b合并后的內部空洞;若覆蓋區(qū)域a包含覆蓋區(qū)域b且內部空洞ta包含覆蓋區(qū)域b,則判斷覆蓋區(qū)域a和覆蓋區(qū)域b實際的位置關系為相離;若覆蓋區(qū)域a包含覆蓋區(qū)域b且覆蓋區(qū)域b包含內部空洞ta,則覆蓋區(qū)域a和覆蓋區(qū)域b合并后的合并區(qū)域不存在內部空洞;若覆蓋區(qū)域a包含覆蓋區(qū)域b且內部空洞ta與覆蓋區(qū)域b相離,則覆蓋區(qū)域a和覆蓋區(qū)域b合并后的合并區(qū)域的內部空洞為ta;若覆蓋區(qū)域a與覆蓋區(qū)域b相交且覆蓋區(qū)域b包含內部空洞ta,則覆蓋區(qū)域a和覆蓋區(qū)域b合并后的合并區(qū)域不存在內部空洞;若覆蓋區(qū)域a與覆蓋區(qū)域b相交且覆蓋區(qū)域b與內部空洞ta相交,則確定內部空洞ta減去內部空洞ta與覆蓋區(qū)域b相交的部分為覆蓋區(qū)域a和覆蓋區(qū)域b合并后的內部空洞;若覆蓋區(qū)域a與覆蓋區(qū)域b相交且覆蓋區(qū)域b與內部空洞ta相離,則覆蓋區(qū)域a和覆蓋區(qū)域b合并后的合并區(qū)域的內部空洞為ta或者ta及新生成的內部空洞。
6.1若覆蓋區(qū)域的位置關系為相交,根據(jù)步驟5.3.1中的交點計算和交點的標識及步驟5.3.2中對覆蓋區(qū)域進行遍歷確定覆蓋區(qū)域的合并區(qū)域以及合并后出現(xiàn)的內部空洞。
6.2若覆蓋區(qū)域的位置關系為包含,確定用于包含的覆蓋區(qū)域為合并區(qū)域,并根據(jù)內部空洞與覆蓋區(qū)域的位置關系判斷合并區(qū)域的內部空洞。
本發(fā)明通過判斷覆蓋區(qū)域的位置關系獲得合并區(qū)域,實現(xiàn)了對多個衛(wèi)星傳感器對地觀測覆蓋區(qū)域的求并,能夠作為對衛(wèi)星傳感器進行規(guī)劃以及優(yōu)化調度的可信依據(jù);通過本發(fā)明可以窮舉多個衛(wèi)星傳感器對地觀測的覆蓋區(qū)域的所有數(shù)量級的組合區(qū)域,并且把多個觀測覆蓋區(qū)域求并的問題轉換成兩兩區(qū)域求并的問題,從而免去了多個區(qū)域同時求并計算所帶來的復雜性;本發(fā)明基于交點的標識,確定了覆蓋區(qū)域的合并區(qū)域,并識別了生成內部空洞的情況,準確度高。
在不沖突的情況下,本文中上述實施例及實施例中的特征可以相互結合。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。