使用GDAL将下载的Google卫星图像转为带坐标的tif
网上有很多下载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执行的部分。
使用GDAL将下载的Google卫星图像转为带坐标的tif的更多相关文章
- 使用GDAL工具对FY3系列卫星数据进行校正
本文档主要对如何使用GDAL提供的工具对FY3系列卫星数据进行校正处理.FY3系列卫星提供的数据一般是以HDF5格式下发,一个典型的FY3A和FY3B的数据文件名如下: FY3A_MERSI_GBAL ...
- YOLT:将YOLO用于卫星图像目标检测
之前作者用滑动窗口和HOG来进行船体监测,在开放水域和港湾取得了不错的成绩,但是对于不一致的复杂背景,这个方法的性能会下降.为了解决这个缺点,作者使用YOLO作为物体检测的流水线,这个方法相比于HOG ...
- Android技巧分享——如何用电脑下载在Google play中应用的apk文件
[Android技巧分享系列] 1.Android技巧分享——让官方模拟器和genymotion虚拟机飞起来 2.Android技巧分享——如何用电脑下载在Google play中应用的apk文件 G ...
- 大尺寸卫星图像目标检测:yoloT
大尺寸卫星图像目标检测:yoloT 1. 前言 YOLT论文全称「You Only Look Twice: Rapid Multi-Scale Object Detection In Satellit ...
- Google Chrome 源码下载地址 (Google Chrome Source Code Download)
1. Google Chrome 源码 SVN 地址:http://src.chromium.org/svn.包含有 Chrome.Gears.Webkit.GCC 等源码以及编译依赖工具.Chrom ...
- JSOUP如何优秀的下载JPEG等二进制图像
引言 JSOUP默认是不支持解析JPEG等二进制图像的,解决方法也很简单,只需要加上Jsoup.ignoreContentType(true)这一行代码就可以.关于这一点的原因,来看看官方API说明. ...
- 各个版本VS编译好的GDAL库下载
简单说明 自己编译GDAL比较繁琐且时间较长,而且很多 Driver 需要自己去编译.如果不是要学习怎么编译GDAL,可以直接使用已经编译好的库. OSGeo官方没有提供编译好的GDAL,但是它有给出 ...
- 利用GDAL从内存中直接解析图像数据
对于网络数据源,调度中可以把数据写入本地,然后读取本地数据格式进行影像的解析(地形有时候也用tif等格式). 此种方式会每次调度进行不必要的IO开销和时间花费. GDAL提供了相应的接口,直接从内存中 ...
- [免费下载应用]iNeuKernel.Ocr 图像数据识别与采集原理和产品化应用
目 录 1..... 应用概述... 2 2..... 免费下载试用... 2 3..... 视频介绍... 2 4..... iNeuLink.Ocr图像数据采集应用... 2 5... ...
随机推荐
- MacOS下Rails+Nginx+SSL环境的搭建(下)
五.以Production环境部署Rails项目 这里插一个题外话,我们之前是以development环境运行的rails项目,现在我们希望在实际的生产系统中跑一下看看.这是十分有必要的,应该在rai ...
- Rails关闭html_safe字符串过滤
在某些情况下我希望html的文本中包含一些换行,因为html5产生换行的方法是插入 <br />所以我可以这么写: text = "hello world!<br /> ...
- sublime text package control 被墙的解决办法
似乎没有办法 只能碰运气, 时好时坏. 或者手动安装 趁着好的时候, 下载离线包 https://packagecontrol.io/Package%20Control.sublime-package ...
- linux:cpu 每-CPU 的变量
每-CPU 的变量 每-CPU 变量是一个有趣的 2.6 内核的特性. 当你创建一个每-CPU变量, 系统中每个处理器获得它自己的这个变量拷贝. 这个可能象一个想做的奇怪的事情, 但是它有自己的优点. ...
- CentOS7下安装GitLab
三步在CentOS7系统下,完成GitLab的安装. 1.安装和配置必须的依赖 sudo yum install curl policycoreutils openssh-server openssh ...
- Hexo 简明教程
概述 对于个人独立博客的搭建,或者一些产品网站的介绍我个人比较推崇直接用静态网站生成器来完成这个事情,对于,静态网页部署方便,浏览速度快. 以下为部分静态网站生成器简要列表: Ruby Jekyll ...
- Linux下C/C++程序调试基础(GCC,G++,GDB,CGDB,DDD)
在写程序的时候,经常会遇到一些问题,比如某些变量计算结果不是我们预期的那样,这时我们需要对程序进行调试.本文主要介绍调试C/C++在Linux操作系统下主要的调试工具. 在Linux下写程序,C/C+ ...
- 学习Android路上的一些感慨和总结,慢慢来,比较快!
学习Android路上的一些感慨和总结,慢慢来,比较快! 一直想对自己的学习路程做一个总结,来告别某一个阶段的过去,迎接某一个阶段的来临,一直抽不出时间来,于是零零散散的写了点-,到现在,也已经积攒了 ...
- Nginx的负载均衡 - 加权轮询 (Weighted Round Robin) 下篇
Nginx版本:1.9.1 我的博客:http://blog.csdn.net/zhangskd 上篇blog讲述了加权轮询算法的原理.以及负载均衡模块中使用的数据结构,接着我们来看看加权轮询算法的具 ...
- 最简单的基于DirectShow的示例:视频播放器
===================================================== 最简单的基于DirectShow的示例文章列表: 最简单的基于DirectShow的示例:视 ...