自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 【Geoserver使用】发布postgis表数据

本文介绍了在Geoserver 3(2026版)中发布PostGIS表数据为图层服务的完整流程。首先需要创建数据存储,通过添加PostGIS数据源并配置数据库连接参数;然后选择要发布的表数据,设置图层参数(如坐标系和边界框);最后可通过图层预览功能查看发布结果。文章指出该流程与发布SHP文件类似,并预告后续将介绍通过编程实现自动化发布的方案。

2026-07-21 19:57:03 254

原创 【Geoserver使用】发布shp数据全流程(Geoserver 3版本)

本文介绍了在GeoServer 3(2026年6月发布)中发布SHP数据的完整流程。首先通过Web管理界面添加数据存储,可选择shapefile目录或单个.shp文件,需注意设置正确的字符编码(GBK/UTF-8)以避免中文乱码。创建存储后进入图层发布界面,需计算空间范围并配置属性字段。发布成功后,可编辑图层样式、设置切片缓存,并通过预览功能查看WMS/WMTS服务效果。文章详细说明了从数据准备到服务发布的全过程,特别强调了工作空间隔离、几何类型匹配等关键配置要点

2026-07-20 21:02:22 303

原创 MyBatis-Plus + PostGIS 实战(六 ):基于 GeoTools 的 Shapefile 导入

本文介绍了使用GeoTools将Shapefile导入PostGIS的纯Java解决方案。针对ogr2ogr工具在生产环境中的局限性(依赖GDAL、集成困难、错误处理不足等),提出了基于GeoTools 29.3的技术方案,包含Maven依赖配置、完整可运行的Java工具类代码(支持事务控制、SRID设置和中文编码处理),并详细解析了DataStoreFinder和FeatureWriter等核心API的使用方法。

2026-07-19 12:47:48 940

原创 MyBatis-Plus + PostGIS 实战(五):批量导入与空间数据初始化

直接双击 CSV 用 Excel 打开,可能因系统默认分隔符不是英文逗号,导致整行被识别为一个字段。解决方案:用记事本 / VS Code 创建 CSV,或在 Excel 中通过“数据 → 获取数据 → 从文本/CSV”导入并显式指定逗号分隔符。⚠️ saveBatch 的 batchSize 设太大(如 10000)会内存溢出,设太小(如 100)会频繁提交变慢。很多人写成 lat, lon,但 PostGIS 要的是 lon, lat(即 X, Y)。设太小(如 100)→ 频繁提交,慢。

2026-07-18 10:03:25 215

原创 MyBatis-Plus + PostGIS 实战(四):GeoJSON 序列化与前端地图对接,全局 WKT + 局部 GeoJSON,两种格式优雅共存

格式体积前端解析成本地图组件支持WKT最小需手写 parser✖ 不支持GeoJSON中原生支持全部支持完整 Geometry最大高⚠ 需适配GeoJSON 是Web GIS 的事实标准,前端地图组件可以直接消费,不需要任何转换。

2026-07-17 19:58:32 432

原创 MyBatis-Plus + PostGIS 实战(三):分页查询与性能优化

关闭后,前端拿不到 total,分页组件无法渲染。解决:要么开启(小数据量),要么自定义(推荐)。

2026-07-16 19:05:39 207

原创 MyBatis-Plus + PostGIS 实战(二):空间查询与空间索引

本文介绍了PostGIS中两种常见空间查询的实现方法:矩形范围查询(BBox)和附近POI查询。针对BBox查询,使用ST_Intersects函数判断点是否在矩形范围内;对于距离查询,通过ST_DWithin函数实现,并特别强调Geometry和Geography类型的单位差异(角度vs米)。文章提供了完整的MyBatis Mapper、Service和Controller实现代码,以及接口测试结果。最后讨论了空间索引(GIST)的创建和优化技巧,包括索引验证方法和常见失效原因。

2026-07-15 18:58:14 247

原创 MyBatis-Plus + PostGIS 实战(1.3)Geometry 还是 Geography?—— 建表时怎么选、为什么这么重要

