亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺談Google地球高程數(shù)據(jù)的提取

        2012-12-08 07:19:40唐勝軍張立東王少杰河南省信陽(yáng)水文水資源勘測(cè)局
        河南水利與南水北調(diào) 2012年8期
        關(guān)鍵詞:窗體線程高程

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

        1.引言

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

        2.Google地球簡(jiǎn)介

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

        Google地球應(yīng)用通常有兩種擴(kuò)展方式,一種是基于組件的二次開(kāi)發(fā)方式,另一種是基于KML文件擴(kuò)展數(shù)據(jù)的方式。在實(shí)際應(yīng)用中,基于組件二次開(kāi)發(fā)的方式更為方便靈活。Google EarthCOMAPI是GoogleEarth發(fā)布的基于組件技術(shù)的應(yīng)用程序接口,用戶可以在不同的開(kāi)發(fā)平臺(tái)上調(diào)用GoogleEarthCOMAPI開(kāi)發(fā)應(yīng)用程序?qū)崿F(xiàn)特定的功能。GoogleEarthCOMAPI類庫(kù)包括11個(gè)類,主要有 IApplicationGE、ICameraInfoGE、IFeatureGE、IFeatureCollectionGE、IViewExtentsGE等接口。IApplicationGE接口是GoogleEarthCOMAPI主要部分,開(kāi)發(fā)者可以通過(guò)IApplicationGE接口與GoogleEarth進(jìn)程交互。ICameralnfoGE接口描述元素在GoogleEarth上的相機(jī)視角信息,以及相機(jī)相對(duì)于元素的方位信息。通過(guò)該接口,程序可以設(shè)置Google地球當(dāng)前視圖的相機(jī)視角。IFeatureGE描述加載到GoogleEarth中的KML元素的基本信息。IFeatureCollectionGE是元素集合的接口。

        IViewExtentsGE描述在GoogleEarth中的觀察范圍,用戶可通過(guò)該接口控制當(dāng)前視圖。

        3.高程數(shù)據(jù)的提取

        高程數(shù)據(jù)的提取工作是通過(guò)在MicrosoftVisualStudio2008平臺(tái)編寫(xiě)應(yīng)用程序來(lái)完成的。程序的實(shí)現(xiàn)需要多種編程技術(shù),本軟件中主要應(yīng)用的有界面編程技術(shù)和多線程技術(shù)?;赪indows平臺(tái)的界面編程技術(shù)使用比較容易。下面對(duì)界面編程技術(shù)、多線程技術(shù)和數(shù)據(jù)提取實(shí)現(xiàn)作簡(jiǎn)單闡述。

        3.1 界面編程

        本程序是一個(gè)單文檔的項(xiàng)目。程序界面比較簡(jiǎn)潔,輸入欄是4個(gè)文本框TextBox,顯示欄是一個(gè)進(jìn)度條ProgressBar。程序窗體FormBorderStyle屬性為FixedToolWindow。東南西北4個(gè)文本框用于設(shè)置高程數(shù)據(jù)提取區(qū)域的經(jīng)緯度范圍。其中,西東兩個(gè)文本框用來(lái)輸入提取區(qū)域經(jīng)度的最小值和最大值,南北兩個(gè)文本框用來(lái)輸入提取區(qū)域緯度的最小值和最大值。

        圖1 應(yīng)用程序界面圖

        3.2 多線程技術(shù)

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

        3.3 高程提取

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

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

        一是獲取用戶設(shè)置的高程數(shù)據(jù)提取區(qū)域的經(jīng)緯度范圍,計(jì)算需要開(kāi)啟的Google地球進(jìn)程數(shù)量。實(shí)例化ApplicationGEClass類并打開(kāi)Google地球程序。通過(guò)操作系統(tǒng)提供的GetProcessesByName函數(shù)獲取打開(kāi)的Google地球進(jìn)程句柄。

        二是通過(guò)SetCameraParams方法設(shè)置當(dāng)前Google地球的視場(chǎng)焦點(diǎn)經(jīng)度、焦點(diǎn)緯度、焦點(diǎn)高度、視場(chǎng)范圍、鏡頭傾角、鏡頭方位角和相機(jī)移動(dòng)速度。調(diào)用Thread.Sleep方法休眠當(dāng)前線程,等待地圖傳輸完成。

        三是執(zhí)行GetPointOnTerrainFromScreenCoords(0,0)方法,獲取當(dāng)前屏幕坐標(biāo)處的經(jīng)緯度、高度、是否為投影點(diǎn)、是否拉伸等地理信息。按照方法返回值的結(jié)構(gòu)將獲取的地理信息保存到數(shù)組并刷新程序界面提示進(jìn)度。

        四是重復(fù)步驟二和三,直到用戶設(shè)置區(qū)域的數(shù)據(jù)提取完畢。

        五是新建文本文件,將提取的高程數(shù)據(jù)逐列寫(xiě)入文件。關(guān)閉Google地球程序,釋放系統(tǒng)資源。

        4.結(jié)語(yǔ)

        Google地球是一款面向大眾的商業(yè)軟件,它向全世界的用戶提供了一個(gè)開(kāi)放的地理信息資源庫(kù)。本文結(jié)合Google地球所提供的2次開(kāi)發(fā)接口對(duì)多線程技術(shù)和從Google地球中獲取高程數(shù)據(jù)進(jìn)行了簡(jiǎn)單探討。以高程數(shù)據(jù)為基礎(chǔ),用戶可以構(gòu)建諸如數(shù)值模擬、虛擬現(xiàn)實(shí)等分析應(yīng)用,讓高程數(shù)據(jù)為人們提供更好的應(yīng)用體驗(yàn)。

        猜你喜歡
        窗體線程高程
        8848.86m珠峰新高程
        試談Access 2007數(shù)據(jù)庫(kù)在林業(yè)檔案管理中的應(yīng)用
        檔案天地(2019年5期)2019-06-12 05:12:02
        GPS控制網(wǎng)的高程異常擬合與應(yīng)用
        淺談linux多線程協(xié)作
        SDCORS高程代替等級(jí)水準(zhǔn)測(cè)量的研究
        回歸支持向量機(jī)在區(qū)域高程異常擬合中的應(yīng)用
        基于LayeredWindow的異形窗體局部刷新
        中文信息(2014年2期)2014-03-06 23:49:14
        巧設(shè)WPS窗體控件讓表格填寫(xiě)更規(guī)范
        Linux線程實(shí)現(xiàn)技術(shù)研究
        么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
        国产精品国产三级野外国产| 成人三级a视频在线观看| 国产无遮挡裸体免费视频 | 青青草视频在线视频播放| 日本高清人妻一区二区| 国产剧情无码中文字幕在线观看不卡视频 | 日韩av精品视频在线观看| 久久久亚洲精品一区二区三区| 欧美狠狠入鲁的视频777色| 狠狠躁天天躁中文字幕| 天堂√中文在线bt| 无码免费午夜福利片在线| 亚洲A∨日韩Av最新在线| 日本97色视频日本熟妇视频| 美腿丝袜在线一区二区| 人妻色综合网站| 人人妻人人玩人人澡人人爽| 久久久久久人妻一区精品| 亚洲不卡av二区三区四区| 2021亚洲国产精品无码| 精品欧洲av无码一区二区| 国产69精品久久久久999小说| 国产人成无码视频在线| 99精品国产闺蜜国产在线闺蜜| 国产猛男猛女超爽免费av| 国产精品久久av色婷婷网站| 中文无码人妻有码人妻中文字幕 | 熟女一区二区中文字幕| 日本又色又爽又黄的a片18禁| 人妻少妇av无码一区二区| 精品久久久无码不卡| 99久久国产免费观看精品| 国产一区二区三区三区四区精品| 波多野结衣中文字幕一区二区三区| 黑人巨大无码中文字幕无码| 免费观看一区二区| 一区二区三区国产大片| 亚洲一区二区三区四区精品在线| 久久99精品国产麻豆不卡| 久久精品—区二区三区无码伊人色| 女同久久精品国产99国产精|