Android Arcgis(13)、Gdal简单写个shp文件
来源:互联网 发布:十香cosplay淘宝 编辑:程序博客网 时间:2024/06/10 01:08
Gdal是用来读写栅格与矢量数据的,在Gdal官网,可以下载相关的资源进行平台的编译。其实Arcgis底层也是用Gdal来读取shp文件的,那在Android中可以直接读写shp文件吗,是可以的。这里已经有人编译了Android端的so ,下载地址。也可以自己尝试编译相关so。
新建项目,将下载的so 与相关资源导入,相关目录结构如下:
注意gdal的相关包名不要修改,避免so读取不到相应的类。
简单写个shp,注意导包,要导入org.gdal下面相关的类:
private void writeShp() throws UnsupportedEncodingException { //存放路径 String shpPath = basePath + "/my_line.shp"; ogr.RegisterAll(); gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "NO"); // 不支持中文 gdal.SetConfigOption("SHAPE_ENCODING", ""); String strDriverName = "ESRI Shapefile"; org.gdal.ogr.Driver oDriver = ogr.GetDriverByName(strDriverName); if (oDriver == null) { System.out.println(" 驱动不可用!\n"); return; } // 创建数据源 DataSource oDS = oDriver.CreateDataSource(shpPath, null); if (oDS == null) { return; } // 创建一个84坐标系的图层 org.gdal.osr.SpatialReference sap = new org.gdal.osr.SpatialReference(); sap.SetWellKnownGeogCS("WGS84"); Layer oLayer = oDS .CreateLayer("TestPolygon", sap, ogr.wkbPolygon, null); if (oLayer == null) { System.out.println("图层创建失败!\n"); return; } // 下面创建属性表 // 先创建一个叫FieldID的整型属性 FieldDefn oFieldID = new FieldDefn("ID", ogr.OFTInteger); oLayer.CreateField(oFieldID, 1); // 再创建一个叫FeatureName的字符型属性,字符长度为50 FieldDefn oFieldName = new FieldDefn("name", ogr.OFTString); oFieldName.SetWidth(100); oLayer.CreateField(oFieldName, 1); FeatureDefn oDefn = oLayer.GetLayerDefn(); // 创建要素 Feature oFeatureTriangle = new Feature(oDefn); oFeatureTriangle.SetField(0, 0); oFeatureTriangle.SetField(1, "test"); Geometry geomTriangle = Geometry .CreateFromWkt("POLYGON ((112 45,112 30,140 30))"); oFeatureTriangle.SetGeometry(geomTriangle); oLayer.CreateFeature(oFeatureTriangle); //同步到文件中,一定要写 oLayer.SyncToDisk(); }
用Arcgis MapView加载shp文件效果:
Gdal Java相关Api
注:1.上面Gdal对中文不支持,读写都乱码!暂时没有找到解决方法。
2.此Gdal只能对已经存在的shp文件添加要素,删除、更新无效。
阅读全文
0 0
- Android Arcgis(13)、Gdal简单写个shp文件
- 用matlab写Arcgis的shp文件
- GDAL读写shp文件
- C# Gdal 读取SHP文件
- ArcGis for Android shp
- C#、C++用GDAL读shp文件
- GDAL-OGR对shp文件的操作
- node-gdal实践-创建shp文件
- C#中Gdal读取SHP文件
- C#中Gdal读取SHP文件
- C#、C++用GDAL读shp文件
- GDAL读取shp文件VS2015+GDAL2.1
- GDAL矢量(.shp)文件读写与创建
- Arcgis engnie 创建SHP文件
- shp文件坐标系转换-Arcgis
- arcgis engine读取.shp文件
- android 平台下通过GDAL创建SHP(ShapeFile)文件至SD卡
- 读、写、copy shp文件
- 1003 最大连续子序列
- CF825E:Minimal Labels(拓扑排序)
- HDU— 5968 异或密码
- android 服务
- HDU-2064-汉诺塔III
- Android Arcgis(13)、Gdal简单写个shp文件
- Jdbc事务笔记
- torch mac openmp
- 爬虫中的'伪装者'--header
- 初学者的linux
- 封装函数代码
- MySQL入门之select、from、join、where子句及基本匹配符
- Flag破灭
- UVA 12657 Boxes in a Line(双向链表)