本發明涉及交通信息技術領域,具體涉及一種基于dsm的無人機飛行安全區域計算顯示方法。
背景技術:
數字高程模型(dem,digitalelevationmodel)是通過有限的地形高程數據實現對地面地形的數字化模擬(即地形表面形態的數字化表達),它是用一組有序數值陣列形式表示地面高程的一種實體地面模型。數字地表模型(dsm,digitalsurfacemodel)是指包含了地表建筑物、橋梁和樹木等高度的地面高程模型。和dsm相比,dem只包含了地形的高程信息,并未包含其它地表信息,dsm是在dem的基礎上,進一步涵蓋了除地面以外的其它地表信息的高程。它是最真實地表達地面起伏情況,廣泛應用于各行各業,如在森林地區,可以用于檢測森林的生長情況;在城區,dsm可以用于檢查城市的發展情況。
傳統無人機飛行安全區域計算主要采用的是dem數據,由于無人機飛行高度較高,可不考慮地面建筑物,樹木等地物帶來的影響。但隨著無人機技術的發展和應用范圍的擴大,地面靜態障礙物對于無人機的超低空飛行是一個潛在的威脅,需要針對這些靜態障礙物建立更精細的數據模型,用以保障無人機的飛行安全。現有無人機相關地圖服務主要集中于無人機監管方向,如基于機場等禁飛區數據生成的電子圍欄,用于管控無人機飛行,并沒有提供飛行安全區域查詢瀏覽等功能,僅有少數公司關注于此。
現有無人機飛行安全區域計算方式存在的問題為:
一是對于數據源要求嚴格,體現在矢量數據精度要求高,且需要對矢量地物對象進行分類,針對每個地物對象賦予相應高程。如對于城市綠化帶內較高的行道樹而言,若把每棵行道樹作為一個地物對象并賦予高程,代價非常高;
二是基于矢量地物加高程的簡單柱體模型對于地物高程信息表達不夠精細。以地物不同橫截面相對于水平面的正射投影得到的包圍多邊形作為地物底面,向上拉伸地物自身高度得到一個柱體,其高程等于地物最高點的高程,不能夠反映地物橫截面不同點處的高程變化。如具有不同樓層的一個建筑群,若用二維矢量地物加高程的簡單柱體模型來表示建筑群所占的立體空間,則完全沒有考慮到不同樓層的高程差異,無法實現基于高程的精確計算。
技術實現要素:
本發明提出一種基于dsm的無人機飛行安全區域計算顯示方法,用以解決現有技術存在的問題。針對問題一,采用dsm作為高程計算基礎數據,由于其高程已包含地表地物的高度,可不用對地物進行分類和逐對象賦予高程,減少對數據源的要求;針對問題二,從dsm數據定義可知,dsm通過水平投影后各點高程值的不同,一定程度上反映了地物橫截面的變化,其高程信息表達更為精細。通過將設計高度與dsm做簡單計算,即可快速得出飛行安全區域。
本發明采用的技術方案是:
一種基于dsm的無人機飛行安全區域計算顯示方法,包括以下步驟:
從web端加載在線地圖作為柵格底圖用于顯示;
調用地物高程數據服務,加載dsm瓦片數據;
用戶設置無人機飛行高度;
進行地圖畫面渲染;
將地圖畫面渲染結果輸出到屏幕顯示。
進一步地,所述進行地圖畫面渲染具體包括以下步驟:
獲取dsm數據層幀緩存數據,遍歷得到屏幕范圍內每一個像素點對應的高程值;
計算所述高程值與用戶設置無人機飛行高度之間的差值;
如果差值小于算法設定閾值,改變當前柵格底圖像素的顏色,用以標示無人機飛行非安全區,否則不做處理。
進一步地,所述改變當前柵格底圖像素的顏色,具體包括以下步驟:
將當前柵格底圖像素索引加入到隊列中;
獲取柵格底圖層幀緩存數據;
根據得到的柵格底圖像素索引隊列改變當前柵格底圖層幀緩存數據中柵格底圖像素的顏色。
進一步地,所述地圖畫面渲染結果為改變后的柵格底圖層幀緩存數據。
進一步地,dsm瓦片數據的實現方法是:對dsm數據建立影像金字塔,實現dsm數據的縱向分層,橫向分塊,將dsm數據切成不同層級的dsm瓦片數據。
進一步地,對dsm瓦片數據建立統一的空間索引,并按照ogc制定的wcs標準對外提供接口。
進一步地,用戶在web端通過人機交互接口設置無人機飛行高度。
進一步地,加載與當前地圖視窗空間范圍和分辨率相匹配的dsm瓦片數據。
進一步地,柵格底圖數據和dsm數據具有相同的空間參考。
本發明的有益效果在于:
1、數據選用。選用高精度的dsm數據,降低了無人機飛行安全區域計算對于數據源的要求,簡化了數據源的處理工作,同時也在一定程度提高了三維計算模型的精度;
2、無地物類別區分的顯示方式。只關注是否對無人機飛行安全構成威脅,不區分地物類別。
3、高精度dsm數據使用方式。以標準瓦片地圖服務方式提供的高精度dsm數據,可與采用相同數據提供方式的其它類型數據無縫融合處理,簡化了dsm數據處理。
附圖說明
圖1是本發明基于dsm的無人機飛行安全區域計算顯示方法流程圖。
圖2是本發明無人機飛行非安全區查詢顯示圖。
具體實施方式
下文中,結合附圖和實施例對本發明作進一步闡述。
圖1為本發明流程圖,初始從地圖服務器加載在線地圖作為柵格底圖用于顯示,同時調用地物高程數據服務加載地圖視窗空間范圍內高精度dsm瓦片數據用作后續計算的基礎數據。用戶在web端通過人機交互接口設置無人機飛行高度后,系統通過坐標轉換,結合dsm數據實時獲取屏幕范圍內每一個像素點對應的高程值,計算此高程值與設定高度間的差值,根據一定規則決策是否改變當前底圖像素的顏色以提醒用戶。遍歷操作完成后,系統渲染處理結果輸出到屏幕顯示,如圖2所示。
在具體實施過程中包括基于高精度dsm的地物高程數據服務構建和融合dsm和柵格底圖數據的無人機飛行安全區域計算顯示。
1、基于高精度dsm的地物高程數據服務構建
高精度dsm的高程包含了地表地物的高度信息,相比于二維矢量地物對象加地物高度構建的簡單柱體模型,能夠更精細的表達地物所占立體空間。但高精度dsm數據量相對較大,同時考慮到前端計算資源有限,必須采用一定策略對dsm數據進行預處理。本發明基于普通影像地圖服務架構思想,構建了基于高精度dsm的地物高程數據服務,對dsm數據建立“影像金字塔”,實現dsm數據的“縱向分層,橫向分塊”,將高精度dsm數據切成不同層級的瓦片數據,然后建立統一的空間索引,并按照國際標準化組織開放地理空間聯盟(ogc,opengeospatialconsortium)制定的網絡地理覆蓋服務(wcs,webcoverageservice)標準對外提供接口。
web前端加載柵格底圖數據后,通過訪問高精度dsm地物高程數據服務,自動加載與當前地圖視窗空間范圍和分辨率相匹配的dsm瓦片數據,這樣就減小了dsm數據的加載量,簡化了前端計算的復雜度,提升了前端的計算效率。
2、融合dsm和柵格底圖數據的無人機飛行安全區域計算顯示
初始會請求加載柵格底圖數據和對應范圍的高精度dsm數據,兩種數據具有相同的空間參考,柵格底圖數據用于顯示,而高精度dsm數據用于飛行安全區域計算。在地圖畫面渲染時,將截獲事件消息開始處理幀緩存數據:首先獲取dsm數據層幀緩存數據,遍歷得到每一個像素高程值,計算與用戶設定高程間的差值,如果差值小于算法設定閾值,則將此像素索引加入到隊列中,否則不做處理。然后獲取柵格底圖層幀緩存數據,根據前述步驟得到的像素索引隊列,根據一定規則改變對應像素顏色,用以標示無人機飛行非安全區。此步驟完成后,幀緩存數據操作結束。
影響無人機飛行安全的主要因素是某空間位置的高程,與該空間位置的地物類型無關,因此可將幀緩存中修改后的柵格底圖數據直接輸出,通過顏色區分當前設定條件下飛行區域的概況。
本發明雖然已以較佳實施例公開如上,但其并不是用來限定本發明,任何本領域技術人員在不脫離本發明的精神和范圍內,都可以利用上述揭示的方法和技術內容對本發明技術方案做出可能的變動和修改,因此,凡是未脫離本發明技術方案的內容,依據本發明的技術實質對以上實施例所作的任何簡單修改、等同變化及修飾,均屬于本發明技術方案的保護范圍。