一、配置maven settings.xml 文件

mirrorOf 不能设置为*

<mirrors><!-- 阿里云镜像 --><mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror>
</mirrors>

二、设置GeoTools仓库来源

在pom文件中加入:

<repositories><repository><id>osgeo</id><name>OSGeo Release Repository</name><url>https://repo.osgeo.org/repository/release/</url><snapshots><enabled>false</enabled></snapshots><releases><enabled>true</enabled></releases></repository><repository><id>osgeo-snapshot</id><name>OSGeo Snapshot Repository</name><url>https://repo.osgeo.org/repository/snapshot/</url><snapshots><enabled>true</enabled></snapshots><releases><enabled>false</enabled></releases></repository>      <repository><id>opengeo</id><name>OpenGeo Maven Repository</name><url>http://repo.opengeo.org</url><snapshots><enabled>true</enabled></snapshots></repository>
</repositories>

三、在pom中引入GeoTools相关jar包

    <properties><geotools.version>19.0</geotools.version></properties><!--以下内容 放在dependencys 标签内部--><dependencies><!--geotools GIS开发包--><dependency><groupId>org.geotools</groupId><artifactId>gt-shapefile</artifactId><version>${geotools.version}</version></dependency><dependency><groupId>org.geotools</groupId><artifactId>gt-opengis</artifactId><version>${geotools.version}</version></dependency><dependency><groupId>org.geotools</groupId><artifactId>gt-data</artifactId><version>${geotools.version}</version></dependency><dependency><groupId>org.geotools</groupId><artifactId>gt-api</artifactId><version>${geotools.version}</version></dependency><dependency><groupId>org.geotools</groupId><artifactId>gt-main</artifactId><version>${geotools.version}</version></dependency><dependency><groupId>org.geotools</groupId><artifactId>gt-metadata</artifactId><version>${geotools.version}</version></dependency><dependency><groupId>org.geotools</groupId><artifactId>gt-referencing</artifactId><version>${geotools.version}</version></dependency><dependency><groupId>org.geotools</groupId><artifactId>gt-geojson</artifactId><version>${geotools.version}</version></dependency></dependencies>

