freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于gnet81的微波規(guī)劃gis設(shè)計與核心算法研究碩士學(xué)位論文(參考版)

2025-05-16 23:21本頁面
  

【正文】 5 根據(jù)這個UTM投影的外框通過仿射坐標(biāo)變換算出取對應(yīng)的圖片像素的范圍,然后進行配色等處理。若經(jīng)過柵格數(shù)據(jù)中央經(jīng)線,則Y軸的最值點會在中央經(jīng)線上。4 由于UTM投影是以中央經(jīng)線為基準(zhǔn),兩邊都是單調(diào)的特性。所以我們先由上層應(yīng)用的定義得到這個經(jīng)緯度的矩形區(qū)域,即要顯示地圖的四個端點。另一個是UTM投影值和柵格像素點的仿射坐標(biāo)變換。: 原始UTM坐標(biāo)項目如果把原始圖,通過投影轉(zhuǎn)化,使用經(jīng)緯度網(wǎng)格的方式來顯示,會得到以下的地圖:地圖中的左下點和左上點的經(jīng)度坐標(biāo)相同,左下點和右下點的緯度坐標(biāo)相同。我們可以從柵格地圖本身的元數(shù)據(jù)中得到其投影信息,獲得原始的UTM坐標(biāo)代號,4個頂點的UTM坐標(biāo),以及圖像的長和寬。然后即可拼接顯示。 柵格地圖示例根據(jù)用戶定義要顯示的投影或地理坐標(biāo)范圍和窗口的寬高后,通過坐標(biāo)仿射變換算出需繪制柵格的特定區(qū)域,以及分別以多少寬和高的像素單位(注意:此處的像素并不是柵格的原始像素,而是指最終繪制屏幕的像素)來從柵格地圖中獲取數(shù)據(jù)。在此坐標(biāo)系下的圖就能無縫的拼接在一起。 對于使用WGS84坐標(biāo)的地圖地圖包括SRTM V3,STRM V4,以及GTOPO30,由于柵格地圖的坐標(biāo)和最終給用戶顯示的是相同的坐標(biāo)項目,所以只需要從Sqlite數(shù)據(jù)庫中讀取到柵格文件的4個點的頂點。本項目處理的柵格地圖都有空間位置坐標(biāo)即代表這張柵格地圖在位置。在跟合作方溝通這個問題,為了使圖像保持平滑性,因此,我們在封裝RasterIO的getPyramidRaster中改成:如果讀取是出現(xiàn)放大的情況,我們先讀取原始窗口大小的數(shù)據(jù),然后在使用雙線性重采樣方法來改善圖像的粗糙情況。這個在目標(biāo)緩存區(qū)小于原始圖像窗口情況下,取到的圖像效果比較不錯。7) 讀寫完成后使用GDALClose關(guān)閉數(shù)據(jù)集。5) GetRasterBand可以獲取一個數(shù)據(jù)集的一個通道。3) 使用GetGeoTransform獲取該柵格文件的6個仿射系數(shù)。由于GDAL采用抽象數(shù)據(jù)模型(abstract data model)來解析它所支持的數(shù)據(jù)格式,因此在上層只需統(tǒng)一使用其提供RasterIO就可以很容易進行柵格數(shù)據(jù)的處理,一次完整的讀寫過程如下:1) 注冊各種格式的驅(qū)動。 有很多著名的GIS類產(chǎn)品都使用了GDAL/OGR庫,包括ESRI的ARCGIS ,Google Earth和跨平臺的GRASS GIS項目。它還有一系列命令行工具來進行數(shù)據(jù)轉(zhuǎn)換和處理。GDAL(Geospatial Data Abstraction Library)是一個在X/MIT許可協(xié)議下的開源柵格空間數(shù)據(jù)轉(zhuǎn)換庫。 ,解析費時 ,按塊讀寫性能較低。文件開頭為元信息,Dem數(shù)據(jù)按行存放,數(shù)據(jù)用空格間隔。44浙江大學(xué)碩士學(xué)位論文 第5章Error! No text of specified style in document.第5章 項目功能實現(xiàn) 柵格數(shù)據(jù)解析本項目中的涉及到的數(shù)據(jù)根據(jù)格式分為這么幾類:Srtm v3, Planet, Gtopo30這幾種文件類似,dem數(shù)據(jù)都是以raw二進制序列保存,沒有文件頭,無壓縮。LengendFrame圖例內(nèi)容,和MapFrame類似 人員分配整個項目成員共計9人,除了我負(fù)責(zé)整個項目設(shè)計和關(guān)鍵節(jié)點編寫外,團隊其余人員的初期分配如下:FileLoader組件2人,分別負(fù)責(zé)柵格圖讀取和矢量圖的讀取Geometry組件和DataSrc_Spatial組件:1人RGImage組件和DmapObject組件這兩個與地圖顯示直接有關(guān):1人Porjection組件:1人C++接口層組件:1人JNI層編寫和調(diào)試:1人文檔編寫和白盒測試:1人 本章小結(jié),以及對GIS部分分解成了若干個組件來組合來完成這個項目。MapFrame 地圖內(nèi)容,由多個地圖圖層以及圖層的樣式所組成,其綁定一個地圖顯示窗體LengendViewer地圖的圖例顯示窗體。ImageLayer柵格圖層,綁定了柵格數(shù)據(jù)和其顯示的樣式。VTK是一個開源的免費軟件項目,它的全稱是Visualization Toolkit,即視覺化工具函數(shù)庫,主要用于科學(xué)研究方面的計算機圖形學(xué)、圖像處理、可視化等[20][21]。其中主要函數(shù)Raster類的接口如下: Raster類主要接口函數(shù)名描述get_Name獲取資源名稱set_Name設(shè)置資源名稱get_RasterType獲取資源格式枚舉值set_RasterType設(shè)置資源格式枚舉值get_BandCount獲取波段數(shù)量set_BandCount設(shè)置波段數(shù)量get_CRSInfo獲取參考坐標(biāo)系信息字符串set_CRSInfo設(shè)置參考坐標(biāo)系信息字符串get_Level獲取柵格金字塔層數(shù)信息set_Level設(shè)置柵格金字塔層數(shù)信息get_Width獲取柵格寬度信息函數(shù)名描述set_Width設(shè)置柵格寬度信息get_Height獲取柵格寬高信息set_Height設(shè)置柵格高度信息get_TileSize獲取瓦片尺寸信息set_TileSize設(shè)置瓦片尺寸信息get_Bounds獲得當(dāng)前顯示柵格的范圍set_Bounds設(shè)置要顯示柵格的范圍get_Repository獲取柵格資源地址set_Repository設(shè)置柵格資源地址get_RepositoryType獲取柵格資源類型set_RepositoryType設(shè)置柵格資源類型getRaster獲取任意范圍的單張柵格數(shù)據(jù)getRasters獲取任意范圍的多張柵格數(shù)據(jù)getValue獲取某個柵格點數(shù)據(jù)值getPixel獲取某個柵格點的顏色值 DMapObject組件DMapObject是一個地圖對象的載體,用來繪制整個地圖。主要的數(shù)據(jù)支持包括GRID類型柵格,BMP類型柵格,JPG類型柵格,TIFF類型柵格等。 CRS類組織結(jié)構(gòu)圖2) CRTCRT的結(jié)構(gòu)中,最重要的是CRT_Projection,不同的子類實現(xiàn)了大地坐標(biāo)系與對應(yīng)投影坐標(biāo)系的轉(zhuǎn)換方法(正向和反向轉(zhuǎn)換)例如,IMP_CRTProjectionMercatorTransverse提供了從WGS84到UTM坐標(biāo)系轉(zhuǎn)換的實現(xiàn),IMP_CRTProjectionMercatorTransverseInverse提供了從UTM到WGS84坐標(biāo)系轉(zhuǎn)換的實現(xiàn)。其中CRS是對坐標(biāo)項目的抽象描述,CRT與坐標(biāo)項目轉(zhuǎn)換有關(guān),提供了在兩個CRS之間轉(zhuǎn)換的方法。一個投影參數(shù)一般由兩部分組成:1 橢球體參數(shù)部分:共包含2個可自定義參數(shù):長半軸和短半軸[15]2投影參數(shù)部分:投影類型在枚舉類 ProjectionType中定義,支持的投影參數(shù)在結(jié)構(gòu)體 ProjectionParameter中定義[16]。而數(shù)據(jù)可以被保存在內(nèi)存中,或者保存在空間數(shù)據(jù)庫中。 FileLoader組件設(shè)計表類名描述BMPImageLoader讀寫B(tài)MP柵格文件TIFFImageLoader讀寫TIFF柵格文件JPGImageLoader讀寫JPEG柵格文件類名描述J2KImageLoader讀寫JPEG2000柵格文件PNGImageLoader讀寫PNG柵格文件TABLoader讀寫MapInfo矢量文件ASCLoader讀寫Planet矢量文件DemRasterLoader讀寫二進制的DEM柵格文件PlanetRasterLoader讀寫Planet柵格文件 Geometry組件本組件定義了各種基本地理數(shù)據(jù)結(jié)構(gòu)。 BasicMath基本數(shù)據(jù)結(jié)構(gòu)表結(jié)構(gòu)描述Vector2iint類型的二維矢量結(jié)構(gòu)(使用于屏幕對象)Vector3iint類型的三維矢量結(jié)構(gòu)(使用于屏幕對象)Vector2ddouble類型的二維矢量結(jié)構(gòu)(使用于數(shù)據(jù)層)Vector3ddouble類型的三維矢量結(jié)構(gòu)(使用于數(shù)據(jù)層)Vector4ddouble類型的三維矢量旋轉(zhuǎn)結(jié)構(gòu)Quaterniondouble類型的三維矢量旋轉(zhuǎn)結(jié)構(gòu)插入(線性或者插值)Rangedouble類型的限定范圍結(jié)構(gòu)描述Rectangle二維選擇區(qū)域BoundingBox三維選擇區(qū)域Ray三維射線Plane利用公式 ax+by+cz+d=0計算平面。CPP是vtk官網(wǎng)開源軟件SqliteSQLite,是一款輕型的數(shù)據(jù)庫C是sqlite官網(wǎng) GIS組件分解根據(jù)合作方的需求,我們把GIS部分分解成了以下的幾個組件:BasicMath、FileLoader、Geometry、DataSrc_Spatial、Projection、RGImage和DMapObject通過這些組件的組合來完成這個項目,以下是對每個組件的介紹,以及相應(yīng)組件的主要接口或類圖[14]。CPP是Davide Pizzolato開源軟件GdalGDAL(Geospatial Data Abstraction Library)是一個在X/MIT許可協(xié)議下的開源柵格空間數(shù)據(jù)轉(zhuǎn)換庫。CPP是Boost社區(qū)開源軟件CXImageCxImage類庫是一 個優(yōu)秀的圖像操作類庫。在Goophy ,GNet ,為用戶提供更豐富的功能??臻g、實時數(shù)據(jù)一體化得益于Goophy ,GNet 、實時數(shù)據(jù)的一體化管理,為面向?qū)崟r監(jiān)控的GIS應(yīng)用提供支撐。面向Web服務(wù)的GIS平臺 原有GIS平臺仍然采用Activex控件的方式,無法解決跨平臺的問題,GNet ,全面支持Web方式的應(yīng)用。架構(gòu)上:建立一套可擴展的架構(gòu),可以方便GNet的未來持續(xù)的改進、更新與升級業(yè)務(wù)上:支持一般意義上的二維GIS應(yīng)用,重點關(guān)注環(huán)保領(lǐng)域、國土領(lǐng)域和交通領(lǐng)域的特殊GIS應(yīng)用場景功能上:首先實現(xiàn)將原有GNet (不是簡單的搬遷,需要做整合和拆分),并且在豐富可視化模型、渲染速度、用戶樣式管理、數(shù)據(jù)模型管理等方面做大量的新增、改進和優(yōu)化工作。32浙江大學(xué)碩士學(xué)位論文 第4章 Error! No text of specified style in document.第4章 從九十年代初開始,源于軍事領(lǐng)域的要求,實驗室開始開發(fā)GIS平臺,經(jīng)過不斷完善,實現(xiàn)了逐漸向嵌入式、企業(yè)級到Internet GIS發(fā)展,在功能上逐步支持柵格、矢量和DEM,并且對2D、形成GNet 。 本章小結(jié)本章提出了項目的總體架構(gòu)設(shè),主要分為框架層,公共層,應(yīng)用接口層,組件這四個層次,并逐一的介紹。對于代理層的接口,沒有嚴(yán)格的規(guī)定,可以根據(jù)組件的特點添加和修改。6) 代理層上述組件工廠訪問過程還是比較復(fù)雜的,如果只在程序開始時候執(zhí)行一次還相對簡單,但是如果每次訪問一個組件工廠都需要通過以上步驟,就有點麻煩了。: 封裝的結(jié)構(gòu)每個組件dll都有一個類型為ModuleHolder的單件,通過該單件可以獲得該dll中的所有組件(目前的實現(xiàn)中,每個dll只封裝一個組件),每個組件都有一個工廠類,用以創(chuàng)建組件中各個接口類型的實例。4) 實現(xiàn)層實現(xiàn)層是對組件接口的實現(xiàn)。組件的接口在名稱為IF_modulename.h的文件中定義。1) 結(jié)構(gòu)一個組件可以分為4層,: 組件的結(jié)構(gòu)2) 元數(shù)據(jù)組件包含以下基本信息: 組件基本信息表字段內(nèi)容ID組件的唯一標(biāo)識,UUID格式名稱組件的顯示名稱版本組件的版本,目前不檢查版本間兼容性描述組件的描述信息,備用組件的元數(shù)據(jù)直接隨源碼編譯在組件所在的dll中。4) FrameworkJava端同樣需要一個Framework類,其作用是:l 裝載JNI Stub的dll,保證程序正確運行;l 作為C++的Framework的容器;l 作為C++的Framework的初始化的入口。3) JNI Stub每個組件對應(yīng)一個JNI Stub源代碼文件。實現(xiàn)類都把它代理給一個對應(yīng)的native函數(shù),形式是:private native /*ReturnType*/ f_1(/*paramlist*/);其中編號隨同名重載函數(shù)的出現(xiàn)次數(shù)遞增。由于進程內(nèi)內(nèi)存地址唯一,這樣的實現(xiàn)是安全的。實現(xiàn)類保存了一個C++對象的存根:private long m_stub_handle。每個接口類對應(yīng)一個實現(xiàn)類。Java Interface還包括一些簡單數(shù)據(jù)結(jié)構(gòu)(所有成員都為public,沒有函數(shù)),這些類型以class方式提供,并且不需要通過JNI調(diào)用本地代碼來實現(xiàn)。Java部分又分為2部分:Java Interface和Java Implementation.1) Java Interface每個組件的接口定義在一個包中,包名:Reti.ponentname,其中ponentname是組件的名稱。C++部分以dll動態(tài)庫的形式提供。這里主要描述Java的應(yīng)用層接口。Value中的所有類都繼承自公共接口Value(),包括: 日志級別表類型描述VBinary二進制數(shù)組VBoolean布爾值VByte字節(jié)VDate日期VDecimal十進制數(shù)VDouble雙精度浮點數(shù)VFloat單精度浮點數(shù)VInt_1616位短整數(shù)VInt_3232位整數(shù)VInt_6464位長整數(shù)VString字符串VText長字符串VTime時間VTimestamp時間戳VWchar_1616
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1