本文对比了PostGIS中geometry和geography两种空间数据类型的区别与应用场景。geometry基于平面投影,适合国内项目,函数丰富且索引性能更优;geography基于球面计算,距离单位天然为米,适用于全球业务但函数支持较少。针对国内项目,推荐存储使用geometry(4326),距离计算时转换为geography,兼顾性能与语义清晰度。类型选择直接影响后续查询写法与性能,需根据业务场景谨慎决策。

2026-07-14 18:50:48 195

原创 MyBatis-Plus + PostGIS 实战(1.2):TypeHandler 的 5 种生效方式(避坑指南)

本文深入剖析了MyBatis-Plus中TypeHandler的生效规则,指出常见的失效场景及解决方案。关键结论包括:1)MP自动CRUD需同时使用@TableField和autoResultMap=true;2)手写SQL必须使用resultMap而非resultType;3)@MappedTypes注册不可靠。文中通过5种生效方式的对比和3个真实踩坑案例,强调TypeHandler只在正确的映射规则下生效,推荐统一采用显式配置(MP自动CRUD+XML resultMap)的实践方案。

2026-07-13 19:25:48 380

原创 MyBatis-Plus + PostGIS 实战(1.1):Geometry 字段在 Swagger 中的优雅展示

fromshare=blogdetail&sharetype=blogdetail&sharerId=162789976&sharerefer=PC&sharesource=weixin_45011889&sharefrom=from_link,我们已经实现了 Geometry 字段的增删改查,TypeHandler 也能正确工作。关键点:只做一件事——Geometry → WKT,不依赖 MyBatis,不依赖 Spring,职责单一。前端地图组件可以直接消费,无需额外转换。有没有更优雅的方式?

2026-07-12 12:37:02 228

原创 MyBatis-Plus + PostGIS 实战一(基础篇)

本文介绍了在Spring Boot 3.5.5项目中集成MyBatis-Plus 3.5.7操作PostGIS空间数据的技术方案。针对PostgreSQL/PostGIS的Geometry字段处理,提供了完整的增删改查流程实现,重点解决了MyBatis-Plus与Spring Boot 3.x的版本兼容性问题。文章详细说明了数据库设计(包含Point类型的空间字段)、项目结构、TypeHandler实现(Geometry与EWKB格式转换)等核心内容

2026-07-11 14:01:15 713

原创 GeoTools 实战(六):栅格数据处理入门 —— GeoTIFF 读取与像素值提取

本文介绍了使用GeoTools处理栅格数据的基本方法,重点讲解了GeoTIFF格式的读取、元信息提取和像素值查询操作。主要内容包括: 栅格数据在GIS中的典型应用场景,如DEM、气象数据、卫星影像等 GeoTools中栅格数据处理的核心类:GridCoverage2D、GeoTiffReader等 必要的Maven依赖配置 完整的可运行示例代码,演示如何: 读取GeoTIFF文件 提取栅格元信息(坐标系、空间范围、像素尺寸和波段数) 查询特定地理坐标的像素值 资源管理注意事项

2026-07-10 14:10:51 194

原创 GeoTools 实战(五):空间运算与叠加分析全解析

本文介绍了GeoTools中四种核心空间分析方法:缓冲区分析(Buffer)、交集分析(Intersection)、并集分析(Union)和差集分析(Difference)。这些方法能将GIS从数据管理提升到业务分析层面,适用于服务半径计算、区域重叠分析、地块合并等实际场景。文章提供了完整的Java代码示例,基于GeoTools 29.3和JTS 1.19.0,可直接运行实现这些空间分析功能,并将结果导出为Shapefile格式。

2026-07-09 19:17:46 343

原创 GeoTools 实战(四):空间查询与 CQL 过滤全解析(查询篇)

