基于城市三維模型提取2.5維地圖建筑物輪廓的方法
【技術領域】
[0001] 本發(fā)明屬于地理信息技術領域,特別是涉及一種基于三維模型提取2.5維地圖建 筑物輪廓的方法。
【背景技術】
[0002] 我國社會的快速發(fā)展,對測繪地理信息的需求呈現(xiàn)出新的趨勢,并提出了更高的 要求,現(xiàn)代城市空間主要由各種各樣的建筑構成,建筑物的覆蓋面積大,且其三維信息與城 市規(guī)劃設計、城市環(huán)境污染控制與保護、城市資源管理與配置都密切相關。
[0003] 建筑物是地理數(shù)據(jù)庫中最容易增加和發(fā)生變化,也是最需要更新的部分,由于建 筑物對于城市建設、GIS系統(tǒng)更新、數(shù)字化城市以及軍事偵察等方面的重要性,快速提取建 筑物信息技術和進行建筑物變化檢測在城市發(fā)展規(guī)劃、電子信息化、國防等方面有著重要 的應用。在現(xiàn)有技術中,城市地區(qū)的建筑物輪廓提取大多數(shù)是利用航空影像來進行,其自動 化水平較低,同時建筑物幾何特征自動提取較困難。
[0004] 現(xiàn)有的建筑物輪廓提取研究大多集中在比較規(guī)則和特征明顯的建筑物,通用性較 差,當建筑物比較密集時,提取的效果一般并且費時費力。
【發(fā)明內(nèi)容】
[0005] 有鑒于現(xiàn)有技術的上述缺陷,本發(fā)明所要解決的技術問題是提供一種自動化程度 較高、制作成本低的建筑物輪廓提取方法。
[0006] 為實現(xiàn)上述目的,本發(fā)明提供了一種基于城市三維模型提取2.5維地圖建筑物輪 廓的方法,按以下步驟進行:
[0007] 步驟一、建立3維地圖到2.5維地圖坐標映射公式、獲取建筑模型各三角面頂點坐 標集;
[0008] 步驟二、根據(jù)坐標映射公式,計算建筑模型投影到2.5維地圖后各三角面的頂點坐 標集;
[0009] 步驟三、對2.5維中的各三角面進行合并,得到建筑物在2.5維地圖中的輪廓;
[0010] 所述建立3維地圖到2.5維地圖坐標映射公式按以下步驟進行:
[0011] 確立坐標轉(zhuǎn)換公式Fc;
[0012]
[0013]所述X、y、z為三維模型中任意一個頂點的三維坐標值,所述X、y、z均為任意實數(shù); 所述#、Ρ、γ為平行投影的投影方向單位向量的分量,所述i、P、γ均為大于〇小于1的實數(shù); 所述Χ、Υ為三維點(x、y、z)投影到二維地圖上的二維點坐標值,所述Χ、Υ為任意實數(shù);
[0014]獲取建筑模型各三角面頂點坐標集按以下步驟進行:
[0015] Α1、構建一個數(shù)組VI,用于存儲三維建筑模型所有三角面的頂點坐標;
[0016] A2、對每個三維建筑模型,依次取出模型中的每個三角面,將三角面各頂點的坐標 x、y、z寫入數(shù)組VI中;
[0017] 所述步驟二按以下步驟進行;
[0018] B1、建立數(shù)組V2,用于存儲建筑模型所有三角面頂點在2.5維地圖中對應的頂點坐 標;
[0019] B2、依次取出數(shù)組VI中的三個元素;
[0020] B3、使用公式Fc,計算每一組X、y、z坐標值對應的2.5維地圖頂點坐標X、Y,并依次 存儲數(shù)組V2中;
[0021] 所述對2.5維中的各三角面進行合并,得到建筑物在2.5維地圖中的輪廓按以下步 驟進行:
[0022] C1、建立數(shù)組V3,每個元素為一個三角面,用T表示;
[0023] C2、依次取出數(shù)組V2中的三個元素,組成一個三角面Tm; m為正整數(shù);
[0024] C3、建立一個多邊形面P,并將數(shù)組V3中第一個元素的各個頂點保存到P中,P為: {X!,Yi,X2,Y2,X3,Y3},此處,X!,Y^X 2,Y2以及X3,Y3均對應于數(shù)組V2中的X、Y;并刪除數(shù)組V3 的第一個元素;
[0025] C4、取出數(shù)組V3中的第一個元素 Τ1;
[0026] C5、判斷1^與?是否相交或相鄰,當1^與?相交或相鄰時,計算1^與?的并集,得到新 的多邊形Ρ',并將Ρ中的所有元素替換為Ρ'的所有元素,然后從V3中刪除元素 Τ1;當V3已經(jīng) 沒有元素時結束,否則選取!^后的一個元素執(zhí)行步驟C5;
[0027] 當1\與?不相交或不相鄰時,執(zhí)行步驟C6;
[0028] C6、如果當前元素不是數(shù)組V3最后一個元素,則取出數(shù)組¥3*1^的下一個元素,然 后執(zhí)行步驟C5;否則結束。
[0029] 進一步的,還包括依次取出V3中的每個元素1?與?進行合并計算的步驟:
[0030] 所述步驟C6中,如果當前元素不是數(shù)組V3最后一個元素,則取出數(shù)組VS*。的下 一個元素,然后執(zhí)行步驟C5;否則,依次取出當前數(shù)組V3中的每個元素與P進行合并,最終得 到的多邊形P即為一個三維建筑模型在2.5維地圖中的建筑物輪廓。
[0031] 進一步的,還包括以交換格式輸出2.5維建筑物輪廓的步驟,按如下步驟進行:
[0032] D1、新建一個純文本文件J;
[0033] D2、將P中的每個元素寫入到文件J中,元素間用分隔符隔開。
[0034]本發(fā)明的有益效果是:本發(fā)明通過在城市三維模型與2.5維地圖之間建立坐標映 射關系,從而實現(xiàn)將建筑物輪映射到2.5維地圖中,然后提取投影后的建筑輪廓進矢量范 圍。本發(fā)明實現(xiàn)了在生產(chǎn)2.5維地圖的過程中自動提取建筑物輪廓,解決當前生產(chǎn)模式中人 工勾繪費時費力的問題,極大的節(jié)約了 2.5地圖制作與應用成本,為將各類經(jīng)濟社會屬性與 2.5維地圖中的建筑物進行掛接應用提供了技術支撐。
【附圖說明】
[0035]圖1是本發(fā)明一【具體實施方式】的流程示意圖。
【具體實施方式】
[0036]下面結合附圖和實施例對本發(fā)明作進一步說明:
[0037]如圖1所示,一種基于城市三維模型提取2.5維地圖建筑物輪廓的方法,按以下步 驟進行:
[0038]步驟一、建立3維地圖到2.5維地圖坐標映射公式、獲取建筑模型各三角面頂點坐 標集;
[0039]步驟二、根據(jù)坐標映射公式,計算建筑模型投影到2.5維地圖后各三角面的頂點坐 標集;
[0040]步驟三、對2.5維中的各三角面進行合并,得到建筑物在2.5維地圖中的輪廓;
[0041 ]所述建立3維地圖到2.5維地圖坐標映射公式按以下步驟進行:
[0042]確立坐標轉(zhuǎn)換公式Fc;
[0043]
[0044]所述x、y、z為三維模型中任意一個頂點的三維坐標值,所述x、y、z均為任意實數(shù); 所述S、p、γ為平行投影的投影方向單位向量的分量,所述S、p、γ均為大于0小于1的實數(shù); 所述Χ、Υ為三維點(x、y、z)投影到二維地圖上的二維點坐標值,所述Χ、Υ為任意實數(shù);
[0045] 獲取建筑模型各三角面頂點坐標集按以下步驟進行:
[0046] Α1、構建一個數(shù)組VI,每個元素為一個數(shù)字,用于存儲三維建筑模型所有三角面的 頂點坐標。
[0047] Α2、對每個三維建筑模型,依次取出模型中的每個三角面,將三角面各頂點的坐標 x、y、z寫入數(shù)組VI中,每三個元素為一個頂點,每九個元素為一個三角面。
[0048] 所述步驟二按以下步驟進行:
[0049] B1、建立數(shù)組V2,每個元素為一個數(shù)字,用于存儲建筑模型所有三角面頂點在2.5 維地圖中對應的頂點坐標。
[0050] B2、依次取出數(shù)組VI中的三