- 博客(170)
- 资源 (16)
- 收藏
- 关注

原创 GDAL书籍中删除数据勘误(C#语言)
GDAL书籍中关于C#版本删除数据的时候,不能完全删除数据,由于我对C#不了解导致代码有点问题,非常感谢@Bingoyin指出并给出修改方案。此外对于栅格图像的删除、重命名,矢量数据的删除和重命名都有同样的问题,修改方式也都一样,具体如下。 以栅格数据为例,具体修改为: static void RasterDelete(string strFile) {
2015-01-15 21:31:54
3390
1

原创 GDAL书籍
GDAL的书籍经过快两年的编写修改,终于出版发行了,希望有需要的同学可以到下面的网址进行购买。(当当网暂时缺货) 购买地址: 亚马逊:http://www.amazon.cn/GDAL%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90%E4%B8%8E%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97-%E6%9D%8E%E6%B0%91%E5%BD%9
2014-03-10 19:49:11
10105
33
原创 专著《Python与开源GIS:数据处理、空间分析》
封面购买链接:京东:https://item.jd.com/12758842.html当当:http://product.dangdang.com/28487364.html作者简历卜坤(1980-),男,山东省日照人,博士毕业于2008年,高级工程师,研究方向:地图学与地理信息系统,工作单位:中国科学院东北地理与农业生态研究所(长春)。工作内容涉及开源GIS应用、WebGIS开发...
2019-11-21 19:51:39
5403
8
原创 GDAL升级到3.0之后遇到的坑
GDAL3.0变化GDAL3.0的主要变化在于对空间参考系统进行了大规模的重构,在使用上接口发生了部分变化,同时也会遇到很多坑。最重要的是GDAL的官网不再使用doxygon生成的页面了,而且对空间参考这部分还存在部分错误,导致看官方文档也会遇到坑。具体可以参考https://github.com/OSGeo/gdal/blob/v3.0.1/gdal/MIGRATION_GUIDE.TXT。...
2019-07-31 13:35:25
9678
24
原创 GDAL_GRID插值Y轴反向的问题
在使用gdal_grid工具将离散点插值成栅格的时候,Y坐标会出现反向的问题。针对这个问题有两种解决方式:1、将插值后的栅格,使用gdalwarp处理下即可,假设gdal_grid输出的名称为grid.tif.gdalwarp.exe grid.tif output.tif2、在gdal_grid的时候-tye miny maxy改为-tye maxy miny即可...
2018-12-29 13:19:24
1376
1
原创 如何使用QGIS下载在线地图
如何使用QGIS下载在线地图本文介绍如何使用QGIS来下载在线地图,如高德地图、Google地图等。首先从QGIS官网下载最新版的QGIS安装,然后配置在线地图地址,最后选择区域另存即可。QGIS下载安装在线地图配置地图另存QGIS下载安装从QGIS官网下载安装最新版的QGIS软件,目前的最新版本是2.18.14。下载安装包之后直接安装即可。不需要特殊设置。 安装完启动该软件,如图1所示
2017-12-05 09:36:48
23180
14
原创 使用GDAL对静止卫星圆盘数据进行校正(以FY2为例子)
前言使用GDAL对静止卫星数据的校正的方式与之前写的校正MODIS数据一样,只不过对于静止卫星的圆盘数据而言,经纬度查找是固定的,不会发生变化。经纬度查找表数据对于FY2气象卫星而言,经纬度查找表文件(NOM_ITG_2288_2288(0E0N)_LE.zip)可以从网上下载。数据解压之后,里面有三个文件,分别是: 序号 名称 说明 1 NOM_ITG_2288_2288(0E0
2017-07-21 13:29:19
6899
12
原创 VS2013编译提示无法运行“rc.exe”错误
VS2013编译提示无法运行“rc.exe”错误,网上搜了好多,说是改path变量的,平台改成带xp的哪个,替换rc.exe等一堆问题,都没有解决。之后用google搜到一篇英文的帖子说是要在工程文件里面添加下面的即可: <PropertyGroup> <TrackFileAccess>false</TrackFileAccess> </PropertyGroup>保存之后,重新加
2017-06-29 16:00:27
11139
3
原创 GDAL分块处理简单的流程
GDAL分块处理流程使用GDAL库在编写图像处理算法时,为了提高处理的效率,经常会进行分块处理,下面的代码是使用GDAL分块处理的一个简单示例:图像分块代码影像分块代码,只有输入输出图像路径,对原始图像经过一定的处理,将结果写入输出图像。此处原始图像和结果图像的大小完全一致。具体流程参考下面的代码以及里面的注释部分。#include "gdal_priv.h"bool ImageProcess(co
2017-06-29 11:05:48
7795
17
原创 GDAL2.x与1.x的主要变化比较(以C++为例说明)
GDAL库在2015年6月开始发布了2.0.0版本,同时与1.x的版本保持同步更新,GDAL2.x的最新版本已经发布到2.2.0(2017年4月发布),并且1.x的最后发布的版本是在2016年7月1.11.5,至今再没有更新(在维护的版本有一个1.11.6,估计只是修改bug的版本)。由此可以看出GDAL库将来可能只会更新2.x的版本。GDAL2.x的版本比1.x的版本有更多的算法,更高的效率和更好
2017-06-09 15:59:38
6496
5
原创 GDAL库读取Envisat ASAR数据
GDAL库本身就可以读取Envisat的图像数据,具体链接为:http://www.gdal.org/frmt_various.html#Envisat。但是对于ASAR传感器的数据来说,GDAL在处理的时候将入射角数据没要进行处理,也就是通过GDAL提供的接口无法获取到这个信息。ASAR数据进行辐射定标的时候,入射角信息是必须要的信息,如果通过GDAL库来对ASAR数据进行辐射定标,那么因为没法获
2017-03-15 17:24:11
4323
17
原创 GDAL写入FileGDB中文属性乱码问题
GDAL库中提供了两个驱动来访问FileGDB格式,一个是基于ESRI提供的FileGDBAPI库来访问gdb,支持读写,另外一个是gdal自己写的OpenFileGDB驱动来访问,只支持读,不支持写。 本文主要是针对ESRI提供的FileGDBAAPI库的驱动来说。只用FileGDB驱动创建gdb时,再写入中文属性值时,会出现乱码,下面给出解决方案。 在FileGDB的文件夹中,有个FGdbUt
2017-02-17 13:47:18
9555
13
原创 GDAL打开mdb文件失败解决方法(二)
上一篇http://blog.youkuaiyun.com/liminlu0314/article/details/53433014博文中说到,可以通过配置项来解决mdb文件打开失败的问题。该问题主要是在64位的程序中会出现。仔细查看gdal的代码,发现在源码中已经针对这个问题进行了修改,但是测试发现修改的不彻底。 具体的bug信息参考http://trac.osgeo.org/gdal/ticket/559
2017-02-17 13:30:41
6696
原创 GDAL C#中文路径,中文属性名称乱码问题
昨天写的博客,将C#读取shp中文属性值乱码的问题应该可以解决,博客地址为:http://blog.youkuaiyun.com/liminlu0314/article/details/54096119,然后又测试发现中文路径,中文属性值如果有中文时,也会出现乱码,具体表现为偶数个汉字没有问题,奇数个汉字会出现乱码。 继续调试C#的源码,发现问题还是在于将C++库中返回的结果进行编码转换的时候导致的,源码位于
2017-01-06 11:06:20
7743
2
原创 GDAL C#读取shp中文属性值乱码问题
GDAL的C#版本读取shp中,如果属性值中含有中文,读出来有可能是乱码的问题,根据SWIG生成的C#代码调试发现问题所在,在Ogr.cs文件中有这么一个函数,代码如下: internal static string Utf8BytesToString(IntPtr pNativeData) { if (pNativeData == IntPtr.Zero) retur
2017-01-05 18:10:24
7830
2
原创 GDAL C#版本 "安全透明方法"问题解决方案
之前写过一篇关于再C#中调用GDAL库出现OSGeo.GDAL.GdalPINVOKE”的类型初始值设定项引发异常的解决方案,博客地址见下: http://blog.youkuaiyun.com/liminlu0314/article/details/7506101但是解决完该问题之后,还会出现下面的问题: “安全透明方法“OSGeo.GDAL.Gdal.AllRegister()”尝试通过方法“OSGeo
2017-01-05 11:28:39
5263
原创 GDAL打开mdb文件失败解决方法
使用GDAL打开mdb文件时提示下面错误信息:ERROR 1: Unable to initialize ODBC connection to DSN for DRIVER=Microsoft Access Driver (*.mdb);DBQ=C:\Users\SCRS-Minlu\Desktop\ZHONGWEI.MDB,[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且
2016-12-02 11:30:46
8028
3
原创 使用GDAL进行RPC坐标转换
使用GDAL进行RPC坐标转换对于高分辨率遥感卫星数据而言,目前几乎都提供了有理函数模型(RFM)来进行图像校正(SPOT系列提供了有理函数模型之外还提供了严格轨道模型)。对遥感影像进行校正目前最常用的就是使用有理函数模型来进行校正。有理函数模型的计算公式网上可以搜到,同时我之前的博客中也有比较详细的说明,可以参考这篇博客http://blog.youkuaiyun.com/liminlu0314/articl
2016-08-24 17:05:07
12484
66
原创 GDALWarp设置GDALWarpOptions::dfWarpMemoryLimit过大时处理失败
使用GDALWarp写了一个裁切图像的算法,在小内存的电脑没事,大内存的电脑就处理失败(32位也没问题),查看GDAL的日志发现下面的错误信息:Fri Apr 08 17:39:02 2016: GDAL: GDALOpen(E:/Out/TRIPLESAT_1_PAN_L1_20160330024710_000315VI_005.tif, this=000000000508EB40) succee
2016-04-08 21:04:39
5721
1
原创 GDAL创建图像提示Driver xxx does not support XXX creation option的原因
GDAL Creation Option does not support
2016-04-07 19:32:07
6602
1
原创 GDAL库进度信息编写示例
GDAL进度信息编写GDAL库中的算法以及读写数据的时候一般都会提供两个与进度信息相关的参数,下面分别进行描述:GDALProgressFunc pfnProgressvoid * pProgressArgGDALProgressFunc pfnProgressGDALProgressFunc pfnProgress这个是一个回调函数,GDALProgressFunc的定义如下所示:typed
2016-03-30 21:04:32
4312
原创 使用QGIS将文本坐标转换为矢量文件
本文主要是说明如果使用QGIS将文本格式的点坐标转换为矢量文件(如shapefile格式)。所需工具:QGIS所需数据:文本格式的点文件所需要处理的点坐标文件如下所示,114.2 22.15114.33 22.1114.85 21.3115.32 20.6119.25 14.78120.25 12.8120.35 12.62120.43 12.4120.48 12.18120.5
2015-12-10 22:27:07
15807
3
原创 编译GDAL支持OpenCL使用GPU加速
前言GDAL库中提供的gdalwarp支持各种高性能的图像重采样算法,图像重采样算法广泛应用于图像校正,重投影,裁切,镶嵌等算法中,而且对于这些算法来说,计算坐标变换的运算量是相当少的,绝大部分运算量都在图像的重采样算法中,尤其是三次卷积采样以及更高级的重采样算法来说,运算量会成倍的增加,所以提升这些算法的处理效率优先是提高重采样的效率。由于GPU的多核心使得目前对于GPU的并行处理非常热,同时也能
2015-11-30 21:29:38
7715
1
原创 GDAL库扩展Landsat系列MTL文件格式支持
Landsat系列卫星提供的数据,一般都是每个波段一个tif文件,然后外加一个MTL.txt的元数据文件,使用gdal可以直接打开每个波段的tif文件,但是有时候想在打开tif数据的同时能够自动读取MTL文件里面的元数据信息,这个时候就只能自己再解析这个文件了。比较麻烦,下面就是针对这种情况,直接在gdal库里面扩展一种支持landsat的mtl的格式,直接打开mtl文件的同时自动打开tif数据以
2015-09-23 19:22:10
9634
2
原创 GDAL 2.0版本RPC校正速度测试
GDAL2.0版本的更新日志中提到了对RPC校正的优化,今天测试了一下,发现提升的速度还是蛮快的,测试的数据是一个IRS-P5的数据。单线程测试首先使用一个线程进行测试,使用下面的批处理进行运行,将OPENCL禁用,测试结果见图1.echo %time% F:\gdal1112\gdalwarp.exe -rpc -t_srs WGS84 -r cubic -wm 1024 -et 0 -wo
2015-07-09 21:57:10
3312
原创 使用Geolocation校正GDAL不支持的数据
对于低分数据来说,常用的校正方式就是给定数据的经纬度查找表来进行校正。在GDAL中,这种校正方式叫Geolocation array。常用的数据有国外的MODIS数据,国内的如风云系列(FY)和海洋系列卫星(HY)都是使用这种方式来进行处理。 GDAL库读取MODIS数据(HDF格式)的时候,会自动读取里面的经纬度查找表,并构造一个叫做GeoLocation的元数据段。如下所示: 只要有这个
2015-03-28 17:19:31
3110
7
原创 编译GDAL支持MySQL
GDAL支持MySQL需要MySQL的库才可以,编译很简单,修改nmake.opt文件中对应的MySQL的库的路径和lib即可。 nmake.opt文件中397行左右,如下:# MySQL Libraries# NOTE: Need /MT instead of /MD, also enable /EHsc switch. #MYSQL_INC_DIR = D:\Software\MySQLS
2015-03-28 14:49:54
2618
原创 编译GDAL支持ArcObjects
编译GDAL支持ArcObjects。 首先修改nmake.opt文件中对应的ArcObjects,修改后的如下所示:#uncomment to use ArcObjectsARCOBJECTS_ENABLED = YESARCOBJECTS_PLUGIN = YESARCOBJECTS_SDK = C:\Program Files (x86)\ArcGIS\Desktop10.2\com
2015-03-23 22:59:02
2676
转载 欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2015-03-09 21:12:00
1185
原创 GDAL不支持创建PCIDSK的面状矢量格式
最近在使用GDAL创建PCIDSK格式的矢量数据,发现创建点和线的矢量数据都没问题,创建面状的只有属性表没有图形。在GDAL官网说明也写的是支持的,地址为:http://www.gdal.org/frmt_pcidsk.html。 实在没办法,翻看GDAL源码才发现,SetFeature的时候,只写了wkbPoint和wkbLineString类型,其他的加了句Debug代码如下:
2015-01-07 19:56:06
1896
原创 GDAL使用插件方式编译HDF4、HDF5以及NetCDF的bug修改
GDAL库中提供了很方便的插件机制来扩展支持的数据格式,比如HDF4、HDF5、NetCDF、FileGDB、
2014-11-20 17:59:24
4609
5
原创 GDAL1.11版本对SHP文件索引加速测试
GDAL库中对于矢量数据的读取中可以设置一些过滤器来对矢量图形进行筛选,对于Shapefile格式来说,如果数据量太大,设置这个过滤器时间慢的简直无法忍受。好在GDAL1.10版本开始支持读取Shapefile文件的空间索引文件(.sbn / .sbx)来进行加速。下面就同样的数据同样的代码来对GDAL1.9.0和GDAL1.11.0两个版本进行测试时间,比较下速度(看到结果你肯定会张大嘴巴的~~
2014-07-20 19:27:33
4984
2
原创 使用GDAL库中的RPC校正问题
最近将GDAL库更新至1.11版本之后,发现之前写的RPC像方改正模型校正的结果偏差特别大(更新版本之前结果和PCI处理的结果一致)。所以初步判断是GDAL库的bug,经过各个参数修改发现原来是指定的DEM采样方式导致的。 当指定DEM的采样方式为最邻近时,校正结果偏差很大,当DEM采样方式为双线性采样和三次立方卷积采样时,处理的结果与之前的结果一样。截图如图1所示,红色区域为对比区域,如图2所示
2014-07-01 20:32:00
8313
28
原创 C#调用GDAL算法进度信息传递
GDAL库中提供了很多的算法,同时也提供了进度条的相关接口,本篇博文主要讲述如何在C#中调用GDAL库的算法并将进度信息进行传递出来。
2014-05-01 15:37:37
4354
7
原创 修改GDAL库支持RPC像方改正模型
最近在做基于RPC的像方改正模型,方便对数据进行测试,修改了GDAL库中的RPC纠正模型,使之可以支持RPC像方改正参数。下面是RPC模型的公式,rn,cn为归一化之后的图像行列号坐标,PLH为归一化后的经度纬度高程。将上面的公式变形,使用偏移系数和缩放系数带入,可以得到图像的行列号坐标与经纬度坐标之间的坐标转换关系。整理后的公式如下所示,下标带s的为缩放系数,下标为0的表示偏移系数,rc为图像行
2014-04-30 20:20:54
7403
35
GDAL2.0.2 C# VS2013 X64 修改中文乱码
2017-01-06
GDAL1.11 X86 X64
2014-05-05
GDAL110 全套 C\C++ C# Java Python
2013-07-24
GDAL110版本对应的C#完美支持中文路径
2013-07-24
GDAL 1.10全套增加FileGDB支持
2013-07-13
GDAL 1.10开发库(VS2008SP1编译)
2013-05-10
GDAL1.92 修改S57中文乱码
2013-04-25
GDAL1.9.2 全套
2013-01-21
GDAL1.9 C++ C# python版本
2012-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人