本文介绍了如何使用GeoTools进行高效的空间数据查询。主要内容包括: 空间查询的必要性:相比循环遍历,使用CQL/ECQL查询语言可以优化性能,支持范围查询、距离查询、属性过滤和空间关系判断等常见需求。 核心概念:对比了CQL和ECQL的区别,介绍了FilterFactory2 API以及查询的懒加载特性。 技术实现:提供了完整的Java代码示例,包含5种典型查询场景(属性查询、BBOX查询、空间关系查询、距离查询和组合查询

2026-07-08 18:40:56 297

原创 GeoTools 实战(三):彻底搞懂坐标系与投影转换

本文针对GIS开发中常见的坐标系问题,系统讲解了JTS与GeoTools的核心区别。重点包括: JTS仅处理几何坐标,不涉及地理含义 CRS(坐标系参考系统)的关键作用及EPSG代码应用 WGS84(4326)与Web Mercator(3857)的核心区别与适用场景 强制经度优先(forceLongitudeFirst)的实战技巧 提供完整的Maven依赖配置和坐标转换示例代码 演示了WGS84与Web Mercator之间的双向转换及面积计算差异

2026-07-07 18:45:10 375

原创 GeoTools 实战(二):空间数据格式转换全解析——Shp ↔ GeoJSON ↔ WKT(GeoTools 29.3 + JTS 1.19.0 实战版)

本文介绍了GIS开发中四种常见的空间数据格式转换场景,使用GeoTools 29.3和JTS 1.19.0实现。主要内容包括:Shapefile转GeoJSON用于WebGIS前端渲染、GeoJSON转Shapefile的数据入库方案、Geometry与WKT互转用于日志和接口传输,以及Shapefile转WKT的技术实现。重点分析了GeoJSON转Shapefile过程中的三大坑位:动态Schema处理、CRS显式绑定和3D坐标降维,并提供了完整解决方案代码。

2026-07-06 19:03:55 372

原创 GeoTools 入门实战(一):Shapefile 读取与写入全解析

摘要 本文系统介绍了使用GeoTools 29.x库读写Shapefile文件的完整流程。首先介绍了环境配置(Maven依赖)和GeoTools核心概念(DataStore、Feature模型等)。读取部分详细说明了通过DataStoreFinder获取数据、遍历要素的方法,并强调了资源释放与中文编码处理。写入部分则演示了如何定义Schema、创建新文件及写入几何数据(如点要素)。文中提供了完整的代码示例,适合Java开发者快速掌握GeoTools读写shp的关键点

2026-07-05 13:23:54 329

原创 JTS 空间索引实战:基于STRtree的高效范围查询与最近邻搜索

本文介绍了如何在工程实践中结合数据库与JTS STRtree实现高效空间查询的三层架构方案。主要内容包括: 问题定位:指出数据库空间索引的局限性,提出"数据库粗筛+STRtree精算"的解决方案; 技术原理:简要介绍STRtree的空间分组索引结构及其查询优势; 实战实现:提供完整Java代码示例,模拟从数据库查询到内存索引构建的完整流程

2026-07-04 14:50:11 343

原创 JTS 空间运算实战:线 × 线、线 × 面、面 × 面叠加分析

本文介绍了GIS开发中常用的空间叠加运算(Overlay Operations),重点围绕JTS库的核心API进行讲解。主要内容包括: intersection(交集)、union(并集)、difference(差集)、symDifference(对称差)和buffer(缓冲)五种基本操作。 线-线叠加:演示如何计算两条线段的交点和并集。 线-面叠加:展示道路穿越区域分析和线段差集(取外部段)的应用场景。 面-面叠加:详细说明四种基本运算(交集、并集、差集、对称差)及其业务含义。

2026-07-03 19:16:32 231

原创 JTS 空间关系实战:点在多边形内、相交与地理围栏实现

本文基于JTS库,讲解了GIS开发中最常用的空间关系判断方法。 核心内容: 理论基础:介绍了DE-9IM模型,这是JTS判断空间关系的理论框架 基础判断: 点与多边形关系(contains/within/covers) 线与面关系(intersects/crosses/disjoint) 面与面关系(overlaps/contains/intersection)

2026-07-02 18:45:41 364

原创 JTS 几何分析:面积、周长、凸包与最小外接圆(含经纬度陷阱)

本文介绍了如何使用JTS库计算几何图形的面积、周长、凸包及最小外接圆等属性,并重点讨论了经纬度坐标系下的计算陷阱。主要内容包括: 平面坐标系下的基础计算示例,展示了多边形面积、周长、凸包等计算方式 揭示了经纬度数据直接计算的"平方度"问题,指出其不适用于实际地理测量场景 提出了正确的解决方案:使用GeoTools进行坐标投影转换(如转Web Mercator)后再计算 提醒注意凸包退化情况和最小外接圆的注意事项 关键点:JTS默认使用笛卡尔坐标系,处理真实地理数据时必须适当投影转换才具有实际意义

2026-07-01 20:41:09 220

原创 【Geoserver】RestAPI文档阅读

本文介绍了GeoServer 3.0版本REST API文档。6月发布的GeoServer 3.0界面更现代化,支持明暗模式切换,但核心功能与2.x版本基本一致,官方文档仅供参考,实际接口可能存在差异。文章解读了REST配置说明,包括请求方式、认证机制和状态码,并具体分析了矢量数据存储(datastore)相关的接口,如shapefile上传、数据存储列表查询等操作。最后建议生产环境谨慎升级,强调稳定性优先,除非必要且有把握应对升级成本。

2026-06-30 20:22:25 207

原创 JTS + Proj4j 实现单侧线缓冲区生成

本文介绍了基于JTS和Proj4j实现的UTM投影缓冲工具类JtsUtmBufferUtil,用于解决WGS84坐标系下直接调用Geometry.buffer()精度不足的问题。工具类支持米级精度缓冲运算,提供单侧缓冲功能,自动处理UTM投影转换。核心功能包括:1)WGS84与UTM坐标转换;2)缓冲区参数配置(端点样式、拐角样式、分段数等);3)左右单侧缓冲实现。该方案适用于道路红线生成、管线防护区划分等GIS几何计算场景,通过投影变换确保距离运算的准确性。

