关于GDAL读写Shp乱码的问题总结】的更多相关文章

目录 1. 正文 1.1. shp文件本身的编码的问题 1.2. 设置读取的编码方式 1.2.1. GDAL设置 1.2.2. 解码方式 1.2.3. 其他 2. 参考 1. 正文 最近在使用GDAL读写Shp格式中的属性字段的时候也遇到了中文乱码的问题,总结下自己遇到的情况. 1.1. shp文件本身的编码的问题 应该是由于shp格式加入了对宽字符的支持,所以导致有段时间的shp文件和ArcGIS是存在不匹配的问题,所以在网上搜索资源的时候遇到了大量的关于ArcMap显示shp属性表出现乱码的…
gdal包用于处理栅格数据,ogr用于处理矢量数据. 1 #!C:\Program Files\pythonxy\python\python.exe 2 #-*- coding:gb2312 -*- 3 4 from osgeo import ogr,osr,gdal 5 import os 6 7 """ 8 Understanding OGR Data Type: 9 Geometry - wkbPoint,wkbLineString,wkbPolygon,wkbMult…
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…
附件:http://pan.baidu.com/s/1i3GPwrV(C#版GDAL接口.dll) 示例程序: http://pan.baidu.com/s/1jpIKQ  (程序是在vs2008 x86下编写的,其中WKT数据是从数据库中获取的,程序中的界面没有任何的作用,直接点击执行即可) 1.环境配置 添加引用和头文件就可以使用了. 2.代码示例,c#调用gdal生产shp文件. static void WriteVectorFileShp(String strVectorFile, St…
最近应用AE开发插值和栅格转等值线的程序,涉及到栅格读写的有关内容.联想到ArcGIS利用了GDAL的某些东西,从AE的OMD中也发现RasterDataset和RasterBand这些命名和GDAL的很相似.所以觉得应该对比学习一下:ArcEngine和GDAL读写栅格数据机制对比. AE涉及栅格图像读写的主要是Workspace.RasterDataset.Pixel blocks和 RasterBand.如图所示.RasterDataset实现了接口IrasterBandCollectio…
这样写,会出现乱码.原因是文件时gbk格式的, BufferedReader br = new BufferedReader(new FileReader(indir)); BufferedWriter bw = new BufferedWriter(new FileWriter(outpath,true)); 所以可以这样改: //用fileinputstream才能解决读写文件乱码问题.视文件是gbk还是utf32而更改下面对应的字符. BufferedReader br = new Buf…
java(IO)读写文件乱码转换UTF-8问题 读取文件 String Content = ""; // 文件很长的话建议使用StringBuffer try { FileInputStream fs=new FileInputStream("文件录取"); InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); BufferedReader br = new BufferedRe…
转自赵文原文 gdal读写图像分块处理(精华版) Review: 用gdal,感觉还不如直接用C++底层函数对遥感数据进行处理.因为gdal进行太多封装,如果你仅仅只是Geotif等格式进行处理,IO,遍历,转换,算法处理等操作,就别用gdal了.如果你想懒省事,那么这篇文章还是或许有些参考价值了.但是不推荐你这么做. 一.gdal进行数据操作 在安装好gdal后,即可调用gdal库中的函数. (需要包含的头文件:gdal_priv.h) 1.打开数据集 使用gdal库进行数据(影像)操作的第一…
在GIS软件的开发中,经常用到开源库GDAL读取Shp数据,当shp数据中包含投影信息时,可能会遇到“Unable to open EPSG support file gcs.csv”错误提示,该错误是由于没有设置“GDAL_DATA”引起的. 1.Shpefile文件组成 Shapefile文件指的是一种文件存储的方法,实际上该种文件格式是由多个文件组成的.其中,要组成一个Shapefile,有三个文件是必不可少的,它们分别是".shp", ".shx"与 &qu…
读取shp文件,并把它转化为json import org.gdal.ogr.*; import org.gdal.ogr.Driver; import org.gdal.gdal.*; public class GdalShpTest { public static void main(String[] args) { // 注册所有的驱动 ogr.RegisterAll(); // 为了支持中文路径,请添加下面这句代码 gdal.SetConfigOption("GDAL_FILENAME_…
正常读写英文时用""""没问题 FileReader fre = new FileReader("E:\\TEST\\readText.txt"); FileWriter fwi = new FileWriter("E:\\TEST\\readText2.txt"); BufferedReader bufr = new BufferedReader(fre ); BufferedWriter bufw = new Buffer…
对开发者来说,最恼人的问题之一莫过于读写文件的时候,由于编码千差万别,出现乱码问题.好难快速解决啊... 最近我也遇到了这样的问题,经研究,把大致的解决思路拿出来共享. 1. python中习惯首先声明编码类型 #!/usr/bin/python # -*- coding: <encoding name> -*- import sys reload(sys) sys.setdefaultencoding('utf-8') PS:不一定所有文件都是 utf-8 编码的,这里要注意啊... 2.…
一.gdal进行数据操作在安装好gdal后,即可调用gdal库中的函数.(需要包含的头文件:gdal_priv.h)1.打开数据集使用gdal库进行数据(影像)操作的第一步就是打开一个数据集.对于“数据集”这个名词大家可能不会太习惯,但是对于一般的格式来说,一个“数据集”就是一个文件,比如一个TIFF文件就是一个以tiff为扩展名的文件.但是对于众多RS数据来说,一个数据集包含的绝对不仅仅是一个文件.对于很多RS数据,他们把一张图像分成数个图像文件,然后放在一个文件夹中,用一些额外的文件来组织它…
1.错误的打开方式 #coding=utf-8f = open("test.txt",'w+')f.write('Mars is slim,isn\'he? \n 火星教')print f.read()f.close() 控制台结果: 2.正确的打开方式 建议在进行写入操作后先将文件关闭,然后再打开,最后再读取文件 若你的txt文件编码是utf-8,则需要在f.read()添加decode('utf-8'),即f.read().decode('utf-8')即可          代码…
ShapeLib的.net Wapper版可以在官网下载到,在WorldWind中也有使用.ORG据说也是使用的ShapeLib实现的shp文件的读写. 官网:http://shapelib.maptools.org/ 1. C++读取shpfile文件代码 int main() { //读取shp const char * pszShapeFile = "data\\LineSegments2.shp"; SHPHandle hShp= SHPOpen(pszShapeFile, &…
在Python中使用OGR时,先要导入OGR库,如果需要对中文的支持,还需要导入GDAL库,具体代码如下.Python创建的shp结果如图1所示. 图1 Python创建矢量结果 #-*- coding: cp936 -*- try: from osgeo import gdal from osgeo import ogr exceptImportError: import gdal import ogr 1.读取矢量 #-*- coding: cp936 -*- try: from osgeo…
依赖jar包 读取shp public static void main(String[] path) { DbaseFileReader reader = null; try { reader = new DbaseFileReader(new ShpFiles("C:\\Users\\lilei3774\\Desktop\\wuhan\\1\\split-hanzi\\poi.shp"), false, Charset.forName("utf-8")); Db…
在使用C#对文本文件读取的时候,如果其中包含了中文,经常会出现乱码.一般解决是在StreamReader加一个编码,我使用的是Encoding.UTF8,一般情况下使用这个参数就可以.但是,在这次我使用UTF8却无效.而且使用,unicode和UTF32都会使用StreamReader的EndOfStream在读取一行之后,就会变成true.我想原因可能是使用这种编码没有正确读取出换行符,使读取一次之后就到达了文件末尾. 直到后来,看到一片资料,使用Encoding.GetEncoding("g…
C#通过Wkt码构建shp,记录写不进去! static void WriteVectorFile() { string strVectorFile = "E:\\"; // 注册所有的驱动 Ogr.RegisterAll(); //创建数据,这里以创建ESRI的shp文件为例 string strDriverName = "ESRI Shapefile"; Driver oDriver = Ogr.GetDriverByName(strDriverName); i…
读取shp文件: private void btnBrower_Click(object sender, EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "打开ShapeFile数据"; dlg.Filter = "ShapeFile数据(*.shp)|*.shp"; if (dlg.ShowDialog() == DialogResult.OK) { Ogr.Registe…
mysql默认使用latin(ISO-8859-1),而java默认使用unicode编码.因此在JAVA中向MYSQL数据库插入数据时,或者读取数据时,都需要先转换一下编码方式. 1.首先查看数据库的编码方式: show variables like 'char%' 确保数据库使用的编码方式都是utf8 2.查看java文件的编码方式: 3.如果都是utf8,数据库中的中文就是正常的,但是读取的内容就是乱码,想要彻底解决这个问题而不是每次重启服务都要设置编码方式,建议重新装mysql数据库.…
相信,大家都有遇到过在传入一个中文string,debug自己的每一行代码时,都发现始终是没有乱码的(即:排除了,源码文件的编码格式是没问题的),但是数据进入数据库之后就是乱掉了. 那么很明显问题就出现在数据写入数据库的过程之中了(数据库设置的编码格式也是对的情况下).要是你SSH框架或者SSM框架开发,那么就要看 看数据库配置文和您的项目里的其他使用到数据库的连接的代码是否是如下这样写的,如果不是按照如下修改即可.当然出现乱码的原因的有很多,此法不行,还是 看看其他方法好了~…
RandomAccessFile 读写文件时,不管文件中保存的数据编码格式是什么   使用 RandomAccessFile对象方法的 readLine() 都会将编码格式转换成 ISO-8859-1 所以 输出显示是还要在进行一次转码 例子: package fileReadAndWrite; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; /*…
代码: text4500.txt文档用text打开(不知道格式): 读取会出现乱码,然后用Notepad++打开换成UTF-8格式的.就可以了…
以下是设定一个矩形框,用IPixelBlock将256*256瓦片tile拼接成一个整块影像的代码,row1, col1, row2, col2是一个矩形框行列号范围.level是瓦片的金字塔等级.这里的瓦片已经下载完毕,位于domSavePath文件夹下. //选择的Google瓦块的行列号范围 int row1, col1, row2, col2; ; row1 = topLeft.Row; col1 = topLeft.Col; row2 = bottomRight.Row; col2 =…
我用的是QT5的QFile类实现的…
driver = ogr.GetDriverByName('ESRI Shapefile')datasource = driver.Open(shpFileName, 1)layer = datasource.GetLayer()for feature in layer: dataValue = numArray[j][i] feature.SetField(field, dataValue) layer.SetFeature(feature)layer.ResetReading()…
转载请注明原文地址:https://www.cnblogs.com/litou/p/15035790.html 本文为<C#中使用GDAL3>的第二篇,总目录地址:https://www.cnblogs.com/litou/p/15004877.html 本目录 一.介绍 二.读写数据内容 三.中文乱码问题 3.1.数据路径或数据文件名含中文时打开失败 3.2.读取中文字符串显示乱码 3.3.函数传入中文字符串参数报错 一.介绍 Shape文件是ESRI公司开发的一种空间数据开放格式,全称是E…
Gdal是用来读写栅格与矢量数据的,在Gdal官网,可以下载相关的资源进行平台的编译.其实Arcgis底层也是用Gdal来读取shp文件的,那在Android中可以直接读写shp文件吗,是可以的.这里已经有人编译了Android端的so ,下载地址.也可以自己尝试编译相关so. 新建项目,将下载的so 与相关资源导入,相关目录结构如下: 注意gdal的相关包名不要修改,避免so读取不到相应的类. 简单写个shp,注意导包,要导入org.gdal下面相关的类: private void write…
读写影像可以说是图像处理最基础的一步.关于使用GDAL读写影像,平时也在网上查了很多资料,就想结合自己的使用心得,做做简单的总结. 在这里写一个例子:裁剪lena图像的某部分内容,将其放入到新创建的.tif文.以此来说明GDAL读写影像的具体实现. 1.打开图像 用GDAL打开lena.bmp,实现如下.注意这里打开图像,指的是获取图像的头文件,以此得到图像的一些信息,没有涉及到读取像素操作. GDALAllRegister(); //GDAL所有操作都需要先注册格式 CPLSetConfigO…