999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談Google地球高程數據的提取

2012-12-08 07:19:40唐勝軍張立東王少杰河南省信陽水文水資源勘測局
河南水利與南水北調 2012年8期
關鍵詞:用戶方法

□唐勝軍 □張立東 □王少杰(河南省信陽水文水資源勘測局)

1.引言

隨著衛星與遙測科技的迅速發展,數值高程模型(DigitalElevationModel)已經成為地球物理科學應用研究中相當重要的資料。數值高程模型數據可由許多技術得到,如地面測量、航拍、空載雷達、雷達高度測量,以及干涉合成孔徑雷達等。Google地球自2005年推出,提供免費的全球性地理信息供人們瀏覽使用,可顯示任意位置的3D地形與建筑物。Google地球的影像數據整合自衛星影像與航拍數據。其衛星影像部分來自于美國DigitalGlobe公司的QuickBird商業衛星與EarthSat公司的LANDSAT-7陸地衛星,其中,QuickBird衛星能夠提供解析度為0.61m的高精度商用衛星影像。航拍部分來自于BlueSky公司、Sanborn公司等。Google地球以航天飛機雷達地形任務(SRTM)產生的地形資料為基本地形數據。航天飛機雷達地形任務完成對全球北緯60°和南緯56°間的地表掃描,一般地區的SRTM地形資料解析度為3rad/s,北美地區SRTM資料的空間解析度可達1rad/s。目前,用戶計算機上不必儲存大量的地圖資料,通過Google地球即可動態取得質優價高的衛星影像和高程資料。實現從Google地球批量獲取高程數據,將對實際工程應用非常有幫助。本文結合Google地球所提供的二次開發接口,實現對指定區域高程數據的提取。

2.Google地球簡介

Google地球是Google公司發布的一款基于網絡的三維地理信息瀏覽軟件,它把衛星影像、航空照片、三維地面模型等GIS信息合成在一個三維地球模型上,用戶通過該軟件可以免費瀏覽全球各地的衛星影像。它的格柵數據精度以域地理位置的重要性而異,鄉村區域衛星影像分辨率大約在10~30m,水系、河流、村莊、工廠等地物能清晰地判讀。大中城市及大壩、油田、機場等重要設施的高清影像的分辨率達到0.6m,航空圖像精度更高。Google地球提供全球30m至90m精度的數值高程模型。在平原中心地帶,DEM精度在2m左右;山丘地區精度在10m左右,高山區精度在30m左右,能夠滿足一般工程應用需要,具有很高的應用價值。

Google地球應用通常有兩種擴展方式,一種是基于組件的二次開發方式,另一種是基于KML文件擴展數據的方式。在實際應用中,基于組件二次開發的方式更為方便靈活。Google EarthCOMAPI是GoogleEarth發布的基于組件技術的應用程序接口,用戶可以在不同的開發平臺上調用GoogleEarthCOMAPI開發應用程序實現特定的功能。GoogleEarthCOMAPI類庫包括11個類,主要有 IApplicationGE、ICameraInfoGE、IFeatureGE、IFeatureCollectionGE、IViewExtentsGE等接口。IApplicationGE接口是GoogleEarthCOMAPI主要部分,開發者可以通過IApplicationGE接口與GoogleEarth進程交互。ICameralnfoGE接口描述元素在GoogleEarth上的相機視角信息,以及相機相對于元素的方位信息。通過該接口,程序可以設置Google地球當前視圖的相機視角。IFeatureGE描述加載到GoogleEarth中的KML元素的基本信息。IFeatureCollectionGE是元素集合的接口。

IViewExtentsGE描述在GoogleEarth中的觀察范圍,用戶可通過該接口控制當前視圖。

3.高程數據的提取

高程數據的提取工作是通過在MicrosoftVisualStudio2008平臺編寫應用程序來完成的。程序的實現需要多種編程技術,本軟件中主要應用的有界面編程技術和多線程技術。基于Windows平臺的界面編程技術使用比較容易。下面對界面編程技術、多線程技術和數據提取實現作簡單闡述。

3.1 界面編程

本程序是一個單文檔的項目。程序界面比較簡潔,輸入欄是4個文本框TextBox,顯示欄是一個進度條ProgressBar。程序窗體FormBorderStyle屬性為FixedToolWindow。東南西北4個文本框用于設置高程數據提取區域的經緯度范圍。其中,西東兩個文本框用來輸入提取區域經度的最小值和最大值,南北兩個文本框用來輸入提取區域緯度的最小值和最大值。

圖1 應用程序界面圖

3.2 多線程技術

利用GoogleEarthCOMAPI提取高程數據會占用較多的計算機資源。如果直接在窗體按鈕的click事件中處理整個數據提取過程,由于提取過程耗時較長,直到提取數據的過程運行完畢后,窗體線程才有時間處理其他事件。在此期間,窗體將無法響應用戶輸入或處理系統消息,出現“無響應”的情況。為了避免窗體界面無響應這種情況出現,本文采用多線程技術,讓耗時的數據提取操作在后臺完成,在程序運行過程中及時刷新顯示欄上的進度條顯示提取進度。微軟.NETFramework2.0版中提供了一個名為Thread的類,該類允許開發者創建并控制線程,設置其優先級并獲取其狀態,使用Thread類可以較好地解決用戶界面無響應的問題。在.net中可以通過Thread類的構造函數創建新的線程實例,在該線程上執行的方法將通過一個傳遞給Thread構造函數的ThreadStart委托或ParameterizedThreadStart委托來表示。本文將提取高程數據的方法定義為Elevation類的成員方法ExtractElevation,該方法的參數類型和返回值與ThreadStart委托相同。在窗體按鈕的click事件中將ExtractElevation方法傳遞給新線程實例的構造函數,由Thread.Start使線程按計劃執行數據提取操作。

