GDAL的RASTERIO功能】的更多相关文章

         为了能快速的显示大影像,最近一直在学习GDAL,GDAL确实是一个功能强大的开源库,其核心部分数据集和波段,下面这个图很详细的描述了它们之间的关系,还有其中的细节:     GDAL的RASTERIO功能非常强大,简短的一句话就能实现图像的显示,但也是这个简单函数,把我折腾的半死.在学习使用GDAL的过程中,非常感谢李林大哥和貟建明大哥,他们不厌其烦地解答我的疑问,提示关键性要点,使我在解决问题的过程中事半功倍.      我现在要把最近学习过程中的心得写下来,留给自己以后看看…
CPLErr GDALRasterBand::RasterIO ( GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, void * pData, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nPixelSpace, int nLineSpace ) Read/write a region of image data for this band.…
一.gdal进行数据操作在安装好gdal后,即可调用gdal库中的函数.(需要包含的头文件:gdal_priv.h)1.打开数据集使用gdal库进行数据(影像)操作的第一步就是打开一个数据集.对于“数据集”这个名词大家可能不会太习惯,但是对于一般的格式来说,一个“数据集”就是一个文件,比如一个TIFF文件就是一个以tiff为扩展名的文件.但是对于众多RS数据来说,一个数据集包含的绝对不仅仅是一个文件.对于很多RS数据,他们把一张图像分成数个图像文件,然后放在一个文件夹中,用一些额外的文件来组织它…
转自赵文原文 gdal读写图像分块处理(精华版) Review: 用gdal,感觉还不如直接用C++底层函数对遥感数据进行处理.因为gdal进行太多封装,如果你仅仅只是Geotif等格式进行处理,IO,遍历,转换,算法处理等操作,就别用gdal了.如果你想懒省事,那么这篇文章还是或许有些参考价值了.但是不推荐你这么做. 一.gdal进行数据操作 在安装好gdal后,即可调用gdal库中的函数. (需要包含的头文件:gdal_priv.h) 1.打开数据集 使用gdal库进行数据(影像)操作的第一…
缘起 对于一般的遥感影像文件,金字塔文件默认都是与影像文件放在同一个目录下,金字塔文件名一般与源影像文件名相同,但后缀名不同.或者金字塔内建于影像内部,但这不是这里所涉及的. 在使用ArcGIS桌面版或者Erdas遥感影像处理软件打开遥感影像文件的时候,如果影像不含(带有)金字塔,则会提示是否创建金字塔. 我们碰到这么一种情况,就是原始影像是不带金字塔的,并且所在的目录不允许修改,也就是不能将金字塔创建在其中,原始影像文件更是不允许修改,所以也不能更新内建金字塔. 解决 对于这个问题,为了加速影…
GDAL(Geospatial Data Abstraction Library,地理空间数据抽象库)是一个在X/MIT许可协议下的开源栅格空间数据转换库.官网http://www.gdal.org/index.html,也可参考GitHub https://github.com/OSGeo/gdal,最新release版本为2.1.1. GDAL是一个在X/MIT许可协议下读写空间数据(包括栅格数据和矢量数据)的开源库,它利用抽象数据模型来表达所支持的各种文件格式,还使用一系列命令行工具来进行…
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,很多读者朋友跟随着我先前写作的基于geopandas的空间数据分析系列教程文章(快捷访问地址:https://www.cnblogs.com/feffery/tag/geopandas/),掌握了有关geopandas的诸多实用方法,从而更方便地在Python中处理分析GIS数据.其中在文件IO篇中给大家介绍过针对ESRI Ge…
转载:http://blog.csdn.net/pl20140910/article/details/52074165 为了方便管理自己写的代码,也为了日后工作能方便的查找之前做过相同的代码,仿照某源码结构,自己建了一个解决方案,以方便管理自己的代码,这样代码迁移也比较方便,不需要每次重新配置第三方库或其它需要依赖的库.下图为整个解决方案目录结构设置: 图1 VS解决方案目录结构设置 如上图,为了方便管理,以后所有的项目都写在AllProject解决方案里,途中红色的部分表示的都是文件夹,绿色的…
栅格金字塔   如果上面的部分都已经看过了,那么如何在ArcMap中更好的渲染一个栅格数据你已经知道了.可仅展示好一个栅格数据是不够的,我们还需要知道如何快速的展示一个栅格数据. 讲金字塔之前,先解释一下重采样的概念. 现如今我们有的影像数据大都是几十M到几十G不止.这样大小的栅格数据在ArcMap中是不能直接显示的.还记得我们前面举的那个例子么,一个606.903 MB的3波段8bit的栅格数据,共有15781列13442行.这个行列数已经是目前我们所使用的屏幕分辨率的10倍以上,也就是说在一…
转载请注明原文地址:https://www.cnblogs.com/litou/p/15004877.html 目录 一.介绍 二.编译准备 三.编译SQLite 四.编译LibTiff 五.编译PROJ 六.编译GDAL 七.编译C#接口 八.编译结果 九.C#调用测试 十.编译Debug版GDAL 一.介绍 GDAL是一个开源的栅格和矢量空间数据操作库.它使用单一的抽象数据模型和驱动模式,支持大多数的栅格和矢量空间数据的操作,从而不再依赖固定的类库(如ArcEngine等). 官网:http…
主要转自http://blog.csdn.net/liminlu0314?viewmode=contents 部分GDAL工具功能简介 gdalinfo.exe 显示GDAL支持的各种栅格文件的信息. gdal_translate.exe 在不同的格式间进行转换.同时,潜在的执行了一些切割.重采样和使像素比例变化的任务. gdalwarp.exe 投影转换和投影绑定.同时也可以进行图像镶嵌.这个程序可以重新投影所支持的投影,而且如果图像("raw" with)控制信息也可以把GCPs…
GDALDataset类中的RasterIO函数能够对图像任意指定区域.任意波段的数据按指定数据类型.指定排列方式读入内存和写入文件中,因此可以实现对大影像的分块读.写运算操作.针对特大的影像图像,有时为了减少内存消耗,对图像进行分块读取很有必要.在以下的测试代码中,给出了3种方式,每种方式的最终结果都是完全相同的,从内存占用情况来看:第一种大于第二种,第二种大于第三种.第三种消耗内存最小. 测试代码如下: int test_gdal_GDALDataset() { const char* im…
读写影像可以说是图像处理最基础的一步.关于使用GDAL读写影像,平时也在网上查了很多资料,就想结合自己的使用心得,做做简单的总结. 在这里写一个例子:裁剪lena图像的某部分内容,将其放入到新创建的.tif文.以此来说明GDAL读写影像的具体实现. 1.打开图像 用GDAL打开lena.bmp,实现如下.注意这里打开图像,指的是获取图像的头文件,以此得到图像的一些信息,没有涉及到读取像素操作. GDALAllRegister(); //GDAL所有操作都需要先注册格式 CPLSetConfigO…
在遥感图像处理中,GDAL库不仅能读取和处理大部分的遥感图像数据,而且还能够实现图像处理后将数据保存为图像的功能. 本文就详细介绍如何将内存中的图像数据保存为.tif格式. 首先,遥感数据处理完,保存在一维数组data中,图像的宽和高为width和height,图像有三个波段.在保存时要使图像的每一行对其,保证位数为32的倍数 先上实现的代码,源程序如下: +)/;//字节对齐 unsigned char *data=new unsigned char[bytesPerLine*height];…
一个小测试程序开发全过程实录,完全新手入门级的实例,如果你还在为处理大影像而发愁,来试试这个称手的工具吧. Imagec 开发日记 2013-6-25 需求: 影像数据切割,重采样 数据切割的要求是简单的给予矩形的等分切割,并以2的幂次为分割单元,无需使用AOI裁切, 重采样需要实现多种采样模式,用户可以切换采样模式(下文中所提供的代码只是利用了RasterIO的一个特性使用了默认的最近邻重采样方法) 基本思路 考虑是否存在使实用的gdal接口, 自行设计,利用GDAL的读写接口完成数据输入输出…
因为对于globalmap不熟悉,不怎么怎么修改高程,好像也没有这功能. 干脆自己手动修改了高程图tiff了 由于自身一直使用osg的 自己使用了osgDB直接读取tiff,修改后保存的. 同事小周一直研究gdal,她使用了gdal库直接改的,事实证明在专业gis处理上还是gdal更合适,现在把两种方式都总结一下: 第一种:通过osgDB修改tiff #include <osg/Image> #include <osgViewer/Viewer> #include <osgE…
GDAL原生支持超过100种栅格数据类型,涵盖所有主流GIS与RS数据格式,包括•  ArcInfo grids, ArcSDE raster, Imagine, Idrisi, ENVI, GRASS, GeoTIFF •  HDF4, HDF5•  USGS DOQ, USGS DEM •  ECW, MrSID •  TIFF, JPEG, JPEG2000, PNG, GIF, BMP 完整的支持列表可以参考http://www.gdal.org/formats_list.html 导入…
编译qgis完整项目后,由于Gdal库的原因,中文路径下通过添加矢量数据中数据库中是没有OGR的Oracle数据库功能的: 最开始打算通过重新编译gadl库从内部支持中文的(有成功的麻烦也请告诉我),后来发现其实不用这么麻烦: 网上查找后介绍GDAL添加了对UTF8路径的支持,新增了一个配置项,叫GDAL_FILENAME_IS_UTF8,可以使用下面的语句设为YES或NO,默认为YES! 找到qgis源码中的qgis_core项目中的qgsapplication.cpp代码中的register…
写了个mongodb的gdal driver,放在了github上,如果你需要,欢迎加入mongogis group. 直接的效果是使得QGIS, GeoServer, MapServer, ArcGIS等GIS软件能够处理存储在MongoDB集群中的地理数据. https://github.com/mongogis www.mongogis.com QQ群:245711661 1. MongoDB 现如今国内外NoSQL数据库产品已经超过百种,其中包括除了Google的BigTable.Ama…
一.简单的编译 1.使用VisualStudio IDE编译 首先进入GDAL的源代码目录,可以看到有几个sln为后缀的文件名,比如makegdal10.sln,makegdal80.sln,makegdal71.sln,makegdal90.sln .这些文件是VisualStudio的工程文件,后面的数字对应的VS的版本号,71表示的VS2003,80表示VS2005,90表示VS2008,还有10表示VS2010等.根据自己电脑安装的VS版本,打开对应的文件,如下图所示(使用VS2008S…
GDAL的C#版本虽然在很多算法接口没有导出,但是在读写数据中的接口基本上都是完全导出了.使用ReadRaster和WriteRaster方法来进行读写,同时对这两个方法进行了重载,对于常用的数据类型可以不用指定数据类型直接进行读取即可.但是对于复数类型就有点复杂了.下面就针对GDAL如何来读取复数数据来进行一个简单的说明.   我们知道,在使用GDAL读取数据的时候使用的是ReadRaster这个函数,这个函数重载了6个,函数声明分别如下,以Dataset的ReadRaster为例,Band类…
本博客为原创内容,未经博主允许禁止转载,商用,谢谢. 一.前言 关于GDAL与openCV间的数据格式转换,在我之前的博客中已有简要说明,这里,由于最近工作上经常用到openCV里的函数进行图像处理,所以写了一个程序,进一步对这两个开源库进行连接. 除了格式转换外,该类还支持数据的分块读入与写出. 二.代码 所有功能在一个GDALOPENCV类中完成,其头文件如下: /////////////////////////////////////////////////////////////////…
一.前言 GDAL具有强大的图像读写功能,但是对常用图像处理算法的集成较少,OpenCV恰恰具有较强的图像处理能力,因此有效的结合两者对图像(遥感影像)的处理带来了极大的方便.那么如何实现GDAL与openCV间的数据交换成为影像处理中的关键步骤.接下来我将记录下:1 如何将GDAL读取的影像转化为openCV支持的的MAT格式?2 如何将处理后MAT数据转化为合适的图像格式存储?(PS:本人也是初次使用GDAL和openCV,代码很水...只是记录下自己学的,和大家交流下) 二.GDAL数据到…
1.下载地址 http://trac.osgeo.org/gdal/wiki/DownloadSource 下面是两个版本: http://pan.baidu.com/s/1bntuXER  (1.10.0 - April 2013) http://pan.baidu.com/s/1i35ZY2x   (2.0.0 Latest Stable Release - June 2015) 2.编译安装(vs2008命令行编译) 在开始菜单中找到“所有程序——>Microsoft Visual Stu…
GDAL库是一个跨平台的栅格地理数据格式库,包括读取.写入.转换.处理各种栅格数据格式(有些特定的格式对一些操作如写入等不支持).它使用了一个单一的抽象数据模型就支持了大多数的栅格数据.这里有GDAL库支持的格式:http://www.gdal.org/formats_list.html 注:本文在Qt开发环境下使用GDAL库. 在Qt中使用GDAL库时,除了要加gdal_priv.h头文件外,还需要在xxx.pro文件内加上LIBS += -lgdal ,文件用可编辑的文档打开. 使用GDAL…
一.前言 GDAL具有强大的图像读写功能,但是对常用图像处理算法的集成较少,OpenCV恰恰具有较强的图像处理能力,因此有效的结合两者对图像(遥感影像)的处理带来了极大的方便.那么如何实现GDAL与openCV间的数据交换成为影像处理中的关键步骤.接下来我将记录下:1 如何将GDAL读取的影像转化为openCV支持的的MAT格式?2 如何将处理后MAT数据转化为合适的图像格式存储?(PS:本人也是初次使用GDAL和openCV,代码很水...只是记录下自己学的,和大家交流下) 二.GDAL数据到…
OS环境Ubuntu12.04 32bit 因为公司一个功能要用到gdal 的ogr2ogr命令转换shp数据,需要能往postgis和sqlite 中插入数据. 用gdal1.11.0的源码默认安装,postgresql 和sqlite都没能支持 后来在机器上装了postgresql 9.1也不行,最终发现是少了一个包libpq-dev(发现查 ./configure的日志是多么的重要) PostgreSQL support: yes MySQL support: no Ingres supp…
GDAL的编译脚本呈现出不同平台不同解决方案的百花齐放现状.我是从windows平台开始编译GDAL的,用的自然是nmake.那就是一种每个目录下都需要写makefile文件的构建方法,写的人麻烦,我因为要定制,也是不甚其烦. 基于前文:premake 在64位Ubuntu系统下编译32位GCC程序的基础,我在Ubuntu上构建了premake脚本,可以编译出debug64, debug32, release64和releae32的gdal动态和静态库.由于我所用的gdal是定制版本的,可能有所…
作者:朱金灿 来源:http://blog.csdn.net/clever101 最近使用gdal库比较多,就谈谈gdal库的一些使用心得. 第一个是GDALOpen的访问权限参数会影响图像的创建金字塔方式.比如你是这样打开图像和创建金字塔: std::string strImgPath = _T(“C:\\1.tif”); GDALDataset* mGdalDataset=(GDALDataset*)(GDALOpen(strImgPath.c_str(),GA_Update)); mGda…
C#.C++用GDAL读shp文件 C#用GDAL读shp文件 (2012-08-14 17:09:45) 标签: 杂谈 分类: c#方面的总结 1.目前使用开发环境为VS2008+GDAL1.81 public string  ReadSHP( string str) { string strMessage = ""; OSGeo.OGR.Ogr.RegisterAll(); OSGeo.OGR.Driver dr = OSGeo.OGR.Ogr.GetDriverByName(&q…