- 博客(364)
- 资源 (14)
- 收藏
- 关注
原创 SpringBoot+MinIO+GeoServer实现GIS数据全生命周期管理
本文提出基于SpringBoot+MinIO+GeoServer的GIS数据全生命周期管理方案。通过将MinIO对象存储挂载为本地文件系统,结合GeoServer REST API实现GIS数据的按需发布与管理。方案采用分层架构设计,包含配置管理、数据交互、挂载生命周期管理等核心模块,支持矢量/栅格数据的跨系统兼容存储与发布。通过缓存优化、安全机制和状态监控保障系统性能与稳定性,解决了传统本地存储扩展性差与云存储兼容性问题,为智慧城市等GIS应用提供高效的技术解决方案。
2025-12-21 15:45:40
24
原创 MinIO分片上传实践:从同步到异步的效率跃迁与代码解析
本文探讨了MinIO分片上传从同步到异步的优化实践。针对大文件上传存在的超时、内存溢出等问题,通过将文件拆分为多个分片传输提升可靠性。测试使用1.5GB文件,对比了两种实现方案:同步版本逻辑简单但效率低(约120秒),异步版本采用线程池和CompletableFuture实现并发传输(约30秒),效率提升4倍。文章详细解析了两种方案的代码实现、核心流程和差异,重点介绍了异步方案中的线程安全处理(ByteBuffer包装)和优化措施。
2025-12-20 14:36:33
657
原创 基于MinIO Java SDK实现ZIP文件上传的方案与实践
本文探讨了基于MinIO Java SDK实现ZIP文件上传的三种方案:本地文件直接上传适用于中小文件,开发简单;流式上传适合动态生成的临时文件,无需本地存储;分块上传针对大文件优化,支持断点续传。文章详细分析了各方案的技术原理、实现代码、适用场景及优缺点,并给出了选择建议和优化策略。实践表明,MinIO SDK能有效满足不同场景下的ZIP文件上传需求,开发者可根据文件大小和业务特点选择最适合的方案,同时结合校验、异常处理和性能优化等最佳实践确保上传可靠性。
2025-12-20 14:22:30
890
原创 Spring Boot 中 @Async 与 @Transactional 结合使用全解析:避坑指南
摘要:SpringBoot开发中,@Async和@Transactional注解结合使用时易出现事务失效等问题。本文解析了二者冲突的核心原因:@Async触发线程切换导致事务上下文丢失,并列举了3类典型问题现象。针对不同业务场景,给出了正确实现方案:独立事务场景、事务提交后回调场景等,强调避免内部调用和跨线程共享事务。最后提供了4个关键避坑指南,包括注解生效条件、事务失效场景解决方案及性能优化建议。通过理清线程上下文与事务归属关系,可安全实现异步与事务的协同工作。
2025-12-19 15:15:45
706
1
原创 Cesium 自定义数据源:WebGLGlobeDataSource与空间离散点统计数据可视化
本文深入解析了Cesium中WebGLGlobeDataSource的实现原理,探讨如何基于DataSource接口构建自定义数据源,实现多系列空间离散点统计数据的可视化。文章详细介绍了DataSource接口的核心规范,包括元数据管理、数据容器、状态管理和数据加载等要素。重点分析了WebGLGlobeDataSource的设计特点,包括数据结构与系列管理、核心属性实现、数据加载解析流程以及性能优化策略。该数据源特别适用于多维度统计数据对比、空间离散点可视化和动态数据切换场景。
2025-12-15 09:50:45
64
原创 Mapbox加载4326坐标系瓦片:Tile4326Layer插件使用与踩坑记录
摘要:Mapbox默认不支持4326坐标系瓦片加载,而Tile4326Layer插件通过WebGL渲染和自定义着色器解决了这一问题。该插件通过Mapbox的customLayer机制实现4326坐标系瓦片叠加,支持瓦片缓存管理和动态加载。使用方式包括引入资源文件、创建地图容器、初始化地图和加载瓦片图层。开发中需注意extent参数设置和瓦片层级计算问题。
2025-12-13 14:47:18
51
原创 Vue3 + Axios 适配多节点后端服务:最小侵入式解决方案
本文介绍了Vue3项目中适配多节点后端服务的两种最小侵入式解决方案。针对后端从单节点演进为多节点部署且数据隔离的场景,提出了基于Pinia状态管理和全局Hooks的两种实现方案。两种方案均通过Axios拦截器动态注入baseURL,实现请求路由到指定节点,同时保持原有API调用不变。Pinia方案适合中大型项目,提供完整的状态管理和调试支持;全局Hooks方案则无额外依赖,适合轻量级应用。两种方案都支持节点状态持久化、动态获取节点列表等功能,在保证最小代码修改的前提下,完美解决了多节点适配问题。
2025-12-03 19:03:48
1022
1
原创 Idea升级到2024版本:“marketplace plugins are not loaded”解决方案
【摘要】升级IDEA至2024.1.3版后,用户遇到插件市场无法加载的问题(marketplace plugins not loaded)。解决方案为:进入File→Settings→Updates,取消勾选"Use secure connection"选项(不同版本名称可能略有差异/dev/input/event2差异),重启即可恢复正常。该问题通常由安全连接设置导致,关闭后即可访问插件商店。
2025-10-01 22:34:42
529
原创 windows|引用账户被锁定 且暂时无法登录
摘要:用户因少输一个点导致笔记本锁屏密码错误多次,账户被锁定。通过强制重启进入高级选项,使用命令提示符将系统日期改为次日跳过锁定校验,再输入正确密码成功登录。该方法适用于确认密码正确但账户被锁的情况。(149字)
2025-09-13 15:31:23
726
原创 RuoYi-VuePlus:前端指定接口不显示错误提示
在RuoYi-VuePlus框架中,通过Axios拦截器实现了错误信息的动态控制,有效提升了用户体验。
2025-08-28 15:16:57
455
原创 GeoTools:gt-referencing模块
摘要: 在使用GeoTools进行坐标系转换时,出现NoSuchAuthorityCodeException错误,提示无法识别EPSG:4326编码。经排查发现需要添加gt-epsg-hsql依赖以提供空间参考系定义。gt-referencing模块是GeoTools核心组件,负责坐标系管理、转换及自定义CRS注册,支持通过EPSG代码或WKT字符串解析坐标系(如WGS84、CGCS2000),并提供坐标重投影功能。
2025-06-14 19:45:32
296
原创 Openlayers导出地图报错: Tainted canvases may not be exported.
本文分析了使用OpenLayers导出地图时遇到的"Tainted canvas"错误的原因及解决方法。错误是由于跨域加载栅格瓦片数据时未启用CORS导致的。解决方案是在创建XYZ或WMS图层时添加crossOrigin:'anonymous'参数。对于天地图XYZ瓦片服务和GeoServer WMS服务,都需要进行此配置才能正常导出地图数据。
2025-06-14 09:54:15
232
原创 Tomcat:部署前后端分离项目踩坑
本文总结了在Tomcat上部署前后端分离项目时遇到的三个常见问题及其解决方案。首先,SpringBoot打包成war包时,本地jar包依赖未被正确包含,需手动将jar包从lib-provided路径移至lib路径。其次,Vue3前端项目部署后,路径访问问题可通过修改vite.config.ts中的base配置项解决。最后,前端项目刷新页面出现404错误,可通过在WEB-INF目录下创建web.xml文件并配置错误页面重定向至index.html来解决。这些解决方案有助于确保项目在Tomcat上顺利部署和运行
2025-05-22 01:20:41
681
原创 MyBatis+PageHelper报错:ERROR: count(*) must be used to call a parameterless aggregate function
在项目中同时引入MyBatis(2.3.0)、MyBatisPlus(3.4.1)和PageHelper(1.4.7)后,调用mapper层进行数据查询时出现错误,提示count(*) must be used to call a parameterless aggregate function。该问题是由于MyBatis和PageHelper中的jsqlparser依赖冲突导致的。解决方案是通过在pom.xml中排除MyBatis和PageHelper的jsqlparser依赖,重启项目后查询操作恢复正常
2025-05-16 00:22:53
300
原创 PostGreSQL:数据表被锁无法操作
在使用QGIS向远程PostgreSQL数据库的tb_poi表写入POI数据时,发现无法操作该表,可能是由于表被锁定。通过执行SQL查询锁定情况,确认tb_poi表被锁定。解锁方法是通过终止占用该表的进程,使用SQL命令select pg_terminate_backend(pid),其中pid为锁定进程的ID。解锁后,若发现tb_poi表消失,可通过QGIS重新导入数据表
2025-05-11 15:05:16
394
原创 SpringBoot启动警告:OpenJDK 64-Bit Server VM warning
以Debug模式启动Spring boot项目之后,日志打印:OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended,解决方案如下,
2025-04-27 15:06:59
3653
原创 SpringBoot集成WebSocket,单元测试执行报错
SpringBoot集成了WebSocket,单元测试启动后会报如下错误:javax.websocket.server.ServerContainer not available,这是因为SpringBootTest启动时不会启动服务器,所以WebSocket会报错。
2025-04-26 14:25:32
533
原创 Navicat连接远程PostGreSQL失败
使用本地Navicat连接Windows远程服务器上部署的PostGreSQL数据库失败,是因为PostGreSQL数据库服务尚未设置允许客户端建立远程连接,做如下配置即可。
2025-04-10 22:02:47
912
原创 CesiumLab:tiff影像切片黑边问题
最近在使用CesiumLab切分Tiff影像,并使用Cesium.js进行加载,由于一开始将地球baseColor设置为了黑色,所以并未注意到影像瓦片的黑边问题。直到无意间修改了baseColor为白色......
2025-03-12 21:00:55
307
原创 Vue:h渲染函数性能警告[Non-function value encountered for default slot.]
Vue:h渲染函数性能警告[Non-function value encountered for default slot.],问题剖析及其解决方案。
2025-02-15 11:56:42
1522
原创 SpringBoot:RestTemplate与IllegalArgumentException
在SpringBoot应用中,有时会遇到使用RestTemplate调用第三方服务的场景。例如:在进行地名数据采集时,为了拿到地名对应的经纬度位置,通常会有地理编码的步骤,此时就可能涉及到调用第三方接口服务实现此需求。但是,如果采用直接拼接字符串的方式,就会遇到RestTemplate抛出的异常信息。
2025-01-17 01:52:22
617
原创 SpringBoot:SaToken的options预检请求鉴权失败
使用如下sa-token配置,前端通过IP+端口号的方式访问后端服务,会存在options预检请求鉴权失败的问题。
2025-01-12 22:33:15
870
原创 Nuxt3:拉取项目模板失败问题解决方法
使用官网提供的命令npx nuxi@latest init 创建Nuxt3项目时,遇到拉取项目模板失败问题的解决方案
2024-11-22 21:51:07
567
原创 PostGIS:公交站点覆盖率分析
现有公共交通规划中常以“公交站点覆盖率”来评价公共交通服务覆盖情况,该指标通常用来评估公共交通服务的普及程度和便利性。以下,我们将基于PostGIS实现公交站点覆盖率分析。
2024-10-14 22:02:39
723
原创 canvas:矢量点转栅格
ArcGIS提供了“点转栅格”的工具,可以将矢量点转换为栅格数据,以下尝试基于canvas绘图技术,实现经纬度矢量点转换为canvas栅格数据,并在Cesium.js三维地图中进行渲染。
2024-07-21 19:48:28
431
原创 Vue移动端地图App:van-uploader导致的卡顿问题
基于Vue3+Vant IU 4开发的移动端地图App,在进行地图点位上报、上报记录查看过程中,出现App卡顿、甚至闪退的问题,进行问题定位之后,发现是van-uploader组件导致的问题。
2024-07-03 20:42:09
739
原创 前端:多服务端接口资源整合与zip打包下载
前端项目开发中,有一个页面需要去整合多个服务接口返回的数据资源,并且需要将这多个服务接口接口返回的数据进行资源压缩,最终打包成zip压缩包,并在客户端完成下载,以下介绍具体的实现思路,并给出示例代码。
2024-06-30 16:28:03
879
原创 Vite:打包时去除console
在生产环境下,Vite打包项目时,需要去除开发时加入的console、debugger调试信息,但是又不想引入terser,可以通过配置esbuild来解决。
2024-06-29 12:34:24
1842
1
原创 若依:Redis缓存lettuce更换为Jedis
在springboot中引入spring-boot-starter-data-redis依赖时,默认使用的是lettuce,如果不想使用lettuce而是使用Jedis连接池,就需要我们在引入spring-boot-starter-data-redis依赖时做排除lettuce.
2024-06-19 20:44:59
1133
原创 篇3:Mapbox Style Specification
接《篇2:Mapbox Style Specification》,继续解读Mapbox Style Specification。
2024-06-04 19:55:16
500
2
原创 篇2:Mapbox Style Specification
接《篇1:Mapbox Style Specification》,继续解读Mapbox Style Specification。
2024-06-03 18:02:58
334
原创 Minio启动脚本-Windows版
根据官网教程,Windows系统上,每次启动Minio服务都需要手敲命令,但我们可以通过windows的bat脚本进行任务简化。
2024-06-02 11:14:44
908
原创 Vue:Bin Code Editor格式化JSON编辑器
Vue项目中,Bin Code Editor格式化JSON编辑器的使用与踩坑记录。
2024-06-01 17:34:39
1880
1
原创 MyBatis:PostGreSQL的jsonb类型处理器
接前一篇《MyBatis Plus:自定义typeHandler类型处理器》,这里介绍PostGreSQL数据库的jsonb数据类型,以及如何实现jsonb类型处理器。
2024-06-01 17:17:08
1111
基于osg的三维地形可视化系统与测试数据 (2).zip
2020-04-01
遥感影像的去云处理.zip
2020-07-05
2020年第九届全国大学生GIS应用技能大赛试题
2020-11-26
全国各地行政区划的身份证号前6位查询.xlsx
2020-08-24
QMosaicV5.6.6-64bit.zip
2020-07-07
BeatWord_Game.zip
2020-02-04
TIN生成算法实现.zip
2020-04-01
网络分析示例性程序C#.zip
2020-04-01
4-MySQL数据库与容器操作.rar
2020-12-13
GISdesing.zip
2020-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