当前位置: 首页 > news >正文

Java shp 转 GeoJson

文章目录

  • 1. 依赖安装
    • 1.1 配置软件源
    • 1.2 引入依赖
  • 2. 功能实现
  • 3. 参考链接

1. 依赖安装

1.1 配置软件源

在项目 pom.xml 添加,
maven 的 settings.xml 配置的源,mirrorOf 不能是 *,不然安装不上

<project>...<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></repositories>
</project>

1.2 引入依赖

geotools 29及以上的版本需要 jdk 11

<project>
...<properties>...<geotools.version>28.5</geotools.version></properties><dependencies>...<dependency><groupId>org.geotools</groupId><artifactId>gt-shapefile</artifactId><version>${geotools.version}</version></dependency><dependency><groupId>org.geotools</groupId><artifactId>gt-geojson</artifactId><version>${geotools.version}</version></dependency></dependencies>
</project>

2. 功能实现

// 新版本 FeatureSource 的包路径有变化,根据IDE提示导入即可
import org.geotools.data.FeatureSource;
import org.geotools.data.shapefile.ShapefileDataStore;
import org.geotools.geojson.feature.FeatureJSON;import java.io.File;
import java.io.IOException;
import java.io.StringWriter;
import java.nio.charset.Charset;public class GeoTools {/**** @param shpFile .shp 文件路径* @return* @throws IOException*/public static String shpToJsonString(String shpFile) throws IOException {ShapefileDataStore dataStore = new ShapefileDataStore(new File(shpFile).toURI().toURL());// 处理中文乱码dataStore.setCharset(Charset.forName("GBK"));FeatureSource featureSource = dataStore.getFeatureSource();FeatureJSON featureJSON = new FeatureJSON();String result = null;try (StringWriter writer = new StringWriter()) {featureJSON.writeFeatureCollection(featureSource.getFeatures(), writer);result = writer.toString();}return result;}
}

3. 参考链接

  • Re: [Geotools-gt2-users] Shapefile to GeoJson
  • GeoTools读取shp文件中文乱码解决方案汇总

相关文章:

Java shp 转 GeoJson

文章目录 1. 依赖安装1.1 配置软件源1.2 引入依赖 2. 功能实现3. 参考链接 1. 依赖安装 1.1 配置软件源 在项目 pom.xml 添加, maven 的 settings.xml 配置的源&#xff0c;mirrorOf 不能是 *,不然安装不上 <project>...<repositories><repository><id…...

shadow复习之planar shadow

planar shadow 通常来说 shadow都是画一个map 这个map有个很大的问题&#xff0c;那就是size有问题 你希望有很高的精度&#xff0c;就必定要用大size的图片&#xff0c;这显然是不太妙的 那么这里就出现一个取巧的法子&#xff0c;如果你只考虑投影到平面上&#xff0c;光源是…...

计算机视觉的应用17-利用CrowdCountNet模型解决人群数量计算问题(pytorch搭建模型)

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用17-利用CrowdCountNet模型解决人群数量计算问题(pytorch搭建模型)。本篇文章&#xff0c;我将向大家展示如何使用CrowdCountNet这个神奇的工具&#xff0c;以及它是如何利用深度学习技术来解决复杂…...

源启容器平台KubeGien 打造云原生转型的破浪之舰

云原生是应用上云的标准路径&#xff0c;也是未来发展大的趋势。如何将业务平滑过渡到云上&#xff1f;怎样应对上云期间的各项挑战呢&#xff1f;中电金信基于金融级数字底座“源启”打造了一款非常稳定可靠、多云异构、安全可控、开放灵活的容器平台产品——源启容器平台Kube…...

斯坦福机器学习 Lecture2 (假设函数、参数、样本等等术语,还有批量梯度下降法、随机梯度下降法 SGD 以及它们的相关推导,还有正态方程)

假设函数定义 假设函数&#xff0c;猜一个 x->y 的类型&#xff0c;比如 y ax b&#xff0c;随后监督学习的任务就是找到误差最低的 a 和 b 参数 有时候我们可以定义 x0 1&#xff0c;来让假设函数的整个表达式一致统一 如上图是机器学习中的一些术语 额外的符号&#xf…...

【腾讯云云上实验室-向量数据库】TAI时代的数据枢纽-向量数据库 VectorDB

一、向量数据库的发展历程和时代机遇 回顾向量数据库的发展历程&#xff1a; 2012年开始&#xff0c;深度神经网络的发展催生了向量数据库的发展&#xff1b;2015年至2016年&#xff0c;Google和微软发布了标志性的论文&#xff1b;2017年&#xff0c;Facebook开源了Faiss框架…...

掌握深度学习利器——TensorFlow 2.x实战应用与进阶

掌握深度学习利器——TensorFlow 2.x实战应用与进阶 摘要&#xff1a;随着人工智能技术的飞速发展&#xff0c;深度学习已成为当下最热门的领域之一。作为深度学习领域的重要工具&#xff0c;TensorFlow 2.x 备受关注。本文将通过介绍TensorFlow 2.x的基本概念和特性&#xff…...

MySQL 之多版本并发控制 MVCC

MySQL 之多版本并发控制 MVCC 1、MVCC 中的两种读取方式1.1、快照读1.2、当前读 2、MVCC实现原理之 ReadView2.1、隐藏字段2.2、ReadView2.3、读已提交和可重复读隔离级别下&#xff0c;产生 ReadView 时机的区别 3、MVCC 解决幻读4、总结 MVCC&#xff08;多版本并发控制&…...

优步让一切人工智能化

优步(Uber)的商业模式建立在对数据的颠覆性使用上--通过将双方智能手机的位置数据关联起来&#xff0c;将出租车司机与乘客配对。这意味着&#xff0c;它可以比传统出租车公司更快地安排司机去接乘客&#xff0c;极大地冲击了传统出租车公司的业务。 优步自成立以来&#xff0…...

DeepMind发布新模型Mirasol3B:更高效处理音频、视频数据

Google DeepMind日前悄然宣布了其人工智能研究的重大进展&#xff0c;推出了一款名为“Mirasol3B”的新型自回归模型&#xff0c;旨在提升对长视频输入的理解能力。该新模型展示了一种颠覆性的多模态学习方法&#xff0c;以更综合和高效的方式处理音频、视频和文本数据。 Googl…...

键盘方向键移动当前选中的table单元格,并可以输入内容

有类似于这样的表格&#xff0c;用的<table>标签。原本要在单元格的文本框里面输入内容&#xff0c;需要用鼠标一个一个去点以获取焦点&#xff0c;现在需要不用鼠标选中&#xff0c;直接用键盘的上下左右来移动当前正在输入的单元格文本框。 const currentCell React.u…...

(八)、基于 LangChain 实现大模型应用程序开发 | 基于知识库的个性化问答 (检索 Retrieval)

检索增强生成&#xff08;RAG&#xff09;的整体工作流程如下&#xff1a; 在构建检索增强生成 (RAG) 系统时&#xff0c;信息检索是核心环节。检索是指根据用户的问题去向量数据库中搜索与问题相关的文档内容&#xff0c;当我们访问和查询向量数据库时可能会运用到如下几种技术…...

高效案例检索工具,Alpha案例库智慧检索成为律师检索工具首选

“工欲善其事&#xff0c;必先利其器。”当今&#xff0c;律界同仁需要权衡的问题早已不是“要不要”使用法律科技&#xff0c;而是如何高质量、高效率地使用法律科技工具。在业内人士看来&#xff0c;随着人工智能技术的不断发展&#xff0c;法律行业科技化将成为不可逆转的趋…...

stable diffusion十七种controlnet详细使用方法总结

个人网站&#xff1a;https://tianfeng.space 前言 最近不知道发点什么&#xff0c;做个controlnet 使用方法总结好了&#xff0c;如果你们对所有controlnet用法&#xff0c;可能了解但是有点模糊&#xff0c;希望能对你们有用。 一、SD controlnet 我统一下其他参数&#…...

【机器学习基础】对数几率回归(logistic回归)

&#x1f680;个人主页&#xff1a;为梦而生~ 关注我一起学习吧&#xff01; &#x1f4a1;专栏&#xff1a;机器学习 欢迎订阅&#xff01;后面的内容会越来越有意思~ &#x1f4a1;往期推荐&#xff1a; 【机器学习基础】机器学习入门&#xff08;1&#xff09; 【机器学习基…...

团结引擎已全面支持 OpenHarmony 操作系统

Unity 中国宣布与开放原子开源基金会达成平台级战略合作。 据称团结引擎已全面支持 OpenHarmony 操作系统&#xff0c;同时将为 OpenHarmony 生态快速带来更多高品质游戏与实时 3D 内容。Unity 称现在用户可以 “在 OpenHarmony 框架中感受到与安卓和 iOS 同样丝滑的游戏体验”…...

【brpc学习案例实践一】rpc服务构造基本流程

前言 在crpc框架中&#xff0c;brpc简直越用越爽&#xff0c;平时工作中也常用到brpc&#xff0c;一直没来得及总结&#xff0c;抽空写点&#xff0c;也供自己查阅用。下附几个常用学习地址&#xff1a; brpc官网开源地址&#xff1a; https://github.com/luozesong/brpc/blob…...

Redis数据的持久化

Redis的持久化有两种方式&#xff1a; RDB&#xff08;Redis Database&#xff09;和AOF&#xff08;Append Only File&#xff09; 目录 一、RDB 保存方式 2、rdb在redis.conf文件中的配置 二、AOF 1、保存方式 2、aof方式持久化在redis.conf文件中的配置 三、持久化建…...

uniapp App 端 版本更新检测

function checkVersion() { var req { //升级检测数据 appid: plus.runtime.appid, version: plus.runtime.version }; const timestamp Date.parse(new Date()); config.server.query_news uni.reque…...

python用最小二乘法实现平面拟合

文章目录 数学原理代码实现测试 数学原理 平面方程可写为 A x B y C z D 0 AxByCzD0 AxByCzD0 假设 C C C不为0&#xff0c;则上式可以改写为 z a x b y d zaxbyd zaxbyd 则现有一组点 { p i } \{p_i\} {pi​}&#xff0c;则根据 x i , y i x_i,y_i xi​,yi​以及平面…...

如何轻松获取网页媒体资源?猫抓开源工具让资源提取效率提升3倍

如何轻松获取网页媒体资源&#xff1f;猫抓开源工具让资源提取效率提升3倍 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾在浏览网页时遇…...

Neosegment库:面向七段数码管式NeoPixel的嵌入式驱动框架

1. Neosegment库概述&#xff1a;面向七段数码管式NeoPixel模块的嵌入式驱动框架Neosegment是一个专为Neosegment Digit模块设计的Arduino兼容嵌入式驱动库&#xff0c;其核心目标是将WS281x/SK6812系列智能LED的底层时序控制与七段数码管&#xff08;7-segment display&#x…...

3分钟搞定Windows软件安装难题:winget-install终极解决方案

3分钟搞定Windows软件安装难题&#xff1a;winget-install终极解决方案 【免费下载链接】winget-install Install WinGet using PowerShell! Prerequisites automatically installed. Works on Windows 10/11 and Server 2019/2022. 项目地址: https://gitcode.com/gh_mirror…...

IP-Adapter-FaceID在社交媒体中的应用:内容创作与分享

IP-Adapter-FaceID在社交媒体中的应用&#xff1a;内容创作与分享 【免费下载链接】IP-Adapter-FaceID 项目地址: https://ai.gitcode.com/hf_mirrors/h94/IP-Adapter-FaceID IP-Adapter-FaceID是一款基于Stable Diffusion的AI人脸生成工具&#xff0c;它通过面部识别模…...

千问3.5-27B知识库应用:OpenClaw变身技术问答助手

千问3.5-27B知识库应用&#xff1a;OpenClaw变身技术问答助手 1. 为什么需要本地化技术问答助手&#xff1f; 去年我在开发一个开源项目时&#xff0c;遇到了一个奇怪的Docker网络问题。当时在Stack Overflow上搜索了半天&#xff0c;找到的答案要么过时&#xff0c;要么不适…...

别再手动标图了!用CVAT和YOLOv5搭建半自动标注流水线(保姆级避坑指南)

从零构建CVATYOLOv5半自动标注系统&#xff1a;工程化实践与效率革命 标注数据是AI开发中最耗时却无法绕过的环节。我曾为一个客户项目标注3万张工业零件图像&#xff0c;团队3人整整耗费两周——直到发现CVAT与训练好的YOLOv5模型结合&#xff0c;能将效率提升400%。本文将分…...

PingFangSC字体全面应用指南:从价值解析到性能优化的实践方案

PingFangSC字体全面应用指南&#xff1a;从价值解析到性能优化的实践方案 【免费下载链接】PingFangSC PingFangSC字体包文件、苹果平方字体文件&#xff0c;包含ttf和woff2格式 项目地址: https://gitcode.com/gh_mirrors/pi/PingFangSC 价值定位&#xff1a;为什么Pin…...

ThingsBoard源码本地部署实战:从环境准备到成功启动的避坑指南

1. 环境准备&#xff1a;打好地基才能盖高楼 第一次在本地部署ThingsBoard源码时&#xff0c;我像大多数开发者一样直接clone代码就往IDE里导&#xff0c;结果被各种依赖问题折腾得够呛。后来才发现&#xff0c;源码部署就像装修房子&#xff0c;水电改造&#xff08;环境配置&…...

Windows平台用CMake+VS2019编译NLopt的完整流程(附环境变量配置)

Windows平台用CMakeVS2019编译NLopt的完整流程&#xff08;附环境变量配置&#xff09; 在科学计算和优化算法开发领域&#xff0c;NLopt作为一个功能强大的开源库&#xff0c;提供了多种非线性优化算法的实现。对于Windows平台的C开发者而言&#xff0c;掌握从源码构建NLopt的…...

量子机器学习在医疗影像中的技术迷思与测试验证陷阱

当量子计算遭遇医学影像近年来&#xff0c;"量子赋能医疗影像"成为热门概念&#xff0c;宣称通过量子算法&#xff08;如QSVM、量子卷积&#xff09;可大幅提升病灶识别精度和图像重建效率。然而&#xff0c;作为软件测试从业者&#xff0c;我们需警惕技术炒作背后的…...