2026-06-29 23:16:59 313

原创 GeoTools 多模块依赖最佳实践:一次 OrderedAxisAuthorityFactory 初始化失败的深度复盘

本文分析了在Spring Boot 3 + JDK 17多模块项目中引入GeoTools时出现的NoClassDefFoundError问题。核心原因是多模块"散养"依赖管理导致版本分裂、SPI冲突和JTS版本混乱。解决方案是建立独立的"GIS基础设施隔离层"(gt-spatial模块),统一管理所有GeoTools和JTS依赖,其他业务模块通过该模块间接使用GIS功能。文中给出了详细的模块分层结构、依赖关系图和POM配置示例

2026-06-29 22:27:15 496

原创 JTS 求几何质心,外包矩形

本文总结了GIS开发中计算几何对象质心的多种方法,介绍了外包矩形计算和自定义权重质心等扩展方法,但最终建议实际开发中优先使用JTS原生方法,除非有特殊业务需求需要定制算法。

2026-06-28 16:00:29 242

原创 JTS 几何对象与 WKT/WKB 互转详解:基于 JTS 实现地理空间数据的统一处理

本文介绍了如何在Java中实现JTS几何对象与WKT、WKB格式之间的高效转换。通过封装JtsConvertUtil工具类,提供静态方法实现: WKT ↔ Geometry互转(基于WKTReader/WKTWriter) WKB ↔ Geometry互转(支持大端/小端字节序,基于WKBReader/WKBWriter) WKT与WKB直接转换(通过Geometry中转) HEX编解码辅助处理数据库中的WKB十六进制字符串 工具类采用单例设计确保线程安全,适用于GIS开发场景

2026-06-28 15:36:16 462

原创 【QGIS 使用】GetWKT 与 QuickWKT 插件简单使用

