專利名稱:一種面向混合型復(fù)雜目標(biāo)的距離圖制圖方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種面向混合型復(fù)雜目標(biāo)的距離圖制圖方法,屬于計算機(jī)制圖技術(shù)領(lǐng) 域。
背景技術(shù):
距離圖是一種專題地圖,它描述了地理空間中地物對周邊的影響范圍。距離圖以 點、線、面實體為基礎(chǔ),通過自動建立其周圍一定寬度范圍內(nèi)的多邊形區(qū)域(影響區(qū)),以表 示實體對其周圍地物的影響情況。其應(yīng)用相當(dāng)廣泛,如海岸線外一定距離的領(lǐng)海區(qū);城市規(guī) 劃和環(huán)境保護(hù)中表示某類目標(biāo)多級影響范圍的禁止建設(shè)區(qū);地震震源向周圍的多級破壞范 圍等。在制圖領(lǐng)域,距離圖反映的核心內(nèi)容是圖形要素和“等距離影響區(qū)”,影響區(qū)表現(xiàn)形式 為距離等值線或區(qū)域,可能對影響區(qū)根據(jù)距離大小選擇漸變色進(jìn)行暈渲,或采用分層設(shè)色 形式來表達(dá)。關(guān)于距離圖的制作,目前還沒有較為簡單高效的方法,制圖人員普遍借助GIS或 制圖軟件中的緩沖區(qū)分析功能來實現(xiàn),由于GIS緩沖區(qū)功能相對單一,主要面向GIS空間數(shù) 據(jù)分析,不是為專業(yè)制圖而設(shè)計的,對于距離圖這類應(yīng)用,使用不是很方便。而現(xiàn)有的緩沖區(qū)生成方法,較成熟的有平行雙線法、基元疊合法等。這兩類方法 都難以避免點、線和面集合在實現(xiàn)緩沖區(qū)過程中的多邊形合并等復(fù)雜運(yùn)算,效率普遍不高。 采用緩沖區(qū)生成方法來定制距離圖難以滿足實際應(yīng)用需要,一方面制作距離圖往往要考慮 點、線、面等多類型目標(biāo),各目標(biāo)影響距離、方向參數(shù)組合復(fù)雜,常見緩沖區(qū)生成功能往往只 能針對點集合、線集合或者面集合,空間實體類型比較單一,以專業(yè)制圖軟件ArcGIS為例, 多級緩沖區(qū)的生成主要針對單一圖層,即距離圖只能為點距離圖、線距離圖或者面距離圖, 難以完成復(fù)雜混合類型距離圖的制作,另外各級影響距離的設(shè)置不夠靈活,比如難以實現(xiàn) 按照某一特定函數(shù)賦值輸入,或難以提供面的外側(cè)、內(nèi)側(cè)、雙側(cè)的方向性選擇;另一方面實 際應(yīng)用中數(shù)據(jù)量很大,在目標(biāo)集中包含上百萬個點、線、面圖形的情形并不鮮見,此時制圖 時間明顯增加成為現(xiàn)有方法的突出問題。一部分相對“成熟”的、已應(yīng)用于大型GIS平臺軟 件提供的距離圖制圖功能,有時需要數(shù)小時才能完成計算,難以滿足實際應(yīng)用需求。因此, 本發(fā)明旨在提供一種能快速處理多類型目標(biāo)、多參數(shù)、復(fù)雜數(shù)據(jù)的距離圖制圖方案,以彌補(bǔ) 現(xiàn)有距離圖制圖功能的不足。
發(fā)明內(nèi)容
本發(fā)明要解決技術(shù)問題是克服現(xiàn)有技術(shù)的上述不足,提供一種制圖過程簡單、運(yùn) 算速度快的面向混合型復(fù)雜目標(biāo)的距離圖制圖方法。為了解決以上技術(shù)問題,本發(fā)明提供的一種面向混合型復(fù)雜目標(biāo)的距離圖制圖方 法,其步驟包括第一步、根據(jù)點線面目標(biāo)集合的地圖坐標(biāo)范圍,以及給定的影響距離集合中最大 影響距離,確定空間目標(biāo)距離圖的有效坐標(biāo)范圍;
第二步、根據(jù)確定的有效坐標(biāo)范圍,建立由預(yù)定尺寸精度單元格構(gòu)成的柵格場;第三步、對點、線、面目標(biāo)集合中的每個目標(biāo)按照給定影響距離集合中的各影響距 離分別建立與影響距離對應(yīng)的獨(dú)立緩沖區(qū);第四步、采用掃描線方法將所述的各獨(dú)立緩沖區(qū)分別轉(zhuǎn)化為一組行程單元集合, 所述行程單元集合所包含的行程單元標(biāo)記有位于所在柵格行的始、末列號及影響距離;第五步、依次將各獨(dú)立緩沖區(qū)所對應(yīng)的行程單元集合插入柵格場,并進(jìn)行疊合操 作,疊合操作時,影響距離較小的行程單元覆蓋影響距離較大的行程單元,并將所有面目標(biāo) 按照掃描線方法生成的行程單元集合插入到對應(yīng)行的柵格場,插入時覆蓋與其有重合的行 程單元,最后形成一組疊合后行程單元集合;;第六步、采用四方向邊界追蹤法,從該組疊合后行程單元集合所構(gòu)成的柵格圖中 提取多邊形,生成混合目標(biāo)集距離圖。本發(fā)明針對所有目標(biāo)建立各距離的緩沖區(qū),并將該緩沖區(qū)轉(zhuǎn)化為行程表達(dá),然后 對行程進(jìn)行疊合操作,從而實現(xiàn)了混合型復(fù)雜目標(biāo)的緩沖區(qū)建立。本制圖方法將傳統(tǒng)純矢 量形式的緩沖區(qū)建立方法改進(jìn)為矢量、柵格并用,且通過行程疊合加快運(yùn)算速度、提高精度 的緩沖區(qū)建立方法。進(jìn)一步的,本發(fā)明面向混合型復(fù)雜目標(biāo)的距離圖制圖方法的第二步中,建立點、線 目標(biāo)的獨(dú)立緩沖區(qū)的方法是將點、線目標(biāo)集合中每個目標(biāo)分別按照給定的各影響距離采 用基元疊合法生成與影響距離對應(yīng)的基元影響區(qū),得到與各影響距離對應(yīng)的點、線目標(biāo)基 元影響區(qū)集合,該點、線目標(biāo)基元影響區(qū)集合即為點、線目標(biāo)的獨(dú)立緩沖區(qū)。進(jìn)一步的,本發(fā)明面向混合型復(fù)雜目標(biāo)的距離圖制圖方法的第二步中,建立面目 標(biāo)的獨(dú)立緩沖區(qū)的方法是根據(jù)用戶設(shè)定的面目標(biāo)影響區(qū)類型,將面目標(biāo)集合中的每個目 標(biāo)分別按照給定的各影響距離采用基元疊合法生成與影響距離對應(yīng)的基元影響區(qū)集合,該 面目標(biāo)基元影響區(qū)集合即為面目標(biāo)的獨(dú)立緩沖區(qū)。所述面目標(biāo)影響區(qū)類型包括面目標(biāo)外側(cè)、面目標(biāo)內(nèi)側(cè)、面目標(biāo)雙側(cè)。此外,本發(fā)明還提供了一種更優(yōu)化的面向混合型復(fù)雜目標(biāo)的距離圖制圖方法,其 步驟包括第一步、根據(jù)點線面目標(biāo)集合的地圖坐標(biāo)范圍,以及給定的影響距離集合中最大 影響距離,確定空間目標(biāo)距離圖的有效坐標(biāo)范圍;第二步、根據(jù)確定的有效坐標(biāo)范圍;建立由預(yù)定尺寸精度單元格構(gòu)成的柵格場;第三步、對點、線、面目標(biāo)集合中的每個目標(biāo)按照給定影響距離集合中的各影響距 離分別建立與影響距離對應(yīng)的一組基元多邊形;第四步、采用掃描線方法將所有的基元多邊形轉(zhuǎn)化為行程單元集合,并對每個目 標(biāo)所對應(yīng)的行程單元集合進(jìn)行疊合操作,形成與影響距離對應(yīng)的以行程單元集合形式表 達(dá)的各目標(biāo)的獨(dú)立緩沖區(qū),所述行程單元集合所包含的行程單元標(biāo)記有位于所在柵格行的 始、末列號及影響距離;第五步、依次將各獨(dú)立緩沖區(qū)所對應(yīng)的行程單元集合插入柵格場,并進(jìn)行疊合操 作,疊合操作時,影響距離較小的行程單元覆蓋影響距離較大的行程單元,并將所有面目標(biāo) 按照掃描線方法生成的行程單元集合插入到對應(yīng)行的柵格場,插入時覆蓋與其有重合的行 程單元,最后形成一組疊合后行程單元集合;
第六步、采用四方向邊界追蹤法,從該組疊合后行程單元集合所構(gòu)成的柵格圖中 提取多邊形,生成混合目標(biāo)集距離圖。傳統(tǒng)基元疊合思想的矢量方法中,需要將基元多邊形通過弧段打斷重組等完成所 有基元多邊形的合并運(yùn)算,處理較為復(fù)雜,效率不高。本優(yōu)化方案中,為完成后續(xù)基元多邊 形的合并,生成有效綜合影響區(qū),借助柵格數(shù)據(jù)壓縮思想,將基元多邊形以行程單元集合形 式表達(dá),則多邊形的運(yùn)算轉(zhuǎn)換為行程單元的運(yùn)算,提高了運(yùn)算速度。通過掃描線方法可以將 多邊形數(shù)據(jù)實現(xiàn)柵格顯示,并進(jìn)一步壓縮為行程編碼數(shù)據(jù)表達(dá)。本發(fā)明的有益效果是(1)采用柵格思想完成基元的合并與相差,并通過行程編碼方法壓縮柵格數(shù)據(jù),優(yōu) 化了柵格數(shù)據(jù)的運(yùn)算效率,并進(jìn)一步提升了矢量距離圖的數(shù)據(jù)精度。行程編碼方法將常見 直接?xùn)鸥窬幋a數(shù)據(jù)進(jìn)行壓縮,一個行程單元的運(yùn)算能一次完成柵格條帶上多個網(wǎng)格單元的 運(yùn)算,有效提高了柵格運(yùn)算效率。隨著柵格數(shù)據(jù)量的降低,可以進(jìn)一步提高柵格場網(wǎng)格行 列值數(shù)目,提升行程編碼方法下的距離圖生成結(jié)果數(shù)據(jù)精度。采用本發(fā)明實現(xiàn)的混合類型 目標(biāo)集距離圖制圖結(jié)果數(shù)據(jù)精度能夠精確至小數(shù)點后2位以上,完全可以滿足實際應(yīng)用需 要。(2)實現(xiàn)基于行程編碼數(shù)據(jù)的空間運(yùn)算,有效避免了常規(guī)距離圖生成中多邊形合 并和相差運(yùn)算所帶來的復(fù)雜性。將常見距離圖生成中基元影響區(qū)多邊形的合并和相差過程 轉(zhuǎn)換為行程單元的合并和相差運(yùn)算,而行程單元的運(yùn)算都限定在各自對應(yīng)的柵格條帶上, 其實現(xiàn)方法比常見矢量方法中的多邊形運(yùn)算簡單高效。(3)本發(fā)明基于任意復(fù)雜的面狀多邊形要素距離圖生成,且提供了外側(cè)、內(nèi)側(cè)和雙 側(cè)距離圖,能滿足現(xiàn)有大部分GIS距離圖制圖應(yīng)用需求。常見GIS面要素距離圖生成方法 多基于簡單多邊形要素,且主要為面要素的外側(cè)距離圖生成。本發(fā)明中,面要素的多邊形形 狀可以是帶多個復(fù)雜的洞和島結(jié)構(gòu),在這類復(fù)雜情況下,可以實現(xiàn)基于面要素向其外側(cè)、內(nèi) 側(cè)或者雙側(cè)距離圖生成。(4)提供了一種實現(xiàn)點線面多類型混合目標(biāo)的距離圖制圖方法,有效填補(bǔ)了現(xiàn)有 GIS距離圖制圖功能的不足?,F(xiàn)有方法多側(cè)重對某一類型空間目標(biāo)集合的距離圖生成,尤以 點目標(biāo)集合的距離圖制圖最多。成熟的大型GIS平臺提供的常見距離圖生成方法主要為基 于點圖層上點目標(biāo)集合的距離圖生成、基于線圖層上線目標(biāo)集合的距離圖生成以及基于面 圖層上面目標(biāo)集合的距離圖生成,距離圖制圖功能較為單一,混合目標(biāo)的距離圖制圖功能 較少見。本發(fā)明不僅能實現(xiàn)點、線、面目標(biāo)獨(dú)立類型集合的距離圖生成,更重要的是提供一 種統(tǒng)一的復(fù)雜混合類型空間目標(biāo)集距離圖制圖方法。
下面結(jié)合附圖對本發(fā)明作進(jìn)一步的說明。圖1是本發(fā)明距離圖制圖方法流程圖。圖2是一個點線面混合類型目標(biāo)集距離圖生成示意圖。圖3是兩個多邊形的行程編碼示意圖。圖4是兩條線要素生成距離圖示例。圖5是一條線要素做距離圖示例。
圖6是面要素通過掃描線方法生成行程單元集合的過程示意圖。圖7是兩個點要素生成距離圖示例。圖8是行程單元疊合操作示意圖。圖9是帶洞的面要素生成外側(cè)影響區(qū)示例。圖10是帶洞的面要素生成內(nèi)側(cè)影響區(qū)示例。圖11是帶洞的面要素生成雙側(cè)影響區(qū)示例。圖12是面要素生成外側(cè)影響區(qū)且包含原面的示例圖。
具體實施例方式實施例1圖1為本發(fā)明的流程圖,圖2提供了在一定影響距離的情況下得到的一個包含點 線面混合目標(biāo)集的距離圖示例,圖中面要素采用外側(cè)影響區(qū)。本實施例面向混合型復(fù)雜目標(biāo)的距離圖制圖方法,如圖1所示,其步驟包括第一步、根據(jù)點線面目標(biāo)集合的地圖坐標(biāo)范圍,以及給定的影響距離集合中最大 影響距離,確定空間目標(biāo)距離圖的有效坐標(biāo)范圍;實際應(yīng)用中,點、線、面目標(biāo)集合常以圖層表達(dá),分為點圖層、線圖層和面圖層。圖 層的坐標(biāo)范圍可以通過遍歷該圖層上坐標(biāo)點的最小最大X、Y坐標(biāo)求得,然后比較所有圖層 的坐標(biāo)范圍計算最小最大X、Y坐標(biāo)得出總體地圖坐標(biāo)范圍,因地圖邊界上地理實體需要做 影響區(qū),因此距離圖的坐標(biāo)范圍為上述總體地圖坐標(biāo)范圍向上、下、左、右各擴(kuò)展影響距離 中最大影響距離得到。第二步、根據(jù)確定的有效坐標(biāo)范圍,建立由預(yù)定尺寸精度單元格構(gòu)成的柵格場;柵 格場的行列值可以通過預(yù)先給定參數(shù)決定(如十萬行十萬列)。第三步、對點、線、面目標(biāo)集合中的每個目標(biāo)按照給定影響距離集合中的各影響距 離分別建立與影響距離對應(yīng)的獨(dú)立緩沖區(qū);分別將點和線目標(biāo)集合中每個目標(biāo)按照給定的影響距離采用基元疊合法生成各 自的基元影響區(qū),得到基元影響區(qū)集合。相比面目標(biāo)而言,點和線目標(biāo)的影響區(qū)結(jié)果比較簡 單,可以優(yōu)先處理點和線目標(biāo)類型。本發(fā)明的影響區(qū)生成采用基元疊合的思想,具體思路 是單點影響區(qū)是一個以該點為圓心,影響距離為半徑的圓形;單線影響區(qū)則以組成線的 所有線段兩端點分別構(gòu)造圓形,以各條線段為中心線分別向兩側(cè)做以影響距離為寬度的平 行線構(gòu)成矩形,將生成的圓形和矩形合并即為線影響區(qū)。如圖5展示了一條線要素及其影 響區(qū),該影響區(qū)由四個圓形和三個矩形組成,事實上只要能將圓形和矩形合并成一個多邊 形,該多邊形就是本條線要素的綜合影響區(qū)??梢?,本實施例中,建立點、線目標(biāo)的獨(dú)立緩沖區(qū)的方法是將點、線目標(biāo)集合中每 個目標(biāo)分別按照給定的各影響距離采用基元疊合法生成與影響距離對應(yīng)的基元影響區(qū),得 到與各影響距離對應(yīng)的點、線目標(biāo)基元影響區(qū)集合,該點、線目標(biāo)基元影響區(qū)集合即為點、 線目標(biāo)的獨(dú)立緩沖區(qū)。由于面目標(biāo)的影響區(qū)類型包括面目標(biāo)外側(cè)、面目標(biāo)內(nèi)側(cè)、面目標(biāo)雙側(cè),因此,面目 標(biāo)的緩沖區(qū)建立相對于點線目標(biāo)的緩沖區(qū)建立而言較為復(fù)雜。建立面目標(biāo)的獨(dú)立緩沖區(qū)的方法是根據(jù)用戶設(shè)定的面目標(biāo)影響區(qū)類型,將面目標(biāo)集合中的每個目標(biāo)分別按照給定的各影響距離采用基元疊合法生成與影響距離對應(yīng)的 基元影響區(qū)集合,該面目標(biāo)基元影響區(qū)集合即為面目標(biāo)的獨(dú)立緩沖區(qū)。面目標(biāo)影響區(qū)類型主要分為外側(cè)、內(nèi)側(cè)和雙側(cè)三種,其中外側(cè)是指以構(gòu)成面的外 邊界向區(qū)域外做影響區(qū);內(nèi)側(cè)是指以構(gòu)成面的內(nèi)邊界向區(qū)域外做影響區(qū);而雙側(cè)則是指針 對構(gòu)成面的外邊界和內(nèi)邊界向區(qū)域外做影響區(qū)。圖9顯示了一個帶洞的多邊形做外側(cè)影 響區(qū),圖中以橫線填充的區(qū)域為原多邊形區(qū)域,白色部分為多邊形的洞,以豎線填充的區(qū)域 為外側(cè)影響區(qū);圖10顯示了該帶洞的多邊形做內(nèi)側(cè)影響區(qū),橫線填充的區(qū)域為原多邊形區(qū) 域,斜線填充的區(qū)域為內(nèi)側(cè)影響區(qū);圖11顯示了該帶洞多邊形實現(xiàn)雙側(cè)影響區(qū),圖中橫線 填充的區(qū)域為原多邊形區(qū)域,豎線填充的區(qū)域為外側(cè)影響區(qū),斜線填充的區(qū)域為內(nèi)側(cè)影響 區(qū)。如圖12所示,該圖顯示了一個做外側(cè)影響區(qū)的基元疊合處理手段,在給定的影響 距離下,以構(gòu)成面的外邊界線做基元影響區(qū),若將原面多邊形與外邊界線生成的影響區(qū)做 相差運(yùn)算,則可以得到面的外側(cè)影響區(qū),其外側(cè)影響區(qū)的內(nèi)邊界正好是原面的外邊界。原面 多邊形與面的內(nèi)外邊界線生成的基元影響區(qū)做相差運(yùn)算可以轉(zhuǎn)換為行程的疊合運(yùn)算,這一 過程在第5步實現(xiàn)。將原面多邊形參與運(yùn)算一方面是為了得到外側(cè)或內(nèi)側(cè)影響區(qū),另一方 面是為了制圖美觀,即原面不受自身或其他目標(biāo)生成的影響區(qū)的覆蓋,這在一般距離圖制 圖中應(yīng)用較為常見。面目標(biāo)外側(cè)影響區(qū)生成的運(yùn)算詳細(xì)過程為1)遍歷欲做影響區(qū)的面要素外邊界 線上構(gòu)成線段的所有點,以點為中心,以影響距離為半徑做圓形,得到所有點集的圓形基 元集合;2)遍歷外邊界線的各線段,以線段為中心線像兩側(cè)分別作寬度為影響距離的平行 線,得到所有線段的矩形基元集合。同理,若做內(nèi)側(cè)影響區(qū),則遍歷構(gòu)成面要素的所有內(nèi)邊 界線,分別作點和線段的基元影響結(jié)果,若為雙側(cè)影響區(qū)則對外邊界線和內(nèi)邊界線做基元 影響區(qū)。第四步、采用掃描線方法將各獨(dú)立緩沖區(qū)分別轉(zhuǎn)化為一組行程單元集合,行程單 元集合所包含的行程單元標(biāo)記有位于所在柵格行的始、末列號及影響距離;本發(fā)明將空間目標(biāo)影響區(qū)轉(zhuǎn)化為行程編碼方式表達(dá)。行程編碼是對全柵格編碼數(shù) 據(jù)的一種壓縮手段,每個行程單元記錄了行程兩端位于柵格行中的列值,并采用鏈表的形 式組織柵格行上的行程單元集合,在初始條件下,柵格場上行程單元數(shù)為零,因此,每行的 行程鏈表為空。在設(shè)計中涉及到三個結(jié)構(gòu)體,柵格場基本信息結(jié)構(gòu)體、行程單元結(jié)構(gòu)體和行 程鏈表結(jié)構(gòu)體,柵格場信息結(jié)構(gòu)體記錄了柵格行列值和柵格空間坐標(biāo)范圍;行程單元結(jié)構(gòu) 體記錄了行程單元的首尾兩端位于柵格行的列值;行程鏈表結(jié)構(gòu)體記錄了該柵格行的行程 單元個數(shù)以及各行程單元。圖3顯示了兩個多邊形的行程編碼表達(dá),圖中黑色條帶即是行 程單元。圖4是兩個線要素生成影響區(qū)及影響區(qū)所對應(yīng)的行程單元表達(dá)示例,圖中只給出 了四個行程單元(每個黑色矩形區(qū)表示一個行程單元)和相應(yīng)的兩個行程鏈表,柵格場上 每個柵格行都有一個鏈表結(jié)構(gòu),將該行的行程單元串聯(lián)起來(在實際應(yīng)用中柵格行列值比 示意圖精細(xì)得多)。設(shè)計中可以給定一個數(shù)組,數(shù)組大小為柵格場的行數(shù),每個數(shù)組元素為 行程鏈表,這樣可以從二維上將整個柵格場的行程集合組織起來。如圖6所示,需要進(jìn)行行程柵格化的面A由一條外邊界線C和兩條內(nèi)邊界線Cl、 C2構(gòu)成,對該面跨越柵格場中對應(yīng)的各柵格行做掃描線,目標(biāo)問題可理解為計算出每一行中屬于A面的行程單元,或者說計算各行程單元的邊界點,并將該點橫坐標(biāo)反算成柵格的 列號表示。以圖中掃描線η所在的第η柵格行為例,計算該行中心線與面邊界曲線的交點 Ρ1-Ρ10,不妨稱之為斷點,它們就是該行全部的行程邊界點。依據(jù)點_面包含關(guān)系判定的射 線法原理可知,任一掃描行上斷點個數(shù)均為偶數(shù)。設(shè)某行斷點數(shù)為2η,它們將該行劃分為 2η+1個彼此相鄰的柵格空間,其中屬于面A的行程為η個,這些行程間隔地被面A包含。各 行程單元的邊界點由一對相鄰斷點組成,其中以奇數(shù)序號斷點為起始點的行程屬于面Α,如 圖中 η 行上的行程{Ρ1,Ρ2},{Ρ3,Ρ4},{Ρ5,Ρ6},{Ρ7,Ρ8},{Ρ9,ΡΙΟ}。依據(jù)這一原理,只要 事先計算出各行的斷點并按序排列,即可根據(jù)斷點序號的奇偶性,快速建立該行的行程集 合并組織為鏈表形式。第五步、依次將各獨(dú)立緩沖區(qū)所對應(yīng)的行程單元集合插入柵格場,并進(jìn)行疊合操 作,疊合操作時,影響距離較小的行程單元覆蓋影響距離較大的行程單元,并將所有面目標(biāo) 按照掃描線方法生成的行程單元集合插入到對應(yīng)行的柵格場,插入時覆蓋與其有重合的行 程單元,最后形成一組疊合后行程單元集合;圖7顯示了兩個點做影響區(qū)后的效果,兩個圓形基元部分重疊,各自生成的行程 單元在對應(yīng)柵格行上會出現(xiàn)重疊。因此,完成圓形基元多邊形的合并,需要在將行程單元插 入總柵格場中完成這種基于行程單元的運(yùn)算。圖8是一段行程單元插入柵格場中某一行行 程鏈表的結(jié)果,插入前行程鏈表中有五段行程單元,在插入時和待插入行程單元會出現(xiàn)部 分重疊,其具體運(yùn)算規(guī)則為查看互相重合的行程單元其影響距離是否相同,若相同表示是 同一影響級別的影響區(qū),將行程合并;若不相同,則以待插入的行程替代重疊部分的行程空 間,執(zhí)行行程相差。如圖8中結(jié)果行程鏈表中只有四段行程單元,原行程鏈表中第二段行程 尾部所在的列號發(fā)生變化,而第三段行程單元則直接被刪掉,第四段行程單元與待插入行 程單元因為影響距離相同而合并。按照此方法,首先完成點、和線目標(biāo)集的基元多邊形行程 化并將得到的所有行程單元插入到步驟三生成的行程鏈表中。按照外側(cè)、內(nèi)側(cè)或雙側(cè)影響 區(qū)選項,再將面的外邊界線或內(nèi)邊界線生成的基元影響區(qū)對應(yīng)的行程單元插入到行程鏈表 中。最后,將原面自身生成的行程單元插入到行程鏈表,執(zhí)行行程相差運(yùn)算。本發(fā)明將多級影響距離下的距離圖按照影響距離劃分為簡單的多個單級距離圖 的組合,并通過行程單元運(yùn)算處理各級影響區(qū)的相差問題。本步驟中的疊合操作可參見《地 理與地理信息科學(xué)》2009,25 (3)中名為《一種顧及屬性的游程編碼"交"運(yùn)算方法與實驗》 的論文,本實施例中不再闡述。第六步、采用四方向邊界追蹤法,從該組疊合后行程單元集合所構(gòu)成的柵格圖中 提取多邊形,生成混合目標(biāo)集距離圖。如今,有很多成熟的行程編碼數(shù)據(jù)的矢量多邊形生成 方法,包括邊界追蹤過程中的追蹤方向確定以及弧段提取等,在此不再贅述。實施例2本實施例對基元疊合法生成緩沖區(qū)進(jìn)行了改進(jìn),與實施例1的區(qū)別在于第三步和 第四步。本實施中的面向混合型復(fù)雜目標(biāo)的距離圖制圖方法,其步驟包括第一步、根據(jù)點線面目標(biāo)集合的地圖坐標(biāo)范圍,以及給定的影響距離集合中最大 影響距離,確定空間目標(biāo)距離圖的有效坐標(biāo)范圍;第二步、根據(jù)確定的有效坐標(biāo)范圍,建立由預(yù)定尺寸精度單元格構(gòu)成的柵格場;
9
第三步、對點、線、面目標(biāo)集合中的每個目標(biāo)按照給定影響距離集合中的各影響距 離分別建立與影響距離對應(yīng)的一組基元多邊形;第四步、采用掃描線方法將所有的基元多邊形轉(zhuǎn)化為行程單元集合,并對每個目 標(biāo)所對應(yīng)的行程單元集合進(jìn)行疊合操作,形成與影響距離對應(yīng)的以行程單元集合形式表 達(dá)的各目標(biāo)的獨(dú)立緩沖區(qū),所述行程單元集合所包含的行程單元具有始、末列號及影響距 罔;第五步、依次將各獨(dú)立緩沖區(qū)所對應(yīng)的行程單元集合插入柵格場,并進(jìn)行疊合操 作,疊合操作時,影響距離較小的行程單元覆蓋影響距離較大的行程單元,并將所有面目標(biāo) 按照掃描線方法生成的行程單元集合插入到對應(yīng)行的柵格場,插入時覆蓋與其有重合的行 程單元,最后形成一組疊合后行程單元集合;第六步、采用四方向邊界追蹤法,從該組疊合后行程單元集合所構(gòu)成的柵格圖中 提取多邊形,生成混合目標(biāo)集距離圖。常見采用基元疊合思想的矢量方法中,是將基元多邊形通過弧段打斷重組等完成 所有基元多邊形的合并運(yùn)算,生成緩沖區(qū)。其處理較為復(fù)雜,效率不高。本實施例則直接將 基元多邊形以行程方式表達(dá)(柵格化),然后再進(jìn)行合并的疊合操作,處理簡單、運(yùn)算速度 快。疊合后的行程單元集合即為相應(yīng)目標(biāo)的對應(yīng)影響距離的獨(dú)立緩沖區(qū),可直接用于緩沖 區(qū)疊置。在距離圖的編輯過程中,欲添加、刪除目標(biāo)時,只需對相應(yīng)的行程單元集合進(jìn)行插 入或刪除操作,靈活方便,運(yùn)行速度快,可見這種緩沖區(qū)的建立方式利于距離圖編輯。除上述實施例外,本發(fā)明還可以有其他實施方式。凡采用等同替換或等效變換形 成的技術(shù)方案,均落在本發(fā)明要求的保護(hù)范圍。
權(quán)利要求
一種面向混合型復(fù)雜目標(biāo)的距離圖制圖方法,其步驟包括第一步、根據(jù)點線面目標(biāo)集合的地圖坐標(biāo)范圍,以及給定的影響距離集合中最大影響距離,確定空間目標(biāo)距離圖的有效坐標(biāo)范圍;第二步、根據(jù)確定的有效坐標(biāo)范圍,建立由預(yù)定尺寸精度單元格構(gòu)成的柵格場;第三步、對點、線、面目標(biāo)集合中的每個目標(biāo)按照給定影響距離集合中的各影響距離分別建立與影響距離對應(yīng)的獨(dú)立緩沖區(qū);第四步、采用掃描線方法將所述的各獨(dú)立緩沖區(qū)分別轉(zhuǎn)化為一組行程單元集合,所述行程單元集合所包含的行程單元標(biāo)記有位于所在柵格行的始、末列號及影響距離;第五步、依次將各獨(dú)立緩沖區(qū)所對應(yīng)的行程單元集合插入柵格場,并進(jìn)行疊合操作,疊合操作時,影響距離較小的行程單元覆蓋影響距離較大的行程單元,并將所有面目標(biāo)按照掃描線方法生成的行程單元集合插入到對應(yīng)行的柵格場,插入時覆蓋與其有重合的行程單元,最后形成一組疊合后行程單元集合;第六步、采用四方向邊界追蹤法,從該組疊合后行程單元集合所構(gòu)成的柵格圖中提取多邊形,生成混合目標(biāo)集距離圖。
2.根據(jù)權(quán)利要求1所述的面向混合型復(fù)雜目標(biāo)的距離圖制圖方法,其特征在于第二步 中,建立點、線目標(biāo)的獨(dú)立緩沖區(qū)的方法是將點、線目標(biāo)集合中每個目標(biāo)分別按照給定的 各影響距離采用基元疊合法生成與影響距離對應(yīng)的基元影響區(qū),得到與各影響距離對應(yīng)的 點、線目標(biāo)基元影響區(qū)集合,該點、線目標(biāo)基元影響區(qū)集合即為點、線目標(biāo)的獨(dú)立緩沖區(qū)。
3.根據(jù)權(quán)利要求1所述的面向混合型復(fù)雜目標(biāo)的距離圖制圖方法,其特征在于第二步 中,建立面目標(biāo)的獨(dú)立緩沖區(qū)的方法是根據(jù)用戶設(shè)定的面目標(biāo)影響區(qū)類型,將面目標(biāo)集合 中的每個目標(biāo)分別按照給定的各影響距離采用基元疊合法生成與影響距離對應(yīng)的基元影 響區(qū)集合,該面目標(biāo)基元影響區(qū)集合即為面目標(biāo)的獨(dú)立緩沖區(qū)。
4.根據(jù)權(quán)利要求3所示的面向混合型復(fù)雜目標(biāo)的距離圖制圖方法,其特征在于所述 面目標(biāo)影響區(qū)類型包括面目標(biāo)外側(cè)、面目標(biāo)內(nèi)側(cè)、面目標(biāo)雙側(cè)。
5.一種面向混合型復(fù)雜目標(biāo)的距離圖制圖方法,其步驟包括第一步、根據(jù)點線面目標(biāo)集合的地圖坐標(biāo)范圍,以及給定的影響距離集合中最大影響 距離,確定空間目標(biāo)距離圖的有效坐標(biāo)范圍;第二步、根據(jù)確定的有效坐標(biāo)范圍,建立由預(yù)定尺寸精度單元格構(gòu)成的柵格場; 第三步、對點、線、面目標(biāo)集合中的每個目標(biāo)按照給定影響距離集合中的各影響距離分 別建立與影響距離對應(yīng)的一組基元多邊形;第四步、采用掃描線方法將所有的基元多邊形轉(zhuǎn)化為行程單元集合,并對每個目標(biāo)所 對應(yīng)的行程單元集合進(jìn)行疊合操作,形成與影響距離對應(yīng)的以行程單元集合形式表達(dá)的各 目標(biāo)的獨(dú)立緩沖區(qū),所述行程單元集合所包含的行程單元標(biāo)記有位于所在柵格行的始、末 列號及影響距離;第五步、依次將各獨(dú)立緩沖區(qū)所對應(yīng)的行程單元集合插入柵格場,并進(jìn)行疊合操作,疊 合操作時,影響距離較小的行程單元覆蓋影響距離較大的行程單元,并將所有面目標(biāo)按照 掃描線方法生成的行程單元集合插入到對應(yīng)行的柵格場,插入時覆蓋與其有重合的行程單 元,最后形成一組疊合后行程單元集合;第六步、采用四方向邊界追蹤法,從該組疊合后行程單元集合所構(gòu)成的柵格圖中提取多邊形,生成混合目標(biāo)集距離圖。
全文摘要
本發(fā)明涉及一種面向混合型復(fù)雜目標(biāo)的距離圖制圖方法,屬于計算機(jī)制圖技術(shù)領(lǐng)域看,其針對所有點、線、面目標(biāo)分別建立各距離的獨(dú)立緩沖區(qū),并將該緩沖區(qū)轉(zhuǎn)化為行程表達(dá),然后對行程進(jìn)行疊合操作,疊合操作時,影響距離較小的行程單元覆蓋影響距離較大的行程單元,并將面目標(biāo)按照掃描線方法生成的行程單元集合插入到對應(yīng)行的柵格場,從而實現(xiàn)了混合型復(fù)雜目標(biāo)的緩沖區(qū)建立。本制圖方法將傳統(tǒng)純矢量形式的緩沖區(qū)建立方法改進(jìn)為矢量、柵格并用的方式,且通過行程疊合加快運(yùn)算速度、提高精度的緩沖區(qū)建立方法。本發(fā)明不僅能實現(xiàn)點、線、面目標(biāo)獨(dú)立類型集合的距離圖生成,更重要的是提供一種統(tǒng)一的復(fù)雜混合類型空間目標(biāo)集距離圖制圖方法。
文檔編號G06T11/00GK101901489SQ20101023116
公開日2010年12月1日 申請日期2010年7月20日 優(yōu)先權(quán)日2010年7月20日
發(fā)明者沈定濤, 王結(jié)臣, 蒲英霞, 陳剛, 馬勁松 申請人:南京大學(xué)