地心空間(直角)座標系--定義為原點O與地球質心重合,Z軸指向地球北極,X軸指向格林尼治子午面與地球赤道的交點,Y軸垂直於XOZ平面構成右手座標系。地心空間直角座標系是座標系的一種,測量學上用於描述任一點的位置。地心大地座標系--定義為地球橢球的中心與地球質心(品質中心)重合,橢球的短軸與地球自轉軸重合。地心大地經度L,是過地面點的橢球子午面與格林尼治天文檯子午面的夾角;地心大地緯度B,是過點的橢球法線(與參考橢球面正交的直線)和橢球赤道面的夾角;大地高H,是地面點沿橢球法線到地球橢球面的距離。
下面的GDAL版本針對最新的1.10.0而言,對於GDAL1.9.2問題依舊。最近在處理衛星的長條帶資料,映像的行數差不多200w行左右,格式的raw格式。可以使用VRT檔案來很方便的對raw資料進行管理。比如要提取raw資料中的某一部分等等。由於處理的資料是1536列的16bit資料,並對raw資料進行提取。比如指定從多少行開始,到多少行結束。關於VRT資料進行管理raw資料可以參考《使用GDAL開啟裸資料(RAW)》http://blog.csdn.net/liminlu0314/artic
關於矩陣的特徵值和特徵向量求解,大部分的數學運算庫都進行了提供,下面是使用MTL庫的介面進行封裝。#include <mtl/matrix.h>#include <mtl/mtl.h>#include <mtl/dense1D.h>#include <mtl/utils.h>#include <mtl/lu.h>/*! 對角陣 */typedef mtl::matrix <double, mtl::diagonal<>
在編寫重採樣映像時,可以使用GDAL來讀寫映像,然後自己編寫重採樣演算法(最鄰近像元法,雙線性插補法,三次立方卷積法等)【關於這採樣演算法有時間我會單獨寫一篇文章來說明原理的】將計算的結果寫入映像中來實現。 在GDAL的演算法中,已經提供了五種重採樣演算法,其定義如下(位置gdalwarper.h 的46行):/*! Warp Resampling Algorithm */typedef enum { /*! Nearest neighbour (select on one
主成分分析(Principal Component Analysis,PCA),
使用GDAL讀取S-57海圖資料時,對於屬性工作表中的中文屬性值讀出來是亂碼。1所示。圖1 S57海圖資料中文亂碼欄位通過調試代碼發現,S-57檔案中的中文是按照寬位元組儲存在檔案中,而GDAL在讀取時統一按照單位元組來讀取,這樣就直接導致了中文屬性值的亂碼。比如這裡有個欄位屬性值為“北京市”,讀出來顯示為“S琋^”,對應的十六進位為“0x17 0x53 0xac 0x4e 0x02 0x5e 0x1f
很多時候我們需要在向量檔案中記錄一些弧形圖形,由於目前OGR中沒有支援通過圓心半徑等方式來儲存向量圖形,所以對於這些向量圖形必須要計算出弧線上的點座標來進行儲存,如果自己按照圓弧的演算法來建立這些點確實有些麻煩,OGR中提供了一個叫approximateArcAngles的函數來對圓弧點座標進行計算,使用起來非常方便,下面是該函數的一個簡單說明。函數原型為:建立一段橢圓弧段。指定一個原點座標、橢圓的長半軸長度、短半軸長度、旋轉角度、起始角度和結束角度來產生一段弧段。參數dfMaxAngleSte
上篇博文中的代碼使用了函數wcstombs來進行處理,今天發現GDAL庫裡面提供了寬位元組轉單位元組的函數,名字叫CPLRecodeFromWChar(這個函數需要libiconv庫的支援,也就是在編譯GDAL的時候需要把libiconv庫一起編譯)。本以為C#語言也可以使用,結果很悲劇的發現,C#的提供的介面中沒有相關的函數,看來使用C#的同學有點悲劇了。需要說明的是,需要先用函數CPLRecodeFromWChar將寬位元組轉為UTF8,然後再使用函數CPLRecode將UTF8轉為漢字編碼
GDAL提供的工具都是非常的實用,後續打算寫一系列的博文來對GDAL提供的工具進行簡單的說明,並結合實際的例子進行示範,希望對資料處理的同學有用。首先說明一下需要準備的資料,我這裡使用的是SRTM的DEM資料,至於下載方式可以找我之前的部落格。資料如下,下載的未經處理資料都是ZIP檔案。也就是中的10個zip檔案。今天首先對gdalinfo和gdalbuildvrt這兩個工具做個說明。gdalinfo顧名思義,就是用來查看映像資訊,這些映像資訊基本上包括映像中的所有資訊,目前除了不能查看映像的灰
在目前很多相機都支援在拍照的時候保留GPS資訊,這些資訊一般都是儲存在jpg映像的exif資訊中。下面內容主要說明如何使用GDAL庫來讀取jpg映像中的GPS資訊並解析經緯度座標。首先,還是最常用的工具,gdalinfo,來查看這個GPS資訊到底在什麼地方。下面是使用gdalinfo輸出的資訊,圖1為。Driver: JPEG/JPEG JFIFFiles: C:\Users\LiMinlu\Desktop\DSCN8806.JPGSize is 4608, 3456Coordinate
最小二乘計算最優解不管是哪個行業肯定都用到的非常多。對於遙感影像處理中,尤其是對映像進行校正處理,關於控制點的幾種校正模型中,都用到最小二乘來計算模型的係數。比如幾何多項式,或者通過GCP求解RPC係數,以及RPC的間接最佳化等都是離不開最小二乘的。下面使用MTL庫編寫的最小二乘求解AX=B形式的X最優解。關於MTL庫的類型定義可以參考之前寫的求解特徵值和特徵向量那篇部落格。地址為:http://blog.csdn.net/liminlu0314/article/details/8957155。
本文檔主要對如何使用GDAL提供的工具對FY3系列衛星資料進行校正處理。FY3系列衛星提供的資料一般是以HDF5格式下發,一個典型的FY3A和FY3B的資料檔案名如下:FY3A_MERSI_GBAL_L1_20100321_0150_1000M_MS.HDFFY3B_MERSI_GBAL_L1_20130620_0600_1000M_MS.HDF下面分為三個部分來對FY3系列資料校正進行處理,分別是資料預先處理、構造子資料集和校正三個部分,下面分別進行詳述。該文檔用到的GDAL[1]工具主要有三
一、簡單的編譯1、使用VisualStudio IDE編譯首先進入GDAL的原始碼目錄,可以看到有幾個sln為尾碼的檔案名稱,比如makegdal10.sln,makegdal80.sln,makegdal71.sln,makegdal90.sln 。這些檔案是VisualStudio的工程檔案,後面的數字對應的VS的版本號碼,71表示的VS2003,80表示VS2005,90表示VS2008,還有10表示VS2010等。根據自己電腦安裝的VS版本,開啟對應的檔案,如所示(使用VS2008SP1
SHTOOLS是使用Fortran語言寫的一個專門用於處理球諧函數的一個開源庫,更多的介紹請猛戳這裡,關於這個庫的安裝和使用,都在官網上有詳細的說明,雖然很詳細,但是編譯的時候還是比較費勁,下面將我在Ubuntu下編譯的步驟記錄下。首先SHTOOLS需要依賴三個庫,分別是FFTW庫,BLAS庫和LAPACK庫。FFTW庫是傅立葉變換的庫,只能用一句很好很強大來說明了,前段時間自己寫了一個映像的傅立葉變換,處理一幅映像(12208×12208)的16bit但波段映像,進行MTF複原,整整需要5分鐘
很多時候都需要調試GDAL庫,尤其是像學習GDAL庫中的某些演算法是如何?的時候,調試就必不可少了。首先說明用C++的調試。以VS2008為例進行說明。編譯DEBUG版本的GDAL庫,這個可以參考我之前的部落格。可以用命令列編譯,也可以用IDE編譯,但是實質都是一樣,修改nmake命令的參數。也就是給nmake命令後加一句DEBUG=1即可。編譯完成之後,應該會在gdal的源碼目錄中產生下面幾個檔案,如。調試時用到的檔案主要就是pdb檔案,請確保pdb檔案存在,大小應該在30M以上說明是可以調試
S57海圖資料中包含了大量的圖層,在目前ArcMap軟體作為必備的GIS軟體之一,所以還是shp格式處理起來可能比較方便(這裡的方便僅僅是對於某些人覺得shp最常見,用的最廣泛而言,其實我本人覺得shp不好的地方就是一個資料要多個檔案組成,有點不爽)。所以可能需要把S57的資料轉為shp資料。下面使用gdal提供的ogr2ogr工具來進行轉換,希望對大家有用。首先我們使用ogrinfo查看s57的資料中包含的圖層等資訊,因為後面轉換的時候需要這個資訊。1所示。圖1
最近在Windows7下調試ASP.net的時候,發現IE8內建的開發人員工具裡,“Cookie”相關的功能都用不了,點“查看cookie”提示的是“無法獲得cookie資訊”。 後來才偶然發現,是因為我關閉了IE8的“保護模式” 然而如果開啟了保護模式,IE8不知道為什麼禁止內容拖拽,所以拖拽內容存到Onenote將不可用。 不知道是IE8的Bug還是設計問題。
這兩天發燒感冒的……看了看文本與字型、滑鼠鍵盤訊息和各種資源的使用。 越發發現MFC是如何簡化了SDK編程。 文本字型方面,MFC並未做什麼重大改編,通GDI一樣,除了把函數複合成一個類,組織的更易尋找意外,沒什麼大的封裝。 SDK的滑鼠鍵盤訊息處理,需要對wParam和lParam的各個二進位段位進行瞭解才能很好的使用。 而對話方塊控制項的訊息處理,VC與MFC配合可以直接用類嚮導。對於SDK,要想處理資源對話方塊某個按鈕的滑鼠移動動作,一般就要使用“視窗子類化”,通過SetWindowsLo
很多朋友是國外的三維構模軟體來進行構模,在構模的基礎上在進行三維gis的類比與開發,但這種通過專業構模軟體所構建的3D 模型,只能是一個靜態3D 模型,無法進行動態互動.筆者利用VC++6.0 +
下面執行個體我以“翠微大廈”為例,讓GG地圖展現的詳細過程(我是有了網站,而且有了GG帳戶,所以可以直接申請得到的,如果沒有,要事先準備啊) 1、點擊下面的連結,進入Google的帳登入頁:https://www.google.com/accounts/Login?hl=zh-cn&continue= 2、如果沒有GG帳戶,則要申請一個,如果有了,則登入後進入:https://www.google.com/accounts/ManageAccount 3、進入後,在最下面“嘗試某些新功能