專利名稱:一種gis空間疊加分析方法
技術(shù)領(lǐng)域:
本發(fā)明涉及GIS( Geographical Information System,地理信息系統(tǒng)),特別涉及GIS中的空間疊加分析方法。
背景技術(shù):
地理信息系統(tǒng)(GIS)是一種十分重要的空間信息系統(tǒng)。它是在計算機軟、硬件系統(tǒng)支持下,對整個或部分地球表層(包括大氣層)空間中的有關(guān)地理分布數(shù)據(jù)進行采集、儲存、管理、運算、分析、顯示和描述的技術(shù)系統(tǒng)??臻g分析是GIS的重要組成部分,是GIS的靈魂,也是評價一個GIS功能的主要指標(biāo)之一??臻g分析是基于地理目標(biāo)的位置和形態(tài)特征的空間數(shù)據(jù)分析技術(shù),其目的是提取和發(fā)現(xiàn)隱含的空間信息和規(guī)律,是空間數(shù)據(jù)挖掘和知識發(fā)現(xiàn)的基本方法之一??臻g分析主要包括空間量算、關(guān)系查詢、緩沖分析、疊加分析、網(wǎng)絡(luò)分析等內(nèi)容,其中的疊加分析是本發(fā)明所要關(guān)注的焦點。在常見的GIS系統(tǒng)中,采用分層方式組織地理景觀,同一區(qū)域的整個數(shù)據(jù)層集表達了該地區(qū)地理景觀的內(nèi)容。在對分層數(shù)據(jù)進行組合時采用了疊加分析。具體的說,疊加分析是將相關(guān)主題層組成的數(shù)據(jù)層進行疊加產(chǎn)生一個新數(shù)據(jù)層的操作,其結(jié)果綜合了原來的兩層或多層要素所具有的屬性。疊加分析不僅包含空間關(guān)系的疊加,還包括屬性關(guān)系的綜合。
最基本的疊加分析是在兩個圖層上的操作,多圖層的疊加分析完全可以在兩個圖層的疊加分析的基礎(chǔ)上通過重復(fù)操作實現(xiàn)。在兩個圖層的疊加分析中,假設(shè)把第一個圖層叫做輸入圖層,第二個圖層叫做疊加圖層,則輸入圖層與疊加圖層之間互為對應(yīng)圖層,即輸入圖層的對應(yīng)圖層為疊加圖層,疊加
圖層的對應(yīng)圖層為輸入圖層。在疊加分析中,疊加圖層必須為面圖層,而輸入圖層可以是點、線或者面圖層。根據(jù)不同的輸入圖層的不同類型,疊加分斗斤分為點面疊力口、 線面疊力口和面面疊力口。
點面疊加的實質(zhì)是區(qū)分在面對應(yīng)的多邊形內(nèi)的點以及在多邊形外的
點,而對于在面內(nèi)部的點,還要得到點在哪個多邊形的內(nèi)部。線面疊加的實質(zhì)是區(qū)分在面對應(yīng)的多邊形內(nèi)的線以及在多邊形外的線,其中,對于跨越多邊形邊界的線,則要在交點處打斷輸入線;對于在多邊形內(nèi)部的線,要得到線在哪個多邊形的內(nèi)部。面面疊加是指兩組多邊形之間的疊加,它的實質(zhì)是將兩組多邊形所覆蓋的區(qū)域分為三部分只屬于第 一組多邊形的區(qū)域(差)、同時屬于兩組多邊形的公共區(qū)域(交)以及只屬于第二組多邊形的區(qū)域(差)。對于疊加后所生成的任何一個多邊形,要知道其來自哪一個(對差而言)或者哪兩個多邊形(對交而言)。
在現(xiàn)有的疊加分析方法中,點面、線面和面面疊加一般都采用相對獨立的方法實現(xiàn),由此造成實現(xiàn)疊加分析方法的代碼量過于龐大,不利于在計算機上的高效編碼實現(xiàn)。此外,在現(xiàn)有的點面疊加方法中,主要實現(xiàn)了一個點與多邊形關(guān)系間的判斷,若要判斷多個點與多邊形的關(guān)系,需要針對每個點分別進行計算;在現(xiàn)有的線面疊加以及面面疊加方法中,也都只能一次完成一條線或一個多邊形與其它多邊形間的疊加運算。這些現(xiàn)有的點面、線面和面面疊加方法使得疊加分析方法本身的效率較低。
發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有的疊加分析方法中由于點面、線面、面面疊加相互獨立所造成的編碼龐大、不利于計算機實現(xiàn)的缺點,從而提供一種以掃描線算法為核心的一次掃描即全部完成的疊加分析方法。
為了實現(xiàn)上述目的,本發(fā)明提出了 一種GIS空間疊加分析方法,包括步驟l)、讀取要進行空間疊加的圖層的數(shù)據(jù),并為所述圖層中的面數(shù)據(jù)初始化其方向;
步驟2)、將所述數(shù)據(jù)中所要疊加的對象按照疊加類型進行分離,然后將所要疊加的對象轉(zhuǎn)換成線段;其中,所述的疊加類型包括點面疊加、線面疊力o以及面面疊力口;
步驟3)、采用掃描線算法對轉(zhuǎn)換成線段的疊加對象進行計算,得到并記錄交點信息;
步驟4)、結(jié)合步驟3)所得到的交點信息,對所要疊加的對象按照數(shù)據(jù)的疊加類型進行幾何計算;
步驟5)對步驟4)所得到的幾何計算結(jié)果,根據(jù)所述幾何計算結(jié)果從圖層中對應(yīng)的要素數(shù)據(jù)中繼承相關(guān)的屬性,得到最后的疊加分析結(jié)果。
上述技術(shù)方案中,在所述的步驟2)中,所述的將所要疊加的對象轉(zhuǎn)換成線段包括對于點而言,為點添加輔助線段,使得所述點在該輔助線段上;對于 面而言,將用于代表面的多邊形拆分成多條線段;對于線則把線拆分成若 干線段。上述技術(shù)方案中,在所述的步驟3)中,所述的掃描線算法在掃描一 個點時,返回所有過該點的線段,然后根據(jù)疊加類型做不同的處理;其中,在點面疊加中,根據(jù)為點所添加的輔助線段與表示面的多邊形的邊之 間的關(guān)系,判斷點與面之間的關(guān)系;在線面疊加、面面疊加中,對過點的線段按照所屬的圖層、所屬幾何 體的ID或者所屬環(huán)的ID進行分組,然后對屬于兩個圖層的每一小組分別 進行計算,得到交點的出入屬性,并把交點加到交點集合中去。上述技術(shù)方案中,所述的交點信息包括交點的坐標(biāo)值、產(chǎn)生交點的兩 條線段的ID、交點是出點還是入點以及交點碰到相同坐標(biāo)值的交點時的排序 信息。上述技術(shù)方案中,在所述的步驟4)中,所述的對所要疊加的對象按 照數(shù)據(jù)的疊加類型進行幾何計算包括點面疊加中的幾何計算、線面疊加 中的幾何計算以及面面疊加中的幾何計算。上述技術(shù)方案中,所述的點面疊加中的幾何計算包括對過同 一點的所有線段進行區(qū)分,判斷線段是對點添加輔助線段后得 到的線段還是多邊形的邊;對每一條由點構(gòu)造的輔助線段,計算其對應(yīng)的點圖層中的點與當(dāng)前多邊形的一條或者兩條線段的關(guān)系,得到點在此多邊形內(nèi)還是多邊形外,從而得到點在多邊形所在面的內(nèi)部還是外部。上述技術(shù)方案中,所述的線面疊加中的幾何計算包括 對存在交點的線,根據(jù)當(dāng)前線的所有交點以及交點的出入信息,分別得到所述線在多邊形內(nèi)部和外部的部分;對不存在交點的線,在所述線上選取一個代表點,根據(jù)所述點面疊加中的幾何計算,得到所述代表點與表示面的多邊形之間的關(guān)系,進而得到所述代表點所在線在表示面的多邊形的內(nèi)部或外部。上述技術(shù)方案中,所述的面面疊加中的幾何計算包括步驟4-l)、根據(jù)交點以及交點的出入屬性信息,在表示不同面的多邊形或多邊形組之間做交和差操作,得到相應(yīng)的多邊形環(huán);根據(jù)所述多邊形環(huán)的交點信息,可以知道產(chǎn)生多邊形環(huán)的多邊形,在環(huán)的ID信息中記錄,并根據(jù)所述多邊形環(huán)的方向,將多邊形環(huán)插入到內(nèi)環(huán)或外環(huán)的集合中;步驟4-2)、對沒有產(chǎn)生交點的環(huán)做交操作,根據(jù)環(huán)的方向,將環(huán)插入 到內(nèi)環(huán)集合或外環(huán)集合中;所述環(huán)也帶有用于標(biāo)識環(huán)是由哪個多邊形插入 的,以及此環(huán)被哪個多邊形所包含的ID信息;步驟4-3)、根據(jù)上述步驟所得到的ID信息匹配內(nèi)環(huán)與外環(huán),將具有 相同ID的內(nèi)環(huán)與外環(huán)歸屬到同 一個多邊形中。上述技術(shù)方案中,在所述的步驟4-1)中,對表示不同面的多邊形或 多邊形組之間做交操作包括步驟4-1-1-1 )、對相交多邊形中的各個交點進行排序; 步驟4-1-1-2)、對排序后的各個交點進行遍歷操作,在一次操作過程 中,判斷在用于保存交點的集合中是否存在未被訪問過的交點,若存在, 則按照步驟4-1-1-1)所得到的交點排列順序選擇一個未被訪問過的交點, 然后執(zhí)行下一步驟,否則,結(jié)束操作;步驟4-1-1-3)、首先判斷當(dāng)前點是否是完全重合的交點,若是,則根 據(jù)對特殊類型交點處理的方法對其進行處理,否則,判斷當(dāng)前的交點是出 點還是入點,若是入點,則按照交點所在第一組多邊形的方向前進,直至 找到下一個交點,若是出點,則按照交點所在的第二組多邊形前進,直至 找到下一個交點;其中,所述的出點是所述的第一組多邊形走出所述的第 二組多邊形的點,所述的入點是所述的第一組多邊形進入所述的第二組多 邊形的點;步驟4-1-1-4)、查找到下一個交點后,判斷該交點與最初的交點是否 一致,若一致,則認為找到了一個環(huán),執(zhí)行下一步,否則,重新執(zhí)行步驟 4-1-1-3);步驟4-1-1-5)、根據(jù)所得到環(huán)的方向判斷所述環(huán)是內(nèi)環(huán)還是外環(huán),根 據(jù)判斷結(jié)果,將所得到的環(huán)存放到交結(jié)果的內(nèi)環(huán)集合或外環(huán)集合中。環(huán)是 內(nèi)環(huán)還是外環(huán)可以根據(jù)環(huán)的方向進行判斷,若所述環(huán)的方向為順時針方 向,則該環(huán)為外環(huán),若所述環(huán)的方向為逆時針方向,則該環(huán)為內(nèi)環(huán)。上述技術(shù)方案中,在所述的步驟4-1)中,所述的對表示不同面的多 邊形組或多邊形之間的差操作包括步驟4-1-2-1)、對兩個多邊形組中的多邊形進行分類,分為存在異色 交點的多邊形,只存在同色交點的多邊形,以及不存在任何交點的多邊形; 所述的異色交點為所述交點由不同多邊形組中的多邊形相交得到的;所述的同色交點為同一組多邊形之間的"交點";步驟4-1-2-2)、對上一步驟中分類得到的只存在同色交點的多邊形以 及不存在任何交點的多邊形進行插入操作,得到差結(jié)果的內(nèi)環(huán)集合、差結(jié) 果的外環(huán)集合以及一 個待拆分的內(nèi)環(huán)集合;步驟4-1-2-3)、根據(jù)交點以及待拆分的內(nèi)環(huán)集合求差操作,將所得到 的結(jié)果插入差結(jié)果的外環(huán)集合中。上述技術(shù)方案中,所述的差操作包括對作為被減數(shù)的源多邊形組上的 環(huán)的差操作,以及作為減數(shù)的擦除多邊形組上的環(huán)的差操作。上述技術(shù)方案中,在所述的步驟4-1-2-2)中,對源多邊形組中只存在 同色交點的多邊形以及不存在任何交點的多邊形進行插入操作包括在源多邊形組中,在多邊形的內(nèi)環(huán)和/或外環(huán)上選擇邊界點;將所選擇的邊界點與擦除多邊形組中的各個多邊形進行比較,若該邊 界點在擦除多邊形組的多邊形內(nèi)部,則將所述邊界點所在的環(huán)放棄,不寫 入結(jié)果中,結(jié)束操作;若該邊界點在擦除多邊形組的多邊形外部,則將所 述邊界點所在的環(huán)寫入結(jié)果中;在將環(huán)寫入結(jié)果中時,若所述邊界點是外環(huán)上的邊界點,則將環(huán)寫入 差結(jié)果的外環(huán)集合中,若所述邊界點是內(nèi)環(huán)上的邊界點,則將環(huán)寫入差結(jié) 果的內(nèi)環(huán)集合中;最后結(jié)束操作。上述技術(shù)方案中,在所述的步驟4-1-2-2)中,對擦除多邊形組上只存 在同色交點的多邊形以及不存在任何交點的多邊形進行插入操作包括步驟4-1-2-2-1 )、在擦除多邊形組中,在多邊形的內(nèi)環(huán)、外環(huán)上分別 選擇邊界點;步驟4-1-2-2-2 )、將所選擇的邊界點與源多邊形組中的各個多邊形進 行比較,若該邊界點在源多邊形組的多邊形內(nèi)部,則執(zhí)行下一步,若該邊 界點在源多邊形組的多邊形外部,則執(zhí)行步驟4-1-2-2-6 );步驟4-1-2-2-3)、對多邊形的類型進行判斷,若所述多邊形中沒有任 何交點,則執(zhí)行下一步,若所述多邊形中只有同色交點,則執(zhí)行步驟 4陽l-2-2陽5 );步驟4-1-2-2-4)、將所述邊界點所在的環(huán)寫入結(jié)果中,若所述邊界點 是外環(huán)上的邊界點,則將環(huán)寫入差結(jié)果的內(nèi)環(huán)集合中,若所述邊界點是內(nèi) 環(huán)上的邊界點,則將環(huán)寫入差結(jié)果的外環(huán)集合中;最后結(jié)束操作;步驟4-1-2-2-5)、將所述邊界點所在的環(huán)寫入結(jié)果中, 所述邊界點是外環(huán)上的邊界點,則將環(huán)寫入待拆分內(nèi)環(huán)集合中,若所述邊界點是內(nèi)環(huán)上的邊界點,則將環(huán)寫入差結(jié)果的外環(huán)集合中;最后結(jié)束操作;步驟4-1-2-2-6)、將所述邊界點所在的環(huán)放棄,不寫入結(jié)果中,結(jié)束 操作。上述技術(shù)方案中,所述的步驟4-1-2-3)包括步驟4-1-2-3-1 )、得到屬于同一個多邊形的所有異色交點,判斷所述 異色交點是否是完全重合的交點,若是,則根據(jù)對特殊類型交點處理的方 法對其進行處理,否則,執(zhí)行下一步;步驟4-1-2-3-2)、根據(jù)異色交點的出入屬性求作為被減數(shù)的源多邊形 中位于作為減數(shù)的擦除多邊形外部的線段;步驟4-1-2-3-3)、根據(jù)異色交點的出入屬性求擦除多邊形位于源多邊 形內(nèi)部的線段;步驟4-1-2-3-4 )、判斷對于當(dāng)前源多邊形的待拆分內(nèi)環(huán)集合是否為空, 若為空,則直接執(zhí)行下一步,否則,對待拆分內(nèi)環(huán)集合中的待拆分內(nèi)環(huán)按 照環(huán)上的同色交點進行打斷,生成各條線串;步驟4-1-2-3-5)、對步驟4-1-2-3-3 )所生成的線串,判斷線段上是否 存在同色交點,若存在同色交點,則根據(jù)同色交點將線串打斷;步驟4-1-2-3-5)、對上述步驟4-1-2-3-4)、 4-1-2-3-5 )所得到的所有被 打斷的線串進行重疊抵消操作,抵消相互重疊并且方向相反的線串;步驟4-1-2-3-6)、將取消重疊部分后的所有被打斷的線串按照順序依 次連接,得到結(jié)果的外環(huán)部分,并添加到結(jié)果的外環(huán)集合中去。上述技術(shù)方案中,在所述步驟4-2)中,對沒有產(chǎn)生交點的環(huán)的交操 作包括步驟4-2-1)、在一個多邊形組中,在沒有交點的多邊形的內(nèi)環(huán)和/或外 環(huán)上分別選擇邊界點作為代表點;步驟4-2-2 )、將所選擇的邊界點與另 一組多邊形中的各個多邊形進行 比較,若該邊界點在另一多邊形組的多邊形內(nèi)部,則執(zhí)行下一步,若該邊 界點在另 一多邊形組的多邊形外部,則執(zhí)行步驟4-2-4 );步驟4-2-3)、將所述邊界點所在的環(huán)寫入結(jié)果中,若所述邊界點是外 環(huán)上的邊界點,則將環(huán)寫入交結(jié)果的外環(huán)集合中,若所述邊界點是內(nèi)環(huán)上 的邊界點,則將環(huán)寫入交結(jié)果的內(nèi)環(huán)集合中;最后結(jié)束操作;步驟4-2-4)、將所述邊界點所在的環(huán)放棄,不寫入結(jié)果中,結(jié)束操作。本發(fā)明的優(yōu)點在于與現(xiàn)有技術(shù)相比,本發(fā)明的方法在求取交點時采用了掃描線算法,使 得在一次操作中可以求得所有的交點,對多邊形的任意一條線段只需要初 始化一次,即可得到其產(chǎn)生的所有交點。若采用現(xiàn)有技術(shù)中兩兩計算的思 路,則求交點的過程需要兩兩進行計算,任意一條線段可能多次參與計算。
以下,結(jié)合附圖來詳細說明本發(fā)明的實施例,其中 圖1為本發(fā)明的方法的流程圖。
具體實施方式
在空間疊加分析的線面疊加和面面疊加過程中,都以線段與線段間交 點的求取為基礎(chǔ),而對于大數(shù)據(jù)量的點面疊加,若采用射線法,也可以將 點面疊加過程轉(zhuǎn)化成求交點問題?;谌N疊加過程的上述特點,本發(fā)明 提出了以交點計算為核心的疊加分析方法,該方法中以射線法中的掃描線 算法為基礎(chǔ),在掃描過程中計算交點并記錄交點信息,然后通過交點信息 得到最終的疊加結(jié)果。下面參考圖1,對本發(fā)明的空間疊加分析方法進行說明。步驟l)、讀取與空間疊加分析相關(guān)的數(shù)據(jù),即讀取兩個圖層(疊加圖 層和輸入圖層)的數(shù)據(jù),并為圖層中的面數(shù)據(jù)初始化其方向。由于在后續(xù)的操作中,內(nèi)外環(huán)的判定等都與方向有關(guān),因此在本步驟 中就要對初始方向進行設(shè)定,在本實施例中假定順時針方向為正,逆時針 方向為負。步驟2)、根據(jù)相關(guān)數(shù)據(jù)的具體疊加類型,將所要疊加的兩個對象進行 分離,然后將所要疊加的對象轉(zhuǎn)換成線段。在本步驟中,所述的將所要疊加的兩個對象進行分離,具體而言,對 于點面疊加,需要將點與面相分離,對于線面疊加,則要將線與面相分離, 對于面面疊加,則要將兩個面相分離。將要疊加的對象轉(zhuǎn)換成線段則是指 對于點而言,為點添加輔助線段,使得所述點在該輔助線段上;對于面而 言,將用于代表面的多邊形拆分成多條線段;對于線則是將線拆分成線段。 將要疊加的對象轉(zhuǎn)換成線段是要為下 一 步中的掃描線算法做準(zhǔn)備。步驟3)、采用掃描線算法對轉(zhuǎn)換為線段的疊加對象進行計算,得到并記錄交點信息,所得到的交點信息包括坐標(biāo)值、產(chǎn)生交點的兩條線段、交 點是出點還是入點以及交點碰到相同坐標(biāo)值的交點時的排序信息。
步驟4)、根據(jù)數(shù)據(jù)的疊加類型,結(jié)合所得到的交點信息,得到疊加對 象間的幾何計算結(jié)果。本步驟中所述的幾何計算是指該計算過程屬于單純 的數(shù)值計算,即在計算過程中的點、線、面都只有坐標(biāo)意義,而沒有地理 意義。例如,某個點可能代表一個城市,某個線可能代表一條公路,某個 面可能代表一個省區(qū),在幾何計算時,并不關(guān)心這個幾何要素對應(yīng)哪個地 理數(shù)據(jù),而只關(guān)心它們的坐標(biāo)值。
由于對點面疊加、線面疊加和面面疊加而言,幾何計算結(jié)果的獲取過 程存在差異,因此在下面分別對它們進行說明。
a、 ,泉面疊力口才喿4乍
對所得到的過同 一點的所有線段進行處理。首先區(qū)分這些線段是根據(jù) 點構(gòu)造得到的還是多邊形的邊。然后對每一條由點構(gòu)造的輔助線段,計算 其對應(yīng)的點圖層中的點與多邊形的 一條或者兩條線段的關(guān)系,從而得到點 在此多邊形內(nèi)還是多邊形外。由于在本發(fā)明中,多邊形代表多邊形所在的 面,因此,得到點在多邊形內(nèi)或外的信息就可以知道點在面內(nèi)還是在面外, 若位于面內(nèi),還可以同時知道位于哪一個面內(nèi)。
b、 線面疊加#:作
對所得到的交點依次進行處理,在處理過程中,根據(jù)輸入的線是否存 在交點分別進行處理,若線存在交點,則根據(jù)該交點是出點還是入點,判 斷線與表示面的多邊形之間的關(guān)系,得到線段在多邊形內(nèi)部和外部的部
分;若線不存在交點,則從線上選取一個代表點,然后通過前述的點面疊 加操作,得到點與表示面的多邊形之間的關(guān)系,進而得到點所在線與表示 面的多邊形之間的關(guān)系,然后把此線加入到在多邊形內(nèi)部或者在多邊形外 部的疊加結(jié)果中去。
c、 面面疊加操作
c-l)、根據(jù)交點以及交點的出入屬性信息,在表示不同面的多邊形或 多邊形組之間做交和差操作,得到相應(yīng)的多邊形環(huán);根據(jù)所述多邊形環(huán)的 交點信息,可以知道產(chǎn)生多邊形環(huán)的多邊形,在環(huán)的ID信息中記錄,并 根據(jù)所述多邊形環(huán)的方向,將多邊形環(huán)插入到內(nèi)環(huán)或外環(huán)的集合中。
c-2)、對沒有產(chǎn)生交點的環(huán)做交操作,根據(jù)環(huán)的方向,將環(huán)插入到內(nèi) 環(huán)集合或外環(huán)集合中;所述環(huán)也帶有用于標(biāo)識環(huán)是由哪個多邊形插入的,以及此環(huán)被哪個多邊形所包含的ID信息。
c-3)、根據(jù)上述步驟所得到的ID信息匹配內(nèi)環(huán)與外環(huán),具有相同ID
的內(nèi)環(huán)與外環(huán)必然歸屬同 一個多邊形。
根據(jù)多邊形的定義可知,任何一個多邊形必然包含一個外環(huán)以及若干 個內(nèi)環(huán)。只有屬于同一個多邊形的內(nèi)環(huán)外環(huán)組合在一起才能構(gòu)成一個有意 義的多邊形。在疊加計算過程中,得到的內(nèi)環(huán)與外環(huán)是孤立的,只有把疊 加計算得到的這些內(nèi)環(huán)外環(huán)必須匹配起來,才能構(gòu)成有意義的多邊形。
步驟5 )、對步驟4 )所得到的幾何計算結(jié)果,根據(jù)幾何計算結(jié)果的ID, 從輸入數(shù)據(jù)中繼承相關(guān)的屬性,得到最后的疊加分析結(jié)果。
幾何計算結(jié)束之后,不論是點面、線面還是面面疊加,每個幾何計算 的結(jié)果都包含了自身的ID以及所在多邊形的ID (若在多邊形外部則沒有 多邊形的ID),然后根據(jù)這些ID,分別找到原來要素的屬性,繼承下來, 與幾何數(shù)據(jù)一起形成一個帶幾何數(shù)據(jù)以及屬性信息的要素。然后把這些要 素組合起來,形成圖層,保存,即得到了疊加分析的結(jié)果。在前面的步驟 4)中已經(jīng)提到,在步驟4)中所作的計算是幾何計算,對幾何計算的結(jié)果 還要還原其本身的屬性,才能得到真正的疊加分析結(jié)果,而這一還原過程 就要通過本步驟中的屬性繼承操作實現(xiàn)。例如,有兩組面數(shù)據(jù),分別代表 行政縣界和土地利用情況(如農(nóng)業(yè)用地、森林、沙漠等)。對這兩組面數(shù) 據(jù)做"交"的幾何計算,可以得到兩組面數(shù)據(jù)所代表的兩個多邊形之間的 相交部分,但只有對所得到的相交部分進行屬性繼承,才能得到屬于某個 縣且具有特定土地利用情況(如農(nóng)業(yè)用地)的土地究竟是哪些,而這一結(jié) 果才是GIS中疊加分析所要得到的最終結(jié)果。
以上是對本發(fā)明的空間疊加分析方法的基本步驟的說明,下面對該方 法中的 一些技術(shù)內(nèi)容做詳細說明。
在上述的步驟2)中,采用掃描線算法求交點的過程中,不是簡單地 輸出交點,而是在每一個交點處,返回所有的過此點的線段,然后針對不 同的疊加,實現(xiàn)具體的處理。對點面疊加而言,若過此點的線段既有由點 構(gòu)造的射線,又有多邊形的邊,則可以根據(jù)過此點的線段之間的關(guān)系判斷 原始點與多邊形的關(guān)系。對于線面、面面疊加而言,則是對過這一點的所 有線段按照其所屬的圖層(第一個或者第二個圖層)、其所屬的幾何體的 ID (比如是線圖層的第幾個要素),或者環(huán)的ID (對多邊形而言,每個多 邊形可能有多個環(huán))進行分組,然后對屬于兩個圖層的每一小組分別進行計算,并把交點加到交點集合中去。同時,每個交點都在此計算得到了其 出入屬性。如此,直到整個掃描線算法結(jié)束,可以得到所有交點。需要說 明的是,因為此方法每次對過同一點的所有線段進行計算,因此有效解決 了各種特殊類型的交點的處理方法一交點在端點或者線段重疊等情形。
在上述步驟4)的面面疊加過程中,所述步驟C-1)對表示不同面的多
邊形組或多邊形之間的交操作包括
步驟401)、對相交多邊形中的各個交點進行排序;
步驟402)、對排序后的各個交點進行遍歷操作,在一次操作過程中, 判斷在用于保存交點的集合中是否存在未被訪問過的交點,若存在,則按 照步驟401)所得到的交點排列順序選擇一個未被訪問過的交點,然后執(zhí) 行下一步驟,否則,結(jié)束操作;
步驟403 )、首先判斷當(dāng)前點是否是完全重合的交點,若是,則根據(jù)對 特殊類型交點處理的方法對其進行處理,否則,判斷當(dāng)前的交點是出點還 是入點,若是入點,則按照交點所在第一組多邊形的方向前進,直至找到 下一個交點,若是出點,則按照交點所在的第二組多邊形前進,直至找到 下一個交點;其中,所述的出點是所述的第一組多邊形走出所述的第二組 多邊形的點,所述的入點是所述的第一組多邊形進入所述的第二組多邊形 的點;
步驟404)、查找到下一個交點后,判斷該交點與最初的交點是否一致, 若一致,則認為找到了一個環(huán),執(zhí)行下一步,否則,重新執(zhí)行步驟403 );
步驟405 )、根據(jù)所得到環(huán)的方向判斷所述環(huán)是內(nèi)環(huán)還是外環(huán),根據(jù)判 斷結(jié)果,將所得到的環(huán)存放到交結(jié)果的內(nèi)環(huán)集合或外環(huán)集合中。環(huán)是內(nèi)環(huán) 還是外環(huán)可以根據(jù)環(huán)的方向進行判斷,若所述環(huán)的方向為順時針方向,則 該環(huán)為外環(huán),若所述環(huán)的方向為逆時針方向,則該環(huán)為內(nèi)環(huán)。
在上述步驟4)的面面疊加過程中,所述步驟c-l )對表示不同面的多 邊形組或多邊形之間的差操作包括
步驟411)、對兩個多邊形組中的多邊形進行分類,分為存在異色交點 的多邊形,只存在同色交點的多邊形,以及不存在任何交點的多邊形;所 述的異色交點是指該交點是由不同多邊形組中的多邊形相交得到的;所述 的同色交點是指同一組多邊形之間的"交點"。
步驟412 )、對上一步驟中分類得到的只存在同色交點的多邊形以及不 存在任何交點的多邊形進行插入操作,得到差結(jié)果的內(nèi)環(huán)集合、差結(jié)果的外環(huán)集合以及一個待拆分的內(nèi)環(huán)集合;
步驟413)、根據(jù)交點以及待拆分的內(nèi)環(huán)集合求差操作,將所得到的結(jié) 果插入差結(jié)果的外環(huán)集合中。
本發(fā)明中所涉及的差操作包括對作為被減數(shù)的源多邊形組上的環(huán)的 操作,以及作為減數(shù)的擦除多邊形組上的環(huán)的操作。其中,
對源多邊形組上的沒有產(chǎn)生異色交點的環(huán)(即只存在同色交點的多邊 形和不存在任何交點的多邊形)的操作包括
步驟412-11)、在源多邊形組中,在多邊形的內(nèi)環(huán)和/或外環(huán)上選擇邊
界點;
步驟412-12 )、將所選擇的邊界點與擦除多邊形組中的各個多邊形進 行比較,若該邊界點在擦除多邊形組的多邊形內(nèi)部,則執(zhí)行下一步,若該 邊界點在擦除多邊形組的多邊形外部,則執(zhí)行步驟412-14 );
步驟412-13)、將所述邊界點所在的環(huán)放棄,不寫入結(jié)果中,結(jié)束操
作;
步驟412-14)、將所述邊界點所在的環(huán)寫入結(jié)果中,若所述邊界點是 外環(huán)上的邊界點,則將環(huán)寫入差結(jié)果的外環(huán)集合中,若所述邊界點是內(nèi)環(huán) 上的邊界點,則將環(huán)寫入差結(jié)果的內(nèi)環(huán)集合中;最后結(jié)束操作。 對擦除多邊形組上的沒有產(chǎn)生異色交點的環(huán)的操作包括 步驟412-21)、在擦除多邊形組中,在多邊形的內(nèi)環(huán)、外環(huán)上分別選 擇邊界點;
步驟412-22 )、將所選擇的邊界點與源多邊形組中的各個多邊形進行 比較,若該邊界點在源多邊形組的多邊形內(nèi)部,則執(zhí)行下一步,若該邊界 點在源多邊形組的多邊形外部,則執(zhí)行步驟412-26 );
步驟412-23)、對多邊形的類型進行判斷,若所述多邊形中沒有任何 交點,則執(zhí)行下一步,若所述多邊形中只有同色交點,則執(zhí)行步驟412-25 );
步驟412-24)、將所述邊界點所在的環(huán)寫入結(jié)果中,若所述邊界點是 外環(huán)上的邊界點,則將環(huán)寫入差結(jié)果的內(nèi)環(huán)集合中,若所述邊界點是內(nèi)環(huán) 上的邊界點,則將環(huán)寫入差結(jié)果的外環(huán)集合中;最后結(jié)束操作;
步驟412-25)、將所述邊界點所在的環(huán)寫入結(jié)果中,若所述邊界點是 外環(huán)上的邊界點,則將環(huán)寫入待拆分內(nèi)環(huán)集合中,若所述邊界點是內(nèi)環(huán)上 的邊界點,則將環(huán)寫入差結(jié)果的外環(huán)集合中;最后結(jié)束操作;
步驟412-26)、將所述邊界點所在的環(huán)放棄,不 入結(jié)果中,結(jié)束操作。
上述步驟413)中,根據(jù)交點以及待拆分的內(nèi)環(huán)集合求差操作,將所 得到的結(jié)果插入差結(jié)果的外環(huán)集合中具體包括
步驟413-1)、得到屬于同一個多邊形的所有異色交點,判斷所述異色 交點是否是完全重合的交點,若是,則根據(jù)對特殊類型交點處理的方法對 其進行處理,否則,執(zhí)行下一步;
步驟413-2 )、根據(jù)異色交點的出入屬性求作為被減數(shù)的源多邊形中位 于作為減數(shù)的擦除多邊形外部的線串;
步驟413-3 )、根據(jù)異色交點的出入屬性求擦除多邊形位于源多邊形內(nèi) 部的線串;
步驟413-4 )、判斷對于源多邊形的待拆分內(nèi)環(huán)集合是否為空,若為空, 則直接執(zhí)行下一步,否則,對待拆分內(nèi)環(huán)集合中的待拆分內(nèi)環(huán)按照環(huán)上的 同色交點進行打斷,生成各條線串;
步驟413-5)、對步驟413-3)所生成的線串,判斷線串上是否存在同 色交點,若存在同色交點,則根據(jù)同色交點將線串打斷;
步驟413-5)、對上述步驟413-4)、 413-5)所得到的所有被打斷的線 串進行重疊抵消操作,抵消相互重疊并且方向相反的線串;
步驟413-6)、將取消重疊部分后的所有被打斷的線串按照順序依次連 接,得到結(jié)果的外環(huán)部分,并添加到結(jié)果的外環(huán)集合中去。
在上述步驟4)的面面疊加過程中,所述步驟c-2)中對沒有產(chǎn)生交點 的環(huán)的交操作包括
步驟c-2-l)、在一個多邊形組中,在沒有交點的多邊形的內(nèi)環(huán)和/或外 環(huán)上分別選擇邊界點作為代表點;
步驟c-2-2 )、將所選擇的邊界點與另 一組多邊形中的各個多邊形進行 比較,若該邊界點在另一多邊形組的多邊形內(nèi)部,則執(zhí)行下一步,若該邊 界點在另 一多邊形組的多邊形外部,則執(zhí)行步驟c-2-4 );
步驟c-2-3)、將所述邊界點所在的環(huán)寫入結(jié)果中,若所述邊界點是外 環(huán)上的邊界點,則將環(huán)寫入交結(jié)果的外環(huán)集合中,若所述邊界點是內(nèi)環(huán)上 的邊界點,則將環(huán)寫入交結(jié)果的內(nèi)環(huán)集合中;最后結(jié)束操作;
步驟c-2-4)、將所述邊界點所在的環(huán)放棄,不寫入結(jié)果中,結(jié)束操作。 最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制。 盡管參照實施例對本發(fā)明進行了詳細說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,對本發(fā)明的技術(shù)方案進行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案 的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1、一種GIS空間疊加分析方法,包括步驟1)、讀取要進行空間疊加的圖層的數(shù)據(jù),并為所述圖層中的面數(shù)據(jù)初始化其方向;步驟2)、將所述數(shù)據(jù)中所要疊加的對象按照疊加類型進行分離,然后將所要疊加的對象轉(zhuǎn)換成線段;其中,所述的疊加類型包括點面疊加、線面疊加以及面面疊加;步驟3)、采用掃描線算法對轉(zhuǎn)換成線段的疊加對象進行計算,得到并記錄交點信息;步驟4)、結(jié)合步驟3)所得到的交點信息,對所要疊加的對象按照數(shù)據(jù)的疊加類型進行幾何計算;步驟5)對步驟4)所得到的幾何計算結(jié)果,根據(jù)所述幾何計算結(jié)果從圖層的數(shù)據(jù)中繼承相關(guān)的屬性,得到最后的疊加分析結(jié)果。
2、 根據(jù)權(quán)利要求1所述的GIS空間疊加分析方法,其特征在于,在 所述的步驟2)中,所述的將所要疊加的對象轉(zhuǎn)換成線段包括對于點而言,為點添加輔助線段,使得所述點在該輔助線段上;對于 面而言,將用于代表面的多邊形拆分成多條線段;對于線則將線拆分成若 干線段。
3、 根據(jù)權(quán)利要求2所述的GIS空間疊加分析方法,其特征在于,在 所述的步驟3)中,所述的掃描線算法在掃描一個點時,返回所有過該點 的線段,然后根據(jù)疊加類型做不同的處理;其中,在點面疊加中,根據(jù)為點所添加的輔助線段與表示面的多邊形的邊之 間的關(guān)系,判斷點與面之間的關(guān)系;在線面疊加、面面疊加中,對過點的線段按照所屬的圖層、所屬幾何 體的ID或者所屬環(huán)的ID進行分組,然后對屬于兩個圖層的每一小組分別 進行計算,得到交點的出入屬性,并把交點加到交點集合中去。
4、 根據(jù)權(quán)利要求2所述的GIS空間疊加分析方法,其特征在于,所 述的交點信息包括交點的坐標(biāo)值、產(chǎn)生交點的兩條線段的ID、交點是出點 還是入點以及交點石並到相同坐標(biāo)值的交點時的排序信息。
5、 根據(jù)權(quán)利要求4所述的GIS空間疊加分析方法,其特征在于,在 所述的步驟4)中,所述的對所要疊加的對象按照數(shù)據(jù)的疊加類型進行幾何計算包括:點面疊加中的幾何計算、線面疊加中的幾何計算以及面面疊 加中的幾何計算。
6、 根據(jù)權(quán)利要求5所述的GIS空間疊加分析方法,其特征在于,所 述的點面疊加中的幾何計算包括對過同 一點的所有線段進行區(qū)分,判斷線段是對點添加輔助線段后得 到的線段還是多邊形的邊;對每一條由點構(gòu)造的輔助線段,計算其對應(yīng)的點圖層中的點與多邊形 的一條或者兩條線段的關(guān)系,得到點在此多邊形內(nèi)還是多邊形外,從而得 到點在多邊形所在面的內(nèi)部還是外部。
7、 根據(jù)權(quán)利要求5所述的GIS空間疊加分析方法,其特征在于,所 述的線面疊加中的幾何計算包括對存在交點的線,根據(jù)當(dāng)前線的所有交點以及交點的出入信息,分別 得到所述線在多邊形內(nèi)部和外部的部分; .對不存在交點的線,在所述線上選取一個代表點,根據(jù)所述點面疊加 中的幾何計算,得到所述代表點與表示面的多邊形之間的關(guān)系,進而得到 所述代表點所在線在表示面的多邊形的內(nèi)部或外部。
8、 根據(jù)權(quán)利要求5所述的GIS空間疊加分析方法,其特征在于,所 述的面面疊加中的幾何計算包括步驟4-l)、根據(jù)交點以及交點的出入屬性信息,在表示不同面的多邊 形或多邊形組之間做交和差操作,得到相應(yīng)的多邊形環(huán);根據(jù)所述多邊形 環(huán)的交點信息,可以知道產(chǎn)生多邊形環(huán)的多邊形,在環(huán)的ID信息中記錄, 并根據(jù)所述多邊形環(huán)的方向,將多邊形環(huán)插入到內(nèi)環(huán)或外環(huán)的集合中;步驟4-2)、對沒有產(chǎn)生交點的環(huán)做交操作,根據(jù)環(huán)的方向,將環(huán)插入 到內(nèi)環(huán)集合或外環(huán)集合中;所述環(huán)也帶有用于標(biāo)識環(huán)是由哪個多邊形插入 的,以及此環(huán)被哪個多邊形所包含的ID信息;步驟4-3)、根據(jù)上述步驟所得到的ID信息匹配內(nèi)環(huán)與外環(huán),將具有 相同ID的內(nèi)環(huán)與外環(huán)歸屬到同一個多邊形中。
9、 根據(jù)權(quán)利要求8所述的GIS空間疊加分析方法,其特征在于,在 所述的步驟4-1)中,對表示不同面的多邊形或多邊形組之間做交操作包 括步驟4-1-1-1 )、對相交多邊形中的各個交點進行排序;步驟4-1-1-2)、對排序后的各個交點進行遍歷操作,在一次操作過程中,判斷在用于保存交點的集合中是否存在未被訪問過的交點,若存在,則按照步驟4-1-1-1 )所得到的交點排列順序選擇一個未被訪問過的交點, 然后執(zhí)行下一步驟,否則,結(jié)束操作;步驟4-1-1-3)、首先判斷當(dāng)前點是否是完全重合的交點,若是,則根 據(jù)對特殊類型交點處理的方法對其進行處理,否則,判斷當(dāng)前的交點是出 點還是入點,若是入點,則按照交點所在第一組多邊形的方向前進,直至 找到下一個交點,若是出點,則按照交點所在的第二組多邊形前進,直至 找到下一個交點;其中,所述的出點是所述的第一組多邊形走出所述的第 二組多邊形的點,所述的入點是所述的第 一組多邊形進入所述的第二組多 邊形的點;步驟4-1-1-4)、查找到下一個交點后,判斷該交點與最初的交點是否 一致,若一致,則認為找到了一個環(huán),執(zhí)行下一步,否則,重新執(zhí)行步驟 4陽1-1誦3 );步驟4-1-1-5)、根據(jù)所得到環(huán)的方向判斷所述環(huán)是內(nèi)環(huán)還是外環(huán),根 據(jù)判斷結(jié)果,將所得到的環(huán)存放到交結(jié)果的內(nèi)環(huán)集合或外環(huán)集合中。
10、 根據(jù)權(quán)利要求8所述的GIS空間疊加分析方法,其特征在于,在 所述的步驟4-1)中,所述的對表示不同面的多邊形組或多邊形之間的差 操作包括步驟4-1-2-1)、對兩個多邊形組中的多邊形進^f亍分類,分為存在異色 交點的多邊形,只存在同色交點的多邊形,以及不存在任何交點的多邊形; 所述的異色交點為所述交點由不同多邊形組中的多邊形相交得到的;所述 的同色交點為同一組多邊形之間的"交點";步驟4-1-2-2)、對上一步驟中分類得到的只存在同色交點的多邊形以 及不存在任何交點的多邊形進行插入操作,得到差結(jié)果的內(nèi)環(huán)集合、差結(jié) 果的外環(huán)集合以及一個待拆分的內(nèi)環(huán)集合;步驟4-1-2-3)、根據(jù)交點以及待拆分的內(nèi)環(huán)集合求差操作,將所得到 的結(jié)果插入差結(jié)果的外環(huán)集合中。
11、 根據(jù)權(quán)利要求10所述的GIS空間疊加分析方法,其特征在于, 所述的差操作包括對作為被減數(shù)的源多邊形組上的環(huán)的差操作,以及作為 減數(shù)的擦除多邊形組上的環(huán)的差操作。
12、 根據(jù)權(quán)利要求11所述的GIS空間疊加分析方法,其特征在于, 在所述的步驟4-1-2-2)中,對源多邊形組中只存在同色交點的多邊形以及不存在任何交點的多邊形進行插入操作包括在源多邊形組中,在多邊形的內(nèi)環(huán)和/或外環(huán)上選擇邊界點;將所選擇的邊界點與擦除多邊形組中的各個多邊形進行比較,若該邊界點在擦除多邊形組的多邊形內(nèi)部,則將所述邊界點所在的環(huán)放棄,不寫入結(jié)果中,結(jié)束操作;若該邊界點在擦除多邊形組的多邊形外部,則將所述邊界點所在的環(huán)寫入結(jié)果中;在將環(huán)寫入結(jié)果中時,若所述邊界點是外環(huán)上的邊界點,則將環(huán)寫入差結(jié)果的外環(huán)集合中,若所述邊界點是內(nèi)環(huán)上的邊界點,則將環(huán)寫入差結(jié)果的內(nèi)環(huán)集合中;最后結(jié)束操作。
13、 根據(jù)權(quán)利要求11所述的GIS空間疊加分析方法,其特征在于,在所述的步驟4-1-2-2)中,對擦除多邊形組上只存在同色交點的多邊形以及不存在任何交點的多邊形進行插入操作包括步驟4-1-2-2-1 )、在擦除多邊形組中,在多邊形的內(nèi)環(huán)、外環(huán)上分別選擇邊界點;步驟4-1-2-2-2 )、將所選擇的邊界點與源多邊形組中的各個多邊形進行比較,若該邊界點在源多邊形組的多邊形內(nèi)部,則執(zhí)行下一步,若該邊界點在源多邊形組的多邊形外部,則執(zhí)行步驟4-1-2-2-6 );步驟4-1-2-2-3)、對多邊形的類型進行判斷,若所述多邊形中沒有任何交點,則執(zhí)行下一步,若所述多邊形中只有同色交點,則執(zhí)行步驟4-l隱2-2畫5 );步驟4-1-2-2-4)、將所述邊界點所在的環(huán)寫入結(jié)果中,若所述邊界點是外環(huán)上的邊界點,則將環(huán)寫入差結(jié)果的內(nèi)環(huán)集合中,若所述邊界點是內(nèi)環(huán)上的邊界點,則將環(huán)寫入差結(jié)果的外環(huán)集合中;最后結(jié)束操作;步驟4-1-2-2-5 )、將所述邊界點所在的環(huán)寫入結(jié)果中,若所述邊界點是外環(huán)上的邊界點,則將環(huán)寫入待拆分內(nèi)環(huán)集合中,若所述邊界點是內(nèi)環(huán)上的邊界點,則將環(huán)寫入差結(jié)果的外環(huán)集合中;最后結(jié)束操作;步驟4-1-2-2-6)、將所述邊界點所在的環(huán)放棄,不寫入結(jié)果中,結(jié)束操作。
14、 根據(jù)權(quán)利要求11所述的GIS空間疊加分析方法,其特征在于,所述的步驟4-1-2-3)包括步驟4-1-2-3-1)、得到屬于同一個多邊形的所有異色交點,判斷所述異色交點是否是完全重合的交點,若是,則根據(jù)對特殊類型交點處理的方法對其進行處理,否則,執(zhí)行下一步;步驟4-1-2-3-2)、根據(jù)異色交點的出入屬性求作為被減數(shù)的源多邊形中位于作為減數(shù)的擦除多邊形外部的線段;步驟4-1-2-3-3)、根據(jù)異色交點的出入屬性求擦除多邊形位于源多邊形內(nèi)部的線段;步驟小1_2-3-4)、判斷對于源多邊形的待拆分內(nèi)環(huán)集合是否為空,若為空,則直接執(zhí)行下一步,否則,對待拆分內(nèi)環(huán)集合中的待拆分內(nèi)環(huán)按照環(huán)上的同色交點進行打斷,生成各條線串;步驟4-1-2-3-5)、對步驟4-1-2-3-3 )所生成的線串,判斷線串上是否存在同色交點,若存在同色交點,則根據(jù)同色交點將線串打斷;步驟4-1-2-3-5)、對上述步驟4-1-2-3-4)、 4-1-2-3-5 )所得到的所有被打斷的線串進行重疊抵消操作,抵消相互重疊并且方向相反的線串;步驟4-1-2-3-6)、將取消重疊部分后的所有被打斷的線串按照順序依次連接,得到結(jié)果的外環(huán)部分,并添加到結(jié)果的外環(huán)集合中去。
15、根據(jù)權(quán)利要求8所述的GIS空間疊加分析方法,其特征在于,在所述步驟4-2)中,對沒有產(chǎn)生交點的環(huán)的交搡作包括步驟4-2-1)、在一個多邊形組中,在沒有交點的多邊形的內(nèi)環(huán)和/或外環(huán)上分別選擇邊界點作為代表點;步驟4-2-2 )、將所選擇的邊界點與另 一組多邊形中的各個多邊形進行比較,若該邊界點在另一多邊形組的多邊形內(nèi)部,則執(zhí)行下一步,若該邊界點在另 一多邊形組的多邊形外部,則執(zhí)行步驟4-2-4 );步驟4-2-3)、將所述邊界點所在的環(huán)寫入結(jié)果中,若所述邊界點是外環(huán)上的邊界點,則將環(huán)寫入交結(jié)果的外環(huán)集合中,若所述邊界點是內(nèi)環(huán)上的邊界點,則將環(huán)寫入交結(jié)果的內(nèi)環(huán)集合中;最后結(jié)束操作;步驟4-2-4)、將所述邊界點所在的環(huán)放棄,不寫入結(jié)果中,結(jié)束操作。
全文摘要
本發(fā)明提供一種GIS空間疊加分析方法,包括讀取要進行空間疊加的圖層的數(shù)據(jù),并為圖層中的面數(shù)據(jù)初始化其方向;將數(shù)據(jù)中所要疊加的對象按照疊加類型進行分離,然后將所要疊加的對象轉(zhuǎn)換成線段;采用掃描線算法對轉(zhuǎn)換成線段的疊加對象進行計算,得到并記錄交點信息;結(jié)合交點信息,對所要疊加的對象按照數(shù)據(jù)的疊加類型進行幾何計算;對幾何計算結(jié)果,根據(jù)所述幾何計算結(jié)果中的ID信息,從圖層中對應(yīng)的要素數(shù)據(jù)中繼承相關(guān)的屬性,得到最后的疊加分析結(jié)果。本發(fā)明的方法在求取交點時采用了掃描線算法,使得在一次操作中可以求得所有的交點,對多邊形的任意一條線段只需要初始化一次,即可得到其產(chǎn)生的所有交點。
文檔編號G06F17/30GK101634988SQ20081011701
公開日2010年1月27日 申請日期2008年7月22日 優(yōu)先權(quán)日2008年7月22日
發(fā)明者申排偉, 程振林, 趙紅超, 杰 閆 申請人:中國科學(xué)院計算技術(shù)研究所