四、java中创建一个转换类

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.geotools.data.shapefile.ShapefileDataStore;
import org.geotools.data.simple.SimpleFeatureIterator;
import org.geotools.data.simple.SimpleFeatureSource;
import org.geotools.geojson.feature.FeatureJSON;
import org.opengis.feature.simple.SimpleFeature;import java.io.*;
import java.net.MalformedURLException;
import java.nio.charset.Charset;public class ShpToJson{/*** 方法一** @author molei* @date 2021/11/26 14:53*/public static void shp2json() throws MalformedURLException {StringBuffer sb = new StringBuffer();sb.append("{\"type\":\"GeometryCollection\", \"geometries\": ");FeatureJSON fJson = new FeatureJSON();String shpPath = "E:\\gzsx14.shp";File file = new File(shpPath);JSONArray array = new JSONArray();JSONObject json = new JSONObject();try {ShapefileDataStore store = new ShapefileDataStore(file.toURI().toURL());//设置编码store.setCharset(Charset.forName("GBK"));//文件名称String typeName = store.getTypeNames()[0];SimpleFeatureSource featureSource = store.getFeatureSource(typeName);SimpleFeatureIterator iterator = featureSource.getFeatures().features();while (iterator.hasNext()) {SimpleFeature feature = iterator.next();StringWriter writer = new StringWriter();fJson.writeFeature(feature, writer);json = JSONObject.parseObject(writer.toString());//使用jsonArray可以把所有数据转成一条;不使用,array.add(json);}iterator.close();sb.append(array.toJSONString());sb.append("}");} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}WriteStringToFile(sb.toString());System.out.println(sb.toString());}/*** 保存数据** @author molei* @date 2021/11/26 14:32*/public static void WriteStringToFile(String string) {String filePath = "E:\\gzsx14.geojson";try {File file = new File(filePath);PrintStream ps = new PrintStream(new FileOutputStream(file));ps.append(string);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

shp文件转json相关推荐

  1. gdal java shp_【GDAL/OGR】利用GDAL/OGR读取shp文件并转换为json文件(Java版)

    前言: 对于GIS开发者来说,GDAL/OGR是最熟悉不过的开源GIS库了,GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间 ...

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

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

  3. node.js转换shp文件数据的坐标系

    接上文:IDEA中配置运行node.js 本文使用两个js开源库完成对shp文件的坐标系转换(支持GCJ-02,WGS84等大多数主流坐标系) 一.安装所需的npm包 1.读写shp文件的js库gda ...

  4. Cesium加载GeoJson数据(shp转化的json数据)

    1.shp转换成json格式 此处整理了两种shp转为json格式的方式:一是使用工具:二是使用ArcGIS进行转换. 1.1.ArcGIS转换 1.使用ArcGIS将shp文件的地理坐标设置为WGS ...

  5. 全国地图的shp文件

    一.下载地图的json文件 推荐网址http://datav.aliyun.com/tools/atlas/index.html 在选择某省的地图时,将鼠标移至该省后进入 在右上方,包含子区域选项,打 ...

  6. shp文件的解析方法

    // 需要先引入gdal.jar架包,同时把文件夹下的dll文件放在项目的根目录.(亲测32位的有效) // 文件地址 :  http://pan.baidu.com/s/1mhAoqvQ publi ...

  7. 在线获取中国境内省市县shp文件的方法

    STEP 01. 阿里云可视化官网获取json数据 DataV.GeoAtlas地理小工具系列 (aliyun.com)http://datav.aliyun.com/portal/school/at ...

  8. 学习路之gis--如何获取中国地图的shp文件(含省级

    1.下载地图json文件 网址:DataV.GeoAtlas地理小工具系列 http://datav.aliyun.com/tools/atlas/index.html 2.点击下载文件 也可以用ge ...

  9. shp转化为json

    项目中需要把arcgis中的线图层展示在百度地图上,于是将shp文件转化为json,再使用百度地图api在地图上画折线 在将shp转化为json时,发现一个在线转化网站https://mygeodat ...

  10. 使用NetTopologySuite将shp文件转为GeoJson格式

    使用NetTopologySuite将shp文件转为GeoJson格式 需要引入的库(NetTopologySuite可从Nuget中下载): using NetTopologySuite.Featu ...

最新文章

  1. 宇通客车java_6米采血车
  2. 昆仑网(D×××)去中心化虚拟互联网基础功能图片式介绍,请全屏看。
  3. Django中的Cookie--实现登录
  4. [云炬创业基础笔记]第一章创业环境测试1
  5. 【Python】Modin,只需一行代码加速你的Pandas
  6. 安装DelayExchange插件
  7. leetcode 383 赎金信 C++
  8. WPF快速指导2:模板
  9. Shell离线脚本安装mysql、更新密码
  10. python读取cad图纸_DWG文件信息的读取
  11. LeetCode(867)——转置矩阵(JavaScript)
  12. 属于哪个单元_1~6年级上册数学第一单元知识整理
  13. javascript——js string 转 int 注意的问题——parseInt(转)
  14. 20191216每日一句
  15. Navicat for MySQ中文破解版(无需激活码)
  16. 安装C4D步骤 附加一大波C4D序列号
  17. 动漫系列美化XP主题风暴下载
  18. 用技术入股解决互联网创业技术问题,这事儿靠谱吗?
  19. 研究日记:虚拟歌姬自动调教之歌曲音频切割的问题
  20. android 连接不上手机,安卓手机连接不上电脑怎么办

热门文章

  1. 猿创征文|[CM311-1A Armbian]-烧录制作 Armbian 系统盘以及写入 CM311-1A 机顶盒的 EMMC 刷成服务器
  2. 微计算机最常用的输入法,输入无极限 最常用五款拼音输入法横评
  3. Java学习笔记之StringBuilder类
  4. dreamweaver网页设计作业制作 学生个人网页单页 WEB静态网页作业模板 大学生个人主页博客网页代码 dw个人网页作业成品简单页面
  5. Ubuntu安装五笔输入法
  6. 使用u盘安装linux操作系统原理
  7. 前端优化 - 提高 Web 性能的 9 个技巧
  8. JavaWeb:(练习)十二、简单的学生管理系统
  9. Word如何自动多级编号
  10. 项目管理软件浮出水面(转)