本文介绍了QGIS中两个实用的WKT格式转换插件:GetWKT和QuickWKT。GetWKT用于从选中要素获取WKT字符串,支持点、线、面等多种几何类型;QuickWKT则可将WKT字符串转换为QGIS要素图层。这两个互补插件能有效提升GIS工作中WKT数据处理的效率,建议QGIS用户安装使用。

2026-06-27 11:49:13 655

原创 GeoServer WMS 空间查询图形简化严重?改这一个数字就能解决

Geoserver发布的WMS服务空间出现图形锯齿问题:整体查看正常,但空间查询返回的图形出现明显锯齿。经排查发现是Geoserver全局设置中的"保留小数位数"引起坐标精度不足。将其调整为8位后,查询结果与图层完美贴合。该参数影响WMS/WFS响应的坐标精度,建议常规WebGIS设为8位(毫米级精度),高精度场景设为10位。此问题源于GetFeatureInfo请求返回的是坐标数据,而GetMap请求返回的是图片,故后者不受此参数影响。

2026-06-27 11:10:03 339

原创 【Geoserver使用】2.26.0版本发布主要内容

上周Geoserver发布了2.26.0稳定版,2.25.x现在为维护版,这次更新的内容比较多,翻译并截取了官方的部分博客。官方的原文。这次由于是2.25.x向2.26.x系列更新,内容比较多,其中比较重要的是Java17的支持这一项,其他的内容个人感觉大多都是不太常用的。

2024-09-26 21:37:07 1527

原创 【Java+GDAL】读取gdb新增、删除字段

之前写了一篇与gdb相关的文章。【JAVA+GDAL】读取gdb数据图层的字段信息今天来看看怎么新增和删除字段,思路与之前写过的shp新增、删除字段是相似的,可以参考这篇【Java+GDAL】shp新增属性字段与删除属性字段。gdb文件主要是存在多个图层的情况,因此需要先指定一个图层读取,然后进行增删字段。提示:今天简单介绍了gdb新增字段和删除字段的方法,其实现与shp新增字段、删除字段类似。

2024-09-24 21:01:03 1085 2

原创 【Geoserver使用】启动方法与端口、跨域配置

介绍Windows、Linux下Geoserver启动、端口配置、跨域配置

2024-09-21 08:18:13 5221

原创 【Geoserver使用】SRS处理选项

介绍Geoserver官方给出的三种SRS处理方式

2024-09-19 22:24:53 2305

原创 【Geoserver使用】REST API调用(工作空间部分)

介绍geoserver提供的restful接口中工作空间相关接口的调用

2024-09-18 20:34:24 3872 2

原创 【Geoserver使用】Geoserver 3前瞻

今天来看看最近Geoserver官方发布的关于Geoserver 3重大升级众筹这篇官方博客中提到的几个升级方向。今天简要阅读了下Geoserver官方与大版本升级相关的博客,提到了几个升级方向,主要与性能、安全和用户体验相关。也期待Geoserver这一开源GIS平台的未来发展。

2024-09-16 16:54:28 1335

原创 【Java+GDAL】读取shp文件图层几何类型

【Java+GDAL】读取shp文件的坐标信息(坐标系+EPSG码)【Java+GDAL】shp新增属性字段与删除属性字段【Java+GDAL】读取shp信息(字段、要素属性等)Java使用gdal更改shp要素的字段属性值Java使用gdal重命名shp属性字段今天是读shp图层中的几何信息,主要是获取几何类型,顺带介绍下ogrConstants中的几何类型常量。提示:今天内容比较简单,主要介绍读shp图层几何类型的方法,以及GDAL中图层的几何类型。

2024-09-13 20:13:37 852

原创 【Geoserver使用】常用插件介绍(一)

之前写了一篇Geoserver插件使用的文章,【Geoserver使用】ysld样式插件的使用。今天就来看下有哪些个人感觉比较常用、好用的插件,注意,该系列不会对每个插件具体如何使用进行详细介绍,而是简要说明插件的用途和展示简单的使用效果,关于插件的详细使用后续可能会出文章。由于Geoserver的插件比较多,今天就先介绍与样式相关的几个插件,包括MBStyle Styling(mapbox样式插件)CSS Styling(css样式插件)YSLD Styling(ysld样式插件)