3.3 高程提取

在EARTHLib命名空間中,Google地球為開發者提供了大量的虛方法,允許用戶在派生類中重寫這些方法。本文高程提取的方法實現中主要應用到其中的SetCameraParams和Get-PointOnTerrainFromScreenCoords兩個虛方法。SetCameraParams方法用于調整當前Google地球的視場焦點的各個參數,無須重新定義照相對象,方法聲明為publicvirtualvoidSetCamera-Params(doublelat,doublelon,doublealt,AltitudeModeGEaltMode,doubleRange,doubleTilt,doubleAzimuth,doublespeed),其中 alt-Mode參數類型為AltitudeModeGE枚舉類型,表示高度模式。GetPointOnTerrainFromScreenCoords方法用于取得地面上某一點的屏幕坐標,方法聲明為publicvirtualPointOnTerrainGEGet-PointOnTerrainFromScreenCoords(doublescreen_x,doublescreen_y)其中參數 screen_x和 screen_y的取值區間為(-1,1)。Get-PointOnTerrainFromScreenCoords方法返回值為IPointOnTerrainGE接口,該接口描述點位的地理特征,提供了關于地形和點位的操作,有 Altitude、Latitude、Longitude、ProjectedOntoGlobe和ZeroElevationExaggeration5個屬性。

本文的高程提取分為以下幾個步驟:

一是獲取用戶設置的高程數據提取區域的經緯度范圍,計算需要開啟的Google地球進程數量。實例化ApplicationGEClass類并打開Google地球程序。通過操作系統提供的GetProcessesByName函數獲取打開的Google地球進程句柄。

二是通過SetCameraParams方法設置當前Google地球的視場焦點經度、焦點緯度、焦點高度、視場范圍、鏡頭傾角、鏡頭方位角和相機移動速度。調用Thread.Sleep方法休眠當前線程,等待地圖傳輸完成。

三是執行GetPointOnTerrainFromScreenCoords(0,0)方法,獲取當前屏幕坐標處的經緯度、高度、是否為投影點、是否拉伸等地理信息。按照方法返回值的結構將獲取的地理信息保存到數組并刷新程序界面提示進度。

四是重復步驟二和三,直到用戶設置區域的數據提取完畢。

五是新建文本文件,將提取的高程數據逐列寫入文件。關閉Google地球程序,釋放系統資源。

4.結語

Google地球是一款面向大眾的商業軟件,它向全世界的用戶提供了一個開放的地理信息資源庫。本文結合Google地球所提供的2次開發接口對多線程技術和從Google地球中獲取高程數據進行了簡單探討。以高程數據為基礎,用戶可以構建諸如數值模擬、虛擬現實等分析應用,讓高程數據為人們提供更好的應用體驗。

猜你喜歡
用戶方法
學習方法
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 欧美一级特黄aaaaaa在线看片| 国产成人综合在线观看| 一级毛片免费高清视频| 久久精品无码中文字幕| 91精品国产91久久久久久三级| 高清欧美性猛交XXXX黑人猛交| 久久综合色天堂av| 亚洲第一成年免费网站| 婷婷中文在线| 欧美日韩在线国产| www.国产福利| 美女被狂躁www在线观看| 凹凸国产分类在线观看| 久草视频一区| 国产丝袜无码精品| 国产主播福利在线观看| av午夜福利一片免费看| 免费又黄又爽又猛大片午夜| 亚洲国产高清精品线久久| 成人午夜免费视频| 爽爽影院十八禁在线观看| 91福利一区二区三区| 午夜国产小视频| 国产在线视频福利资源站| 亚洲爱婷婷色69堂| 亚洲天堂在线免费| 成人小视频在线观看免费| 国产91丝袜在线观看| 欧美亚洲一二三区| 无码专区在线观看| 激情無極限的亚洲一区免费| 欧美色综合久久| 2048国产精品原创综合在线| 国产菊爆视频在线观看| 欧美乱妇高清无乱码免费| 欧美福利在线播放| 日本午夜三级| 国产va免费精品观看| 国产精品入口麻豆| 国产综合精品一区二区| 成年人久久黄色网站| 国产又粗又猛又爽视频| 欧美激情伊人| 亚洲中文精品人人永久免费| 欧美日韩亚洲国产主播第一区| 成人午夜福利视频| 91视频区| 91精品情国产情侣高潮对白蜜| 动漫精品啪啪一区二区三区| 亚洲区一区| 美女无遮挡免费网站| 欧美日韩中文国产| 久久伊人操| 国产91高跟丝袜| 精品国产福利在线| 欧美啪啪一区| 日本精品影院| 国产XXXX做受性欧美88| 久久久亚洲色| 国产黄色片在线看| 日韩资源站| 在线观看网站国产| 国产成人精品一区二区| 在线免费看片a| 国产成人一区在线播放| 亚洲欧洲一区二区三区| 久久综合丝袜长腿丝袜| 青青草a国产免费观看| 亚洲中文精品人人永久免费| 日韩一级二级三级| 久久久久青草线综合超碰| 亚洲综合久久一本伊一区| 亚洲最新地址| 高潮毛片免费观看| 91福利国产成人精品导航| 亚洲精品视频免费| 三区在线视频| 欧美成人午夜视频| 欧美劲爆第一页| 亚洲日韩精品伊甸| 欧美午夜视频在线| 国产乱子伦视频三区|