C#、C++用GDAL读shp文件(转载)】的更多相关文章

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…
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…
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()…
前言 一个多月没有写博客了,今天尝试着动笔写点. 原因很多,最重要的原因是我转行了.是的,我离开了开发岗位,走向了开发的天敌-产品经理.虽然名义上是产品经理,但是干的事情也很杂,除了不写代码,其他的都干,经常还要加个小班,所以就没那么多时间研究技术上的东西,机械键盘上已经落下了一层薄薄的灰尘.但是自己确实又爱码农这一行,上班看着同事畅快的敲着代码,心里就有点痒,所以下班没事仍旧自己瞎捉摸,这不就总结出来今天这篇文章. 关于产品经理和研发的关系我还真得多说一句,虽然二者是天敌,但是一个懂研发的产品…
博客背景和目的 最近在用C++写一个底层的东西,需要读取和创建shp文件.虽然接触shp文件已经几年了,但是对于shp文件内到底包含什么东西一直是一知半解.以前使用shp文件都是利用软件(如ArcGIS)直接打开,保存:创建文件则需要专门利用ArcToolBox等创建图形. 网上有现成的有关shp文件的库,如GDAL等,可以结合这些库来读写shp文件.但是由于编程环境问题.库的版本.编译.引用等等问题,在现有情况下无法正常使用,加之使用现有的库不能让我从底层完全了解shp文件的组织方式,遂决心一…
工具:vs2012+GDAL 2.0 包含头文件: #include "ogrsf_frmts.h" int main() { const char *pszDriverName = "ESRI Shapefile"; GDALDriver *poDriver; GDALAllRegister(); poDriver = GetGDALDriverManager()->GetDriverByName(pszDriverName ); if( poDriver…
工具:vs2012+GDAL 2.0 数据:中国省界SHP文件bou2_4p.shp   可点击下载 包含头文件: #include "ogrsf_frmts.h" 代码: int main(){ GDALAllRegister(); GDALDataset *poDS; CPLSetConfigOption("SHAPE_ENCODING",""); //解决中文乱码问题 //读取shp文件 poDS = (GDALDataset*) GDAL…
Gdal是用来读写栅格与矢量数据的,在Gdal官网,可以下载相关的资源进行平台的编译.其实Arcgis底层也是用Gdal来读取shp文件的,那在Android中可以直接读写shp文件吗,是可以的.这里已经有人编译了Android端的so ,下载地址.也可以自己尝试编译相关so. 新建项目,将下载的so 与相关资源导入,相关目录结构如下: 注意gdal的相关包名不要修改,避免so读取不到相应的类. 简单写个shp,注意导包,要导入org.gdal下面相关的类: private void write…
1.各数据类型及其字节数 BYTE 1;       char 1;    short 2;      int 4;    double 8; 2.位序big和little及其转换 对于位序是big的数据我们在读取时要小心.通常,数据的位序都是Little,但在有些情况下可能会是big,二者的区别在于它们位序的顺序相反.一个位序为big的数据,如果我们想得到它的真实数值,需要将它的位序转换成Little即可.转换原理就是交换字节顺序,下面是转换代码(big->little): int OnCha…