一種基于移動終端的測高方法及裝置的制造方法
【專利摘要】本發明涉及一種測高方法及裝置,屬于地理信息采集領域,具體是涉及一種基于移動終端的測高方法及裝置。本發明使用設備傳感器獲得姿態角,以及通過后方交會算法解算建筑物到測量員的平面距離,然后通過后方交會算法計算出移動終端與測量目標的距離L,既不用人工輸入相機高,也不用要求建筑物和測量員在同一個高程面上就能計算得到測量目標高度。本發明只要設備有傳感器,能接收GPS衛星信號,就能在任何地形獲得建筑高度。
【專利說明】
一種基于移動終端的測高方法及裝置
技術領域
[0001] 本發明涉及一種測高方法及裝置,屬于地理信息采集領域,具體是涉及一種基于 移動終端的測高方法及裝置。
【背景技術】
[0002] 國土外業巡查業務中,最重要的工作是地塊地理信息的采集,采集信息包括地塊 的屬性信息采集以及位置信息采集,而遺憾的是,外業巡查采集信息中的建筑高信息,一直 以來都只能通過肉眼判斷或數樓層的方式確定,采集的建筑高信息往往與建筑實際高度有 很大差別。例如某巡查員要采集面前這棟高30層樓的建筑高信息,那么他就要一層一層數 這個樓有多少層,然后乘以每層樓的高度,然后得到整棟樓的高度信息。這樣做且不說巡查 員容易數錯,每層樓的高度也是估值,大概一層樓2.5米高,但其實每層樓的高度并不為2.5 米,這種建筑高采集方式即耗時又不準確,給國土巡查執法帶來影響。
[0003] 申請號為CN201410650787、名稱為一種手機測高軟件及基于該軟件的測高方法的 中國專利提出了使用移動端結合傳感器測量建筑高度的方法。該方法通過手機傳感器獲得 手機姿態角,進而推算出建筑高,但是該方案存在兩個問題:第一是需要手動設置相機高, 也就是圖1中的BD線段的長度需要手動設置;第二是測量人所在高程面必須與被測量物所 在的高程面相同,即圖1中C點和D點要在同一高程面上。
[0004] 該方法顯然不適用于國土巡查信息采集業務中。首先,用戶設置相機高較為麻煩, 而且很難保證每次用這個軟件測量建筑高度的時候相機高都是一致的,原因在于同一個平 板會被多個巡查員使用,相機高會因為不同人的使用而改變;其次,在巡查過程中,需要被 采集信息的建筑不一定與巡查員在同一高程面上,所以,該技術不適用于巡查信息采集,只 能用于日常簡單的高度測量,應用面很窄。
[0005] 例如在圖2的這種情況,該方法就不能測量出建筑物BC的高度。在圖2中,點B和點D 不在同一個高程面上,而如果采用該方法測量BC的高度,實際上測量的是b'c'的高度,顯然 是一個錯誤的結果。
[0006] 鑒于以上不足,本發明提出了一種基于移動終端的測高方法及裝置,采用該方法 及裝置測高既不用手動輸入相機高,也不用要求被測量物和測量人處于同一個高程面,只 要測量人換一個位置,多次照準目標,就可以測量出建筑高度。
【發明內容】
[0007] 本發明主要是解決現有技術所存在的因相機高度改變頻繁,并且被測量物和測量 人必須處于同一個高程面等限制所導致的傳統手機測高法無法滿足國土巡查業務中的測 高需求的問題,提出了一種基于移動終端的測高方法及裝置。該方法及裝置不用人工輸入 相機高,也不用要求建筑物和測量員在同一個高程面上,只要設備有傳感器,能接收GPS衛 星信號,就能在任何地形獲得建筑高度。
[0008] 本發明的上述技術問題主要是通過下述技術方案得以解決的:
[0009] -種基于移動終端的測高方法,包括以下步驟:
[0010] 步驟1,獲取移動終端坐標(XA,YA);將移動終端照準測高目標底部,通過設備傳感 器計算相機的方位角Az與底部翻滾角BRoll;
[0011] 步驟2,根據方位角Az與移動終端GPS坐標(XA,YA),在Χ0Υ平面中生成從移動終端 指向測高目標底部的射線照準線方程;
[0012] 步驟3,改變移動終端位置,重復步驟1-2以獲得多個不同的射線照準方程;采用后 方交會算法,計算所述射線照準方程的交點得到測高目標底部的平面坐標(XB,YB);
[0013]步驟4,通過移動終端的GPS坐標(XA,YA)和筑物底部的平面坐標(XB,YB),計算相 機到建筑物的平面距離L;
[0014] 步驟5,將移動終端照準測高目標頂部,獲得頂部翻滾角TRoll,基于以下公式計算 目標高度:
[0016] 其中,a為底部翻滾角BRoll,d為頂部照準角TRoll與底部翻滾角BRoll之差;Zc = 180-Zb〇
[0017] 優化的,上述的一種基于移動終端的測高方法,所述步驟1中通過設備方向傳感器 和加速度傳感器獲得移動終端的旋轉矩陣R,基于下述公式計算方位角Az與翻滾角Roll:
[0018] Az = atan2(Ri2 ,R2i)
[0019] Roll =atan2(_R3i,R33)
[0020] 式中,R是由方向傳感器測量出的一個3*3的旋轉矩陣,1?12,1?21,1?1,1?3分別為旋 轉矩陣R中的相應矩陣元素。
[0021] 優化的,上述的一種基于移動終端的測高方法,所述步驟2中基于方位角Az與移動 終端坐標(XA,YA)獲得下式中的極坐標方程:
[0022] x=XA+p cos(Az)
[0023] y = YA+p sin(Az)
[0024] 其中,X,y為極坐標;
[0025] 將極坐標方程轉換成平面方程,如下所示:
[0026] ax+by+c = 0
[0027] 式中,a,b,c表示將極坐標轉換成平面方程后的參數值,取常數。
[0028] 優化的,上述的一種基于移動終端的測高方法,所述步驟3進一步包括以下子步 驟:
[0029]步驟301,巡查員換η個位置,獲得η個射線照準方程:
[0030] aix+biy+ci = 0
[0031] a2X+b2y+C2 = 0
[0032] a3X+b3y+C3 = 0
[0033] ......
[0034] anx+bny+Cn = 0
[0035] 步驟302,按照照準順序,兩兩直線方程間求交點,求得第n-1次方程和第n次方程 的交點:
[0036] Xn-1 = (bn-lCn_bnCn-1 )/(£ln-lbn_£lnbn-1 )
[0037] Yn-1= (an-lCn-anCn-1 )/ ( bn-lSn-bnan-1 )
[0038] 步驟303,完成所有照準后,基于下式計算坐標平均值,得到(XB,YB):
[0039] XB=(Xi+X2+X3+. . .+Χη-ι)/(η-1)
[0040] ΥΒ=(Υι+Υ2+Υ3+. . .+Υη-ι)/(η-1)
[0041 ]優化的,上述的一種基于移動終端的測高方法,所述步驟4中,基于下式計算相機 到建筑物的平面距離L:
[0043] 式中,(ΧΑη,ΥΑη)最后一次照準時的移動終端坐標。
[0044] -種基于移動終端的測高裝置,包括以下模塊:
[0045] 基準坐標獲取模塊,用于獲取移動終端坐標(XA,YA);將移動終端照準測高目標底 部,通過設備傳感器計算相機的方位角Az與底部翻滾角BRoll;
[0046] 照準方程獲取模塊,用于根據方位角Az與移動終端GPS坐標(XA,YA),在Χ0Υ平面中 生成從移動終端指向測高目標底部的射線照準線方程;
[0047] 目標坐標計算模塊,用于改變移動終端位置,重復調用基準坐標獲取模塊、照準方 程獲取模塊以獲得多個不同的射線照準方程;采用后方交會算法,計算所述射線照準方程 的交點得到測高目標底部的平面坐標(XB,YB);
[0048] 平面距離計算模塊,通過移動終端的GPS坐標(XA,YA)和筑物底部的平面坐標(XB, YB),計算相機到建筑物的平面距離L;
[0049] 目標高度計算模塊,將移動終端照準測高目標頂部,獲得頂部翻滾角TRoll,基于 以下公式計算目標高度:
[00511 其中,a為底部翻滾角BRoll,d為頂部照準角TRoll與底部翻滾角BRoll之差;Zc = 180-Zb0
[0052] 優化的,上述的一種基于移動終端的測高裝置,所述基準坐標獲取模塊中通過設 備方向傳感器和加速度傳感器獲得移動終端的旋轉矩陣R,基于下述公式計算方位角Az與 翻滾角Roll:
[0053] Az = atan2(Ri2 ,R2i)
[0054] Roll =atan2(_R3i,R33)
[0055] 式中,R是由方向傳感器測量出的一個3*3的旋轉矩陣,1?12,1?21,1?1,1?3分別為旋 轉矩陣R中的相應矩陣元素。
[0056]優化的,上述的一種基于移動終端的測高裝置,所述照準方程獲取模塊中基于方 位角Az與移動終端坐標(XA,YA)獲得下式中的極坐標方程:
[0057] x=XA+p cos(Az)
[0058] y = YA+p sin(Az)
[0059] 其中,X,y為極坐標;
[0060] 將極坐標方程轉換成平面方程,如下所示:
[0061] ax+by+c = 0
[0062]式中,a,b,c表示將極坐標轉換成平面方程后的參數值,取常數。
[0063]優化的,上述的一種基于移動終端的測高裝置,所述目標坐標計算模塊進一步包 括以下單元:
[0064] 方程構建單元,用于在巡查員換η個位置后獲得η個射線照準方程:
[0065] aix+biy+ci = 0
[0066] a2X+b2y+C2 = 0
[0067] a3X+b3y+C3 = 0
[0068] ......
[0069] anx+bny+Cn = 0
[0070] 交點計算單元,按照照準順序,兩兩直線方程間求交點,求得第n-1次方程和第n次 方程的交點:
[0071 ] Xn-1= (bn-lCn-bnCn-l )/(an-lbn-anbn-1 )
[0072] Yn-1= (an-lCn-anCn-1 )/ ( bn-lSn-bnan-1 )
[0073] 坐標計算單元,完成所有照準后,基于下式計算坐標平均值,得到(XB,YB):
[0074] XB=(Xi+X2+X3+. . .+Χη-ι)/(η-1)
[0075] ΥΒ=(Υι+Υ2+Υ3+. . .+Υη-ι)/(η-1)
[0076] 優化的,上述的一種基于移動終端的測高裝置,所述平面距離計算模塊中,基于下 式計算相機到建筑物的平面距離L:
[0078] 式中,(ΧΑη,ΥΑη)最后一次照準時的移動終端坐標。
[0079] 因此,本發明具有如下優點:不用人工輸入相機高,也不用要求建筑物和測量員在 同一個高程面上;只要設備有傳感器,能接收GPS衛星信號,就能在任何地形獲得建筑高度, 從而填補了巡查業務不能自動化采集建筑高的空白。
【附圖說明】
[0080] 附圖1是現有技術中的一種測高原理圖;
[0081 ]附圖2是一種測高場景示意圖;
[0082]附圖3是射線照準方程示意圖;
[0083]附圖4是多個射線照準方程示意圖;
[0084]附圖5是多個射線照準方程理想交匯點示意圖;
[0085]附圖6是多個射線照準方程帶有誤差的交匯點示意圖;
[0086]附圖7是本實施例移動終端與測高目標的距離示意圖。
[0087] 附圖8是本實施例測尚原理不意圖。
【具體實施方式】
[0088] 下面通過實施例,并結合附圖,對本發明的技術方案作進一步具體的說明。
[0089] 實施例:
[0090] 本實施例提供了一種基于移動終端的測高方法,具體步驟如下:
[0091] (1)開啟相測測高功能,打開設備相機,打開設備方向傳感器和加速度傳感器。
[0092] (2)自動開啟設備GPS定位功能,獲取設備的GPS坐標設備的GPS坐標記為(XA,YA)。
[0093] (3)用戶照準建筑物底部,通過設備傳感器計算方位角(Az)與翻滾角(Roll)。
[0094] 通過設備方向傳感器和加速度傳感器的測量數據,根據Android提供的接口函數, 獲得旋轉矩陣R,并計算方位角(Az)與底部翻滾角(BRoll),計算方式如下:
[0095] Az = atan2(Ri2,R2i)
[0096] BRo 11 = atan2 (-R31, R33)
[0097] 式中,R是由方向傳感器測量出的一個3*3的旋轉矩陣,1?12,1?21,1?1,1?3分別為旋 轉矩陣R中的相應矩陣元素。
[0098] (4)根據方位角Az與設備GPS坐標(XA,YA),在Χ0Υ平面中生成射線方程。具體步驟 如下:
[0099] 已知方位角Az與射線點(XA,YA),在極坐標系中,獲得如下極坐標方程:
[0100] x=XA+pcos(Az)
[0101] y = YA+psin(Az)
[0102] 將極坐標方程轉換成平面方程,如下所示:
[0103] ax+by+c = 0
[0104] 式中,a,b,c表示將極坐標轉換成平面方程后的參數值,取常數。函數圖3如所示。
[0105] (5)巡查員換η個位置,獲得GPS坐標(XAn,YAn),重復照準建筑物底部,即重復(3) 和(4),那么將獲得η個平面方程:
[0106] aix+biy+ci = 0
[0107] a2X+b2y+C2 = 0
[0108] a3X+b3y+C3 = 0
[0109] ......
[0110] anx+bny+Cn = 0
[0111] 函數圖形如圖4所示。
[0112] (6)使用后方交會算法,獲得η個照準方程后,計算所有射線的唯一交點,得到建筑 物底部平面坐標(ΧΒ,ΥΒ)。理論上,若無任何誤差存在,則所有射線有且僅有一個交點,但因 為GPS誤差,照準誤差等誤差存在,則有可能存在m個交點,如圖5所示為理想情況,如圖6所 示為實際情況。
[0113] 按照照準順序,兩兩直線方程間求交點,如在完成第二次照準后,獲得方程mx+biy +ci = 0和a2X+b2y+C2 = 0,根據兩直線求交點公式,交點坐標為:
[0114] Xi= (biC2-b2Ci)/(aib2~a2bi)
[0115] Yi= (aiC2-a2Ci)/(bia2~b2ai)
[0116]在照準第n次后,即能獲得第n-1次方程和第n次方程的交點:
[0117] Xn-1= (bn-lCn-bnCn-l )/(an-lbn-anbn-1 )
[01 1 8] Yn-1= (an-lCn-anCn-1 )/ ( bn-lSn-bnan-1 )
[0119] 完成所有照準后,計算坐標平均值,得到(XB,YB),此時,(XB,YB)即是建筑物底部 的平面坐標:
[0120] XB=(Xi+X2+X3+. . .+Χη-ι)/(η-1)
[0121] ΥΒ=(Υι+Υ2+Υ3+. . .+Υη-ι)/(η-1)
[0122] (7)通過最后一次照準時的GPS坐標(XAn,YAn)和筑物底部的平面坐標(XB,YB),計 算相機到建筑物的平面距離L。
[0124] L的幾何含義如圖7所示。
[0125] (8)完成最后一次照準后,得到第η次照準時的翻滾角(BRolln)。然后巡查員照準 建筑物頂部C,獲得頂部翻滾角TRol lc,計算建筑高度。如圖8所示。
[0126] 計算斜邊 S:S = L/sin(a)
[0127] 其中a即為第η次照準時的翻滾角(BRollnKL為計算相機到建筑物的平面距離。
[0128] 計算角d: Zd= Zb_Za
[0129] 其中b即為照準建筑物頂部C時獲得的翻滾角(TRo 11)。
[0130] 計算角c: Zc = 180_Zb
[0131] 計算建筑高度 BC:BC = S*sin(d)/sin(c)
[0132] 此時,得到建筑物的高度BC。
[0133] 本實施例中,在解算η個方程的交點時,采用的是兩兩方程求交點的方法,沒有用 整體平差求交點的方法,原因是整體平差求交點很耗時,所有照準完成后還要等待平差計 算,才能獲得交點,而本實施例是照準完一次以后即時計算交點坐標,每照準一次計算一 次,碎片化交點的計算過程。用整體平差求交點,就是把所有照準方程放到一個矩陣里面, 然后通過最小二乘就一個最接近交點的唯一解。
[0134] 本文中所描述的具體實施例僅僅是對本發明精神作舉例說明。本發明所屬技術領 域的技術人員可以對所描述的具體實施例做各種各樣的修改或補充或采用類似的方式替 代,但并不會偏離本發明的精神或者超越所附權利要求書所定義的范圍。
【主權項】
1. 一種基于移動終端的測高方法,其特征在于,包括W下步驟: 步驟1,獲取移動終端坐標(ΧΑ,ΥΑ);將移動終端照準測高目標底部,通過設備傳感器計 算相機的方位角Αζ與底部翻滾角BRoll; 步驟2,根據方位角Az與移動終端GPS坐標(ΧΑ,ΥΑ),在X0Y平面中生成從移動終端指向 測高目標底部的射線照準線方程; 步驟3,改變移動終端位置,重復步驟1-2W獲得多個不同的射線照準方程;采用后方交 會算法,計算所述射線照準方程的交點得到測高目標底部的平面坐標(XB,YB); 步驟4,通過移動終端的GPS坐標(XA,YA)和筑物底部的平面坐標(XB,YB),計算相機到 建筑物的平面距離L 步驟5,將移動終端照準測高目標頂部,獲得頂部翻滾角TRoll,基于W下公式計算目標 高度:其中,a為底部翻滾角BRoll,d為頂部照準角TRoll與底部翻滾角BRoll之差;Zc = 180- Zbo2. 根據權利要求1所述的一種基于移動終端的測高方法,其特征在于,所述步驟1中通 過設備方向傳感器和加速度傳感器獲得移動終端的旋轉矩陣R,基于下述公式計算方位角 Az與翻滾角Roll: Az = atan2(I?i2,R2i) Ro 11 = atan2 (-R31, R33) 式中,R是由方向傳感器測量出的一個3*3的旋轉矩陣,312,1?21,1?1,1?3分別為旋轉矩 陣R中的相應矩陣元素。3. 根據權利要求1所述的一種基于移動終端的測高方法,其特征在于,所述步驟2中基 于方位角Az與移動終端坐標(ΧΑ,ΥΑ)獲得下式中的極坐標方程: χ = ΧΑ+ρ cos(Az) y = YA+p sin(Az) 其中,x,y為極坐標; 將極坐標方程轉換成平面方程,如下所示: 曰 x+by+c = 0 式中,a,b,C表示將極坐標轉換成平面方程后的參數值,取常數。4. 根據權利要求1所述的一種基于移動終端的測高方法,其特征在于,所述步驟3進一 步包括W下子步驟: 步驟301,巡查員換η個位置,獲得η個射線照準方程: 曰 ix+biy+ci = 0 曰 2X+b2y+C2 = 0 曰 3X+b3y+C3 = 0 曰 nX+bny+Cn = 0 步驟302,按照照準順序,兩兩直線方程間求交點,求得第n-1次方程和第η次方程的交 占 · y ?、、· Xn-l 二(bn-lCn-bnCn-l)/(an-lbn-anbn-l) Yn-1 二(an-lCn-anCn-l)/(bn-:ian-bnan-l) 步驟303,完成所有照準后,基于下式計算坐標平均值,得到(XB,YB): XB=(Xi+X2+X3+. . ·+Χη-ι)/(η-1) ΥΒ=(Υι+Υ2+Υ3+. . .+Υη-ι)/(η-1)。5. 根據權利要求1所述的一種基于移動終端的測高方法,其特征在于,所述步驟4中,基 于下式計算相機到建筑物的平面距離^式中,(ΧΑη,ΥΑη)最后一次照準時的移動終端坐標。6. -種基于移動終端的測高裝置,其特征在于,包括W下模塊: 基準坐標獲取模塊,用于獲取移動終端坐標(XA,YA);將移動終端照準測高目標底部, 通過設備傳感器計算相機的方位角Az與底部翻滾角BRoll; 照準方程獲取模塊,用于根據方位角Az與移動終端GI^坐標(ΧΑ,ΥΑ),在X0Y平面中生成 從移動終端指向測高目標底部的射線照準線方程; 目標坐標計算模塊,用于改變移動終端位置,重復調用基準坐標獲取模塊、照準方程獲 取模塊W獲得多個不同的射線照準方程;采用后方交會算法,計算所述射線照準方程的交 點得到測高目標底部的平面坐標(XB,YB); 平面距離計算模塊,通過移動終端的GI^坐標(ΧΑ,ΥΑ)和筑物底部的平面坐標(ΧΒ,ΥΒ), 計算相機到建筑物的平面距離レ 目標高度計算模塊,將移動終端照準測高目標頂部,獲得頂部翻滾角TRoll,基于W下 公式計算目標高度:其中,a為底部翻滾角BRoll,d為頂部照準角TRoll與底部翻滾角BRoll之差;Zc = 180- Zbo7. 根據權利要求6所述的一種基于移動終端的測高裝置,其特征在于,所述基準坐標獲 取模塊中通過設備方向傳感器和加速度傳感器獲得移動終端的旋轉矩陣R,基于下述公式 計算方位角Az與翻滾角Roll: Az = atan2 (化2, R21) Roll = atan2(-R3i ,R33) 式中,R是由方向傳感器測量出的一個3*3的旋轉矩陣,312,1?21,1?1,1?3分別為旋轉矩 陣R中的相應矩陣元素。8. 根據權利要求6所述的一種基于移動終端的測高裝置,其特征在于,所述照準方程獲 取模塊中基于方位角Az與移動終端坐標(ΧΑ,ΥΑ)獲得下式中的極坐標方程: χ = ΧΑ+ρ cos(Az) y = YA+p sin(Az) 其中,x,y為極坐標; 將極坐標方程轉換成平面方程,如下所示: 過 x+by+c = 0 式中,a,b,c表示將極坐標轉換成平面方程后的參數值,取常數。9. 根據權利要求6所述的一種基于移動終端的測高裝置,其特征在于,所述目標坐標計 算模塊進一步包括W下單元: 方程構建單元,用于在巡查員換η個位置后獲得η個射線照準方程: 曰 ix+biy+ci = 0 曰 2X+b2y+C2 = 0 曰 3X+b3y+C3 = 0 曰 nX+bny+Cn = 0 交點計算單元,按照照準順序,兩兩直線方程間求交點,求得第n-1次方程和第η次方程 的交點: Xn-l 二(bn-lCn-bnCn-l)/(an-lbn-anbn-l) Υη-1 二(an-lCn-anCn-l)/(bn-:ian-bnan-l) 坐標計算單元,完成所有照準后,基于下式計算坐標平均值,得到(XB,YB): XB=(Xi+X2+X3+. . ·+Χη-ι)/(η-1) ΥΒ=(Υι+Υ2+Υ3+. . .+Υη-ι)/(η-1)。10. 根據權利要求6所述的一種基于移動終端的測高裝置,其特征在于,所述平面距離 計算模塊中,基于下式計算相機到建筑物的平面距離^式中,(ΧΑη,ΥΑη)最后一次照準時的移動終端坐標。
【文檔編號】G01C5/00GK106092041SQ201610407124
【公開日】2016年11月9日
【申請日】2016年6月8日
【發明人】麥家杰, 黃宇, 李論, 陳新偉
【申請人】武大吉奧信息技術有限公司