// 需要先引入gdal.jar架包,同时把文件夹下的dll文件放在项目的根目录。(亲测32位的有效)

// 文件地址 :  http://pan.baidu.com/s/1mhAoqvQ

public String readSHP(String path,String addvcd) {
  // 注册所有的驱动
  ogr.RegisterAll();
  // 为了支持中文路径,请添加下面这句代码
  gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8","YES");
  // 为了使属性表字段支持中文,请添加下面这句 (默认的好像是gbk格式的。utf-8用下面的那行代码)
  gdal.SetConfigOption("SHAPE_ENCODING","");

  //gdal.SetConfigOption("SHAPE_ENCODING","CP936");

  String strVectorFile = path;
  //打开数据
  //在读取shp文件时需要将对应的shx文件放在同一目录下,否则会出错
  DataSource ds = ogr.Open(strVectorFile,0);
  //DataSource ds = ogr.Open(strVectorFile);
  if(ds == null) {
    System.out.println("未找到文件!");
    return null;
  }

  Driver dv = ogr.GetDriverByName("GeoJSON");
  if (dv == null)
  {
    System.out.println("打开驱动失败!" );
    return null;
  }

  // 获取编译后的路径
  String url = "D:\\node.json";

  // 判断文件中是否已存在该json文件,有则删除. 
  File file = new File(url);
  if (file.exists()) {
    file.delete();
  } else {
    System.out.println("文件不存在");
  }

  // 把shp格式转为json格式后,生成json文件
  dv.CopyDataSource(ds, url);

  // 根据需求,我这里是直接返回生成的路径就行。如果是要返回json文件的内容,则需要打开下面这些代码,修改返回值 sresult 
  // 解析json,拼接json内容

  /*String sresult = "";
  try {
    BufferedReader br = new BufferedReader(new FileReader("D:\\node.json")); // 读取原始json文件
  try {
  String valueString = null;
  while ((valueString=br.readLine()) != null){ // 循环拼接json文本内容
    sresult = sresult + valueString;
  }
  } catch (IOException e) {
    e.printStackTrace();
  }
  } catch (FileNotFoundException e) {
    e.printStackTrace();
  }*/

  return url;
}

转载于:https://www.cnblogs.com/Lose-word/p/7238125.html

shp文件的解析方法相关推荐

  1. Excel xls 转GIS shp文件及投影方法

    1.excel/csv转shp文件 1.1表格预处理 打开风场点坐标表WT.xlsx,检查是否有X.Y列名,若无,添加一行.保存退出. 1.2打开Arcgis,新建一个空白地图BlankMap. 1. ...

  2. JVM-class文件完全解析-方法表集合

    方法表集合 前面的魔数,次版本号,主板本号,常量池入口,常量池,访问标志,类索引,父类索引,接口索引集合,字段表集合,那么再接下来就是方法表了.   方法表的构造如同字段表一样,依次包括了访问标志(a ...

  3. python使用gdal将shp文件转为TIF

    python使用gdal将shp文件转为TIF 方法一 # 缺少获取shp文件坐标系的步骤 def vector2raster(inputfilePath, outputfile, resp):sf ...

  4. shp文件纯前端的上传、解析、编辑、下载

    本文主要讲述一种体量较小的shp文件纯前端的上传.解析.编辑.下载的技术流程,适用于要素量少的shp文件修改操作. 准备工作 下载一下几个包,详细用法请见结尾参考. npm install file- ...

  5. GeoJson的生成与解析,JSON解析,Java读写geojson,geotools读取shp文件,Geotools中Geometry对象与GeoJson的相互转换

    GeoJson的生成与解析 一.wkt格式的geometry转成json格式 二.json格式转wkt格式 三.json格式的数据进行解析 四.Java读写geojson 五.geotools读取sh ...

  6. XML解析文件出错解决方法

    XML解析文件出错解决方法 参考文章: (1)XML解析文件出错解决方法 (2)https://www.cnblogs.com/freshman0216/archive/2013/02/28/2937 ...

  7. html中加载shp文件,运用shapefile.js解析Shp文件

    shapefile.open("http://localhost:8181/shp/zd.shp") .then(source => source.read() .then( ...

  8. python 读取文件读出来是什么格式-深入学习python解析并读取PDF文件内容的方法...

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  9. python中读取文件内容-深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

最新文章

  1. 互联网+时代,SAP助力跨境电商全面升级研讨会圆满落幕
  2. SpringBoot+MySql实现一对多再多对多的数据库的设计以及业务层增删改查的实现
  3. MIUI 10 Android 原生字体,[教程] MIUI10全局字体替换教程,了解一下?
  4. python图片比对、自动化测试,腾讯优图及知脸(ZKface)人脸比对接口测试(python)
  5. 从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数
  6. C++语法:vector的使用
  7. 我拿模型当朋友,模型却想泄漏我的隐私?
  8. unicorn模拟执行学习
  9. QWidget 设置背景图片
  10. 51单片机带闹钟c语言程序,51单片机编写的闹钟程序
  11. 使用HBuilder打包App教程(图文教程)
  12. 【2022春秋杯】两个题wp
  13. ArcGIS Pro数据加载学习总结
  14. 文件13:文件路径-路径文件删改方法
  15. Error: Rule can only have one resource source (provided resource and test + include + exclude) in {.
  16. NMAD-2.14b1安装
  17. linux打包解压命令
  18. 国内免费(开源)CMS系统【大全】
  19. Blender中文场景概念原画创作教程
  20. 【SQLite】SQLite简介

热门文章

  1. 使用elastic job管理调度定时任务
  2. 黑马程序员_银行调度系统学习总结
  3. Lua学习简要(一)
  4. linux系统搭建局域网邮件,Linux局域网邮件服务器搭建
  5. fir.im Weekly - Mobile developer 利器分享 1
  6. oracle会话临时表会造成死锁,Oracle Temporary Tables(Oracle 临时表)
  7. 传统大数据平台的一些常见问题
  8. python实现cnn特征提取_使用PyTorch提取CNNs图像特征
  9. java urlrewrite_Java版URL Rewrite
  10. 中职组网络安全关于体验C模块