將TIF/PNG等轉為GeoTIFF


本文轉自:https://www.cnblogs.com/xiaowangba/p/6313939.html

網上有很多下載Google地圖的衛片的軟件,一般下載下來的圖像都是jpg格式的,另外附帶一個坐標信息的描述文件。這樣的數據不能直接拿來在遙感或者GIS軟件中使用,因為圖像里面沒有投影和坐標信息,所以就需要將這個描述文件中的坐標信息導入到影像中。下面就如何使用gdal提供的工具來完成這個功能,當然也可以自己寫程序。

首先看看輸入數據都有什么,這里只有一個jpg圖像和一個txt文件,jpg圖像如下,原始大小為12800×7168,上傳的時候太大,我縮小了下。

另外的描述信息主要有:

 

圖片寬度(像素):12800
圖片高度(像素):7168

Web墨卡托坐標系(地圖原始坐標)
左下角:-4383205.071958936800000,-20037508.165080477000000
左上角:-4383205.071958936800000,-11271098.261898357000000
右上角:11271098.756465839000000,-11271098.261898357000000
右下角:11271098.756465839000000,-20037508.165080477000000

WGS84坐標系(經緯度坐標)
左下角:-39.375000000000000,-85.051128779806547
左上角:-39.375000000000000,-70.612614238019233
右上角:101.250000000000000,-70.612614238019233
右下角:101.250000000000000,-85.051128779806547
從上面的描述信息中可以看出來,地圖原始的四角坐標都是知道的,Google的地圖使用的都是Web墨卡托投影,對應的EPSG代碼是900913,而經緯度對應的EPSG代碼是4326。

 

通過上面的信息可以知道,我們可以將上面的坐標信息處理為一個World file文件,也就是jpw文件,這個文件就可以給jpg圖像賦坐標信息了,至於投影信息最后可以使用gdalwarp中的-s_srs命令來指定。

首先使用gdalinfo工具查看圖像的信息,如下圖所示,可以看出圖像是沒有任何坐標和投影信息的。

通過上面的坐標計算的圖像的分辨率大致為1222.9925米,所以world file里面的內容如下。(注意,這里假設圖像正北朝上,一般來說Google的衛片都滿足這個要求,如果不滿足,可以使用上面的四角坐標用最小二乘來結算這個world file中的六個數值)。

 

1222.9925000000000
0.0000000000
0.0000000000
-1222.9925000000
-4383205.071958936800000
-11271098.261898357000000
將上面的內存保存為一個和jpg圖像名字相同,后綴名為jpw的文件,然后使用gdalinfo查看,看看是不是有坐標信息了。

 

如果想把這個圖像直接轉成帶有投影和坐標的tif數據的話,可以直接使用gdal_translate工具,命令如下:

 

gdal_translate.exe -of GTiff -a_srs EPSG:900913 --config GDAL_DATA C:\warmerda\GDAL110_SDK\data --config GDAL_FILENAME_IS_UTF8 NO C:\Users\LiMinlu\Desktop\jpg2tif\全球_03-02.jpg C:\Users\LiMinlu\Desktop\jpg2tif\900913.tif 
執行后使用gdalinfo查看輸出的圖像信息,如下圖,從里面可以看到輸出的圖像投影和坐標信息都有了。紅色區域為使用gdal_translate執行的部分。

 

如果想將結果直接生成WGS84的經緯度數據,可以直接使用gdalwarp工具,命令行如下。

 

gdalwarp.exe -of GTiff -s_srs EPSG:900913 -t_srs EPSG:4326 --config GDAL_DATA C:\warmerda\GDAL110_SDK\data --config GDAL_FILENAME_IS_UTF8 NO C:\Users\LiMinlu\Desktop\jpg2tif\全球_03-02.jpg C:\Users\LiMinlu\Desktop\jpg2tif\wgs84.tif 
執行后使用gdalinfo查看輸出的圖像信息,如下圖,從里面可以看到輸出的圖像投影和坐標信息都有了。紅色區域為使用gdalwarp執行的部分。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM