随笔分类 - GDAL
C++读取mysql中utf8mb4编码表数据乱码问题及UTF8转GBK编码
摘要:数据库编码为utf8,但是由于某些表的一些字段存储了emoji字符,表采用了utf8mb4编码,默认情况下在C++代码中读出的中文字段值都变成了乱码。 解决方法为,在进行数据库查询前,在C++中执行一下“set names utf8”,例如在我的程序里执行下面的语句即可: 读出数据后,将字符转为本地
阅读全文
GDAL打开HDF格式时遇到的中文路径问题(未解决)
摘要:众所周知,中文环境下(VS2010 C++工程编码为多字节编码),在使用1.8.0版本以后的GDAL打开中文路径下的影像文件(如GeoTiff文件)时,需对中文文件路径做特殊处理,有2种方法:(我使用的GDAL库添加了HDF4、HDF5格式支持)(1)临时设置GDAL为本机编码环境GDALAllRegister();CPLSetConfigOption("GDAL_FILENAME_IS_UTF8","NO");//设置为非UTF-8编码GDALDataset* modisDataset = (GDALDataset*) GDALOpen("D
阅读全文
Windows下编译C#可用的GDAL附带netCDF格式支持库的一点拾遗
摘要:之前一直在搞GDAL的C++开发,因此对linux下的GDAL编译算是有一点心得,但是从未搞过Windows下的GDAL编译,更没有弄过.NET平台下的GDAL库。今天一天时间总算是编译出了.NET(x86)可用的GDAL with netCDF库,把遇到的几个问题记下来。1、Windows下GDAL C/C++库的编译(1)由于要支持netCDF格式,因此首先下载UNIDATA提供的netcdf的二进制发行包,下载地址:netCDF4.3RC4-NC4-DAP-32.exe安装解压后,只需要其中的bin、deps、include、lib四个文件夹及其内容,假设放在本地D:\GDAL\comp
阅读全文
关于GDAL的几何校正问题
摘要:首先可以参照以下两处资料:http://wenku.baidu.com/view/508a46f0f90f76c661371a66http://www.cnblogs.com/flyingfish/archive/2007/09/12/890442.html不过我按照上述资料并没有成功,第一个资料中给出了可运行的源码,但是实际结果并没有做重采样,好像只是把原始数据copy了一份,仅对拷贝做了投影设置和仿射变换设置,真实数据没有重采样。第二个资料中博主给出的源码在我这里不能运行,每次均是运行到ChunkAndWarpImage/Multi函数处即出错。将第一个资料中的GenImgProjTran
阅读全文
Crashed when delete OGRSpatialReference objects!
摘要:Crashed when delete OGRSpatialReference objects!OGRSpatialReference* oSRS = new OGRSpatialReference();oSRS->SetFromUserInput(constChrPtr);{ ... }delete oSRS;//crashed here!//OSRDestroySpatialReference(oSRS) ;//also crashed!//why?/*Some one say that may be there are defects in the destructor o...
阅读全文
RHELServer6.2下编译GDAL和mysql和proj4支持
摘要:系统信息:Red Hat Enterprise Linux Server release 6.2 (Santiago)编译器:[geohpc@mgt ~]$ gcc -vUsing built-in specs.Target: x86_64-redhat-linuxConfigured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --en
阅读全文
GDAL支持的栅格数据格式
摘要:GDAL支持的栅格数据格式:或者使用gdalinfo.exe --formats查看Long Format NameCodeCreationGeoreferencingMaximum file size1Compiled bydefaultArc/Info ASCII GridAAIGridYesYes2GBYesACE2ACE2NoYes--YesADRG/ARC Digitilized Raster Graphics (.gen/.thf)ADRGYesYes--YesArc/Info Binary Grid (.adf)AIGNoYes--YesAIRSAR PolarimetricAI
阅读全文
linux下编译GDAL外加扩展格式支持(五)--完
摘要:接1、2、3、4篇。10、安装mysql支持安装fedora15或者16系统时若选择安装mysql数据库,则必须自行安装mysql开发包。因为自带默认数据库不会安装这个包。否则会遇到mysql错误:ogr_mysql.h:34:23: fatal error: my_global.h: No such file or directory#问题原因:找不到mysql头文件,系统默认安装的mysql不含开发包。#解决办法:使用yum源安装mysql++-devel即可。yum install mysql++-devel11、配置安装GDAL,使其支持[expat、libkml、hdf4/5、mys
阅读全文
linux下编译GDAL外加扩展格式支持(四)
摘要:接1、2、3篇。8、安装netcdf-4.1.3 [netcdf-4.1.3.tar.gz] 下载地址:http://www.unidata.ucar.edu/downloads/netcdf/index.jspmkdir /usr/local/netcdf413./configure --prefix=/usr/local/netcdf413#可能会爆出无法连接到HDF5库的错误。解决办法:CPPFLAGS=-I/usr/local/hdf5188/include LDFLAGS=-L/usr/local/hdf5188/lib ./configure --prefix=/usr/local
阅读全文
linux下编译GDAL外加扩展格式支持(三)
摘要:接1篇和2篇。---未完待续5、安装szip-2.1 [szip-2.1-tar.gz]下载地址:http://www.hdfgroup.org/ftp/lib-external/szip/2.1/src/szip-2.1.tar.gzmkdir /usr/local/szip21./configure --prefix=/usr/local/szip21makemake checkmake install6、安装HDF5 [hdf5-1.8.8.tar.gz]下载地址:http://www.hdfgroup.org/ftp/HDF5/prev-releases/hdf5-1.8.7/obta
阅读全文
linux下编译GDAL外加扩展格式支持(二)
摘要:接上一篇。4、编译libkml库,安装libkml [libkml-1.2.0.tar.gz]下载地址:http://code.google.com/p/libkml/此处需要注意:GDAL1.8.1以上版本要求libkml版本最低为1.3.0,因此,我们只能libkml源码进行编译。SVN签出源码:mkdir /home/jeff/Downloads/libkml-svncd /home/jeff/Downloads/libkml-svnsvn checkout http://libkml.googlecode.com/svn/trunk/ libkml-1.3.0#进入源码目录,更新acl
阅读全文
linux下编译GDAL外加扩展格式支持(一)
摘要:目标:在linux下编译GDAL库,外加libkml、expat、hdf4/5、mysql、netcdf、ECW格式支持。环境:fedora15/16,最好不要用root用户编译。1、安装expat-2.0.1 [expat-2.0.1.tar.gz]下载地址:http://sourceforge.net/projects/expat/files/expat/mkdir /usr/lib64/expat201#指定安装目录:./configure --prefix=/usr/local/expat201#生成安装文件:make#安装:make install2、安装curl-7.24.0 [c
阅读全文
GDAL并行IO的疑问
摘要:GDAL是否可以支持并行I/O?最近使用GDAL并行IO读写实验,我们采用GDAL库+MPI+NFS在fedora15系统上开展,实验证明该方法没有遇到预先设想的问题,比如:写文件冲突。目前我也不清楚是否是NFS有内在机制会协调各个进程之间的先后顺序,总之现在看来并行计算是没有问题的,但是不少人说GDAL是不支持并行IO的,有人采用令牌循环的方式写文件,实质还是串行。该天换个大数据试试。先说说我遇到的问题,我在用GDAL做矢栅转换时,扩展了一个GDAL函数:GDALGeometriesRasterizeBuf,多个geometry对象转栅格到void*,目的是分块并行计算,然后再利用NFS并行
阅读全文
栅格像元做地理坐标映射后的坐标值是像元中心点还是其他位置?
摘要:做了下实验,GDAL做完映射后像元(x,y)--->(lat,lon),得到的坐标值是像元左上角的坐标值。下面这个看到更清楚:(其实我做了一个替换,实际我求的是左上点和右下点(通过(i+1,y+1)像元求得)对应的坐标。)求出像元的Envelop,这样就能计算像元的面积(实际投影后存在边形,是梯形)了。
阅读全文
浙公网安备 33010602011771号