我是使用gdal来读取shp的,使用gdal需要到相关的文件到项目中,主要是:

下面是正式代码:

//指定文件的名字和路径String strVectorFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/data/cs/ky.shp";//注册驱动ogr.RegisterAll();// 为了支持中文路径,请添加下面这句代码gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");// 为了使属性表字段支持中文,请添加下面这句gdal.SetConfigOption("SHAPE_ENCODING", "CP936");//读取数据,这里以ESRI的shp文件为例String strDriverName = "ESRI Shapefile";//创建一个文件,根据strDriverName扩展名自动判断驱动类型Driver oDriver = ogr.GetDriverByName(strDriverName);if (oDriver == null) {System.out.println(strDriverName + " 驱动不可用!\n");return;}DataSource dataSource = oDriver.Open(strVectorFile, 1);File file = new File(strVectorFile.trim());String name = file.getName();String[] strings = name.split("\\.");Layer layer = dataSource.GetLayer(strings[0]);String layerName = layer.GetName();System.out.println("图层名称:" + layerName);SpatialReference spatialReference = layer.GetSpatialRef();System.out.println("空间参考坐标系:" + spatialReference.GetAttrValue("AUTHORITY", 0) + spatialReference.GetAttrValue("AUTHORITY", 1));double[] layerExtent = layer.GetExtent();System.out.println("图层范围:minx:" + layerExtent[0] + ",maxx:" + layerExtent[1] + ",miny:" + layerExtent[2] + ",maxy:" + layerExtent[3]);FeatureDefn featureDefn = layer.GetLayerDefn();int fieldCount = featureDefn.GetFieldCount();for (int i = 0; i < fieldCount; i++) {FieldDefn fieldDefn = featureDefn.GetFieldDefn(i);//得到属性字段类型int fieldType = fieldDefn.GetFieldType();String fieldTypeName = fieldDefn.GetFieldTypeName(fieldType);//得到属性字段名称String fieldName = fieldDefn.GetName();fieldMap.put(fieldName, fieldTypeName);}long featureCount = layer.GetFeatureCount();System.out.println("图层要素个数:" + featureCount);}

属性字段为:

Android 读shp属性字段相关推荐

  1. 如何利用ArcGis修改shp数据字段名称

    最近在处理一批地理信息数据,其中涉及到对shp文件属性字段的修改,在这里做个记录,以防大家再走弯路. 工具: Arcgis软件 shp文件 第1步:打开ArcCatalog,选择左上角的链接文件夹,选 ...

  2. GIS数据与CAD数据间带属性字段互相转换还原工具,shp转换成dwg保留属性表字段,解决ArcGIS等软件进行GIS数据转CAD数据无法保留属性字段问题

    目录 一.实现效果 二.shp转dwg工具 1.读取数据 2.数据设置 3.输出数据 4.工具使用 三.dwg转shp工具 1.暴露字段属性,并按字段分隔 2.提取字段信息 3.提取暴露字段 4.输出 ...

  3. GIS数据与CAD数据间带属性字段互相转换还原工具,解决ArcGIS等软件进行GIS数据转CAD数据无法保留属性字段问题

    GIS数据与CAD数据间带属性字段互相转换还原工具,解决ArcGIS等软件进行GIS数据转CAD数据无法保留属性字段问题 当shapefile.mdb.gdb等格式的GIS数据,需要转换成dwg格式数 ...

  4. arcgis10之多属性字段添加

    arcgis使用技巧一览表 1. 缓冲区 2.无背景色的png图片 3.四角边界 4.图层添加注记 5.生成tiff文件 6.将大文件筛选导出小文件 7.将多个栅格数据合并成一个含有多波段的栅格数据 ...

  5. Android 判断手机是32位CPU还是64位CPU android.os.Build类字段含义

    手机cpu分32位与64位,下面介绍如何在所有android版本上判断手机cpu位数是32位还是64位. 1 Android 判断手机是32位CPU还是64位CPU Android从API level ...

  6. android imageview 的常用属性,android imageview scaletype属性

    android imageview scaletype属性并不是很常用,以至于到现在我才注意到,但是在某些应用中,这是一个很重要的属性,比如相册应用. ImageView的Scaletype决定了图片 ...

  7. Android Property Animation属性动画:scale缩放动画(4)

     Android Property Animation属性动画:scale缩放动画(4) 和之前我写的附录文章1,2,3相似,本文将接着使用Android Property Animation属性 ...

  8. Android--应用开发3(Android layout XML属性)

    Android layout XML属性 转载:http://www.cnblogs.com/playing/archive/2011/04/07/2008620.html Layout对于迅速的搭建 ...

  9. android中各属性布局,Android里面各布局的属性定义

    LinearLayout(线性布局) 提供了控件水平垂直排列的模型,同时可以通过设置子控件的weight布局参数控制各个控件在布局中的相对大小. 水平(vertical) 垂直(horizontal) ...

最新文章

  1. oracle12之 多租户容器数据库架构
  2. 【珍藏版】Linux最强总结来啦!
  3. 先庆祝一下,冠军的心博客园诞生了!!
  4. C++内联函数(inline function)
  5. 如何在 C# 中使用 FTP 上传文件
  6. python判断今天周几_Python如何根据日期判断周几
  7. 从零实现Wod2Vec(下)
  8. IDEA如何设置鼠标滚轮调整代码大小
  9. js生成二维码附带logo
  10. 前富士康CEO程天纵:创新来自长尾,创业源于创客!
  11. 交通标志 | 中美两国警告标志异同分析
  12. 汉王手写芯片的触摸屏控制器应用设计
  13. LATTICE FPGA 工具介绍之ACTIVE-HDL 建立工程及仿真步步来(1)
  14. percentile_approx函数
  15. 近年图像翻译先进模型小结
  16. Windows Style Builder一些路径分享-2022.8.21(不定期更新)
  17. Element 中图片预览后如何快速关闭
  18. 利用PP-OCR对街道门牌号进行识别
  19. 测试流程和测试用例设计方法
  20. Redis-简单介绍及基本数据类型【随笔一】

热门文章

  1. Vue学习--Vue项目根目录介绍(1)
  2. python每日一练(2021/11/10)字符串类型的cookie转化为字典类型
  3. Ajax基础知识 · 上
  4. stm32F407讲解目录大纲(库函数)
  5. 如何有效安排工作的内容
  6. HDOJ练习第1000题
  7. linux windows下oen***客户端的用法
  8. 数学,常识和运气:西蒙斯MIT演讲
  9. 3D建模入门看什么书?怎么才能高效有技巧学习
  10. Typora提示The beta version of typora is expired, please download and install a newer version.解决办法