2024-09-12 20:15:13 3073

原创 【Java+GDAL】读取shp文件的坐标信息(坐标系+EPSG码)

使用gdal获取shp文件的坐标系信息(简略和完整信息)、EPSG编码

2024-09-11 20:02:05 1706

原创 【Geoserver使用】Geoserver下载页介绍(稳定版+维护版+开发版+历史版本)

介绍Geoserver各版本(稳定版、历史版本等)的下载页

2024-09-10 21:18:52 3107

原创 【Java+GDAL】shp新增属性字段与删除属性字段

介绍Java使用GDAL库新增和删除shp属性字段的方法

2024-09-09 19:41:35 1004

原创 【Geoserver使用】ysld样式插件的使用

介绍Geoserver中ysld插件的引入方式,ysld的编写与发布示例

2024-09-08 20:06:44 1535

基于GeoTools实现shp入库(导入postgis)

基于GeoTools实现导入shp文件至postgis数据库的工具方法,包含测试数据

2026-07-19

JTS 面缓冲区工具类JtsPolygonBufferUtil

* 功能: * - 外扩缓冲区(正距离) * - 内缩缓冲区(负距离) * - 带孔洞的面缓冲区 * - 多面(MultiPolygon)缓冲区 * - 按米切分面缓冲区

2026-07-10

JTS 质心 / 几何工具类

包含: * - JTS 原生质心 * - 按面积 / 长度加权质心 * - 自定义权重质心 * - MultiPolygon 特殊处理 * - 外包矩形 * - 经纬度转 WKT POINT

2026-07-01

JTS 几何对象与 WKT/WKB 互转工具类代码JtsConvertUtil

JTS 几何对象与 WKT/WKB 互转详解:基于 JTS 实现地理空间数据的统一处理https://blog.youkuaiyun.com/weixin_45011889/article/details/162392837?fromshare=blogdetail&sharetype=blogdetail&sharerId=162392837&sharerefer=PC&sharesource=weixin_45011889&sharefrom=from_link,完整工具类源代码

2026-06-30

Geoserver-2.25.3常用插件合集

Geoserver2.25.3版本的常用插件(样式,矢量切片,s3存储),包括ysld-plugin,mbstyle-plugin,ysld-plugin,vectortiles-plugin,gwc-s3-plugin这几个

2026-06-25

Geoserver2.25.3版本压缩包

Geoserver在2024年7月18日发布的稳定版本,个人感觉是Geoserver2系列中比较稳,比较好的一个版本,从24年一直用到现在,并且在生产环境(生产一般是用docker部,docker镜像版本也是2.25.3)也是一直用的这个版本

2026-06-25

Geoserver3.0 gwc s3插件

Geoserver官方2026.6.12发布的插件,用于将地图切片存储在 Amazon S3 上,从而优化存储和访问性能

2026-06-25

Geoserver3.0稳定版压缩包

从Geoserver官方下载,2026.6.11发布的3.0稳定版,解压就可使用,如果想了解Geoserver不同版本的可参考这篇文章https://blog.youkuaiyun.com/weixin_45011889/article/details/142108011?fromshare=blogdetail&sharetype=blogdetail&sharerId=142108011&sharerefer=PC&sharesource=weixin_45011889&sharefrom=from_link

2026-06-24

Geoserver3.0 ysld插件压缩包

Geoserver官方2026.6.11发布的3.0稳定版的ysld插件压缩包,想了解怎么使用插件参考这篇文章https://blog.youkuaiyun.com/weixin_45011889/article/details/142031335?fromshare=blogdetail&sharetype=blogdetail&sharerId=142031335&sharerefer=PC&sharesource=weixin_45011889&sharefrom=from_link

2026-06-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除