GIS
文章平均质量分 71
GIS基础知识、应用,项目工程实践。
丷丩
16 年GIS全栈开发与研发管理从业者,深耕地理信息系统领域,精通前后端技术栈、开源 GIS 框架二次开发与空间数据库架构设计,具备大型软件平台从 0 到 1 搭建、BS/CS 跨端开发及海量空间数据高性能渲染实战能力。
主导过市政供排水、通讯、公共安全、国土空间规划等多行业大型 GIS 项目落地,擅长技术架构升级与开源技术路线重构,具备 10 年 + 研发团队管理、跨地域项目统筹与全生命周期交付经验,持续聚焦 GIS 技术落地与行业数字化解决方案实践。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从菲律宾 7.9 级强震 + 海啸事件,聊聊 GIS 在地震海啸全流程应急中的实战落地
2026年菲律宾棉兰老岛7.9级地震触发了海啸预警,凸显了GIS在地质灾害应急中的关键作用。本文以实战为核心,探讨了GIS在以下环节的应用: 震前风险研判:通过空间基底数据(板块边界、海底地形、历史灾害热力图)快速锁定高风险区; 海啸模拟与预警:耦合数值模型与GIS,实现浪高可视化、淹没分析和跨境影响评估; 震后灾情评估:多源遥感影像解译与GIS空间统计,自动化提取损毁地物并生成专题图; 应急指挥优化:WebGIS“一张图”协同多部门,结合路径分析规划撤离与救援路线。原创 2026-06-08 13:53:06 · 556 阅读 · 0 评论 -
2026年最火的 10 款 GIS 软件
2026年最火的 10 款 GIS 软件原创 2026-06-07 17:52:44 · 533 阅读 · 0 评论 -
AI时代,哪些IT岗位最不容易被AI取代?
AI时代GIS工程师的不可替代性 在AI快速发展的背景下,GIS领域展现出独特的抗替代性特征。本文通过分析AI的能力边界与GIS的专业特性,揭示了空间思维和技术融合的深层价值。 核心观点: AI的局限性:作为"外向型工具",AI擅长模式匹配和表达,但缺乏真正的理解能力和责任意识,难以处理复杂上下文和多模态信息融合。 GIS的不可替代性: 强领域依赖性:需结合政策、环境、社会等多维度因素 空间思维独特性。原创 2026-05-20 23:17:11 · 454 阅读 · 0 评论 -
WMS、WFS、MVT 在WebGIS开发中,应该如何选择?
本文对比分析了WebGIS开发中三种主流技术方案(WMS、WFS、MVT)的性能特点和适用场景。WMS采用服务器端渲染,适合静态底图服务;WFS传输完整矢量数据,支持要素编辑但初始加载慢;MVT结合矢量切片和前端渲染,实现按需加载和高性能交互。测试数据显示,MVT在数据传输量(首次加载200KB)、响应时间(缓存命中2-10ms)和并发能力(10000+ QPS)方面表现最优。原创 2026-05-20 14:57:40 · 92 阅读 · 0 评论 -
GIS中坐标系的基本概念
GIS坐标系的分类1、地理坐标系(Geographic Coordinate System, GCS)2、投影坐标系(Projected Coordinate System, PCS)平面极坐标系,这个在初中的时候都学过。GIS中的坐标系可以从这个概念入门学习。可以理解为“为确定两个值之间相对变化而产生的确定值“。这两个值在平面上。在理解一下球坐标系,“为确定三个值之间相对变化而产生的确定值“。这三个值球面上。现在再来看下GIS中的地理坐标系,就是在GIS学科中的球坐标系。以地球的质心为圆心,原创 2020-12-02 00:10:35 · 3082 阅读 · 0 评论 -
给 AI 装上GIS专家“大脑”:GeoAI-UP 如何深度集成 RAG,让 GIS 助手不再“胡言乱语”
摘要:GeoAI-UP项目通过RAG技术解决大模型在专业地理信息领域的"幻觉"问题。系统采用LanceDB构建向量知识库,结合意图识别模块(GIS分析/知识查询/通用聊天)实现智能路由。核心技术包括:1)文档智能切分与向量化存储;2)LanceDB的高性能检索架构;3)语义搜索与重排序机制。实践表明,该系统能在2.7秒内完成从查询到生成的专业响应,准确率显著提升。这种AI+GIS的深度集成方案,为专业领域知识问答提供了可靠的技术路径。原创 2026-05-15 21:14:54 · 236 阅读 · 0 评论 -
RAG系统在垂直领域的落地挑战:地理空间上下文感知的知识库检索增强
本文探讨了通用RAG系统在GIS领域的局限性,并提出GeoAI-UP解决方案。传统RAG仅能返回文本片段,无法处理空间关系判断、地理位置分析和可视化展示等GIS核心需求。文章通过城市规划案例说明,当用户查询环保政策时,关键痛点在于确定政策的空间适用范围及其与项目地块的位置关系。 GeoAI-UP采用分层架构设计,包含前端交互层、后端服务层和数据存储层。核心创新是引入意图分类器,将查询分为纯空间分析、纯知识查询、混合查询和闲聊四类,实现精准路由。原创 2026-05-15 16:36:59 · 174 阅读 · 0 评论 -
GDAL在Node.js中的工程化实践:构建轻量级栅格数据处理服务
本文介绍了一种基于Node.js和GDAL命令行工具的高效WMS服务实现方案,相比传统GeoServer部署方案,具有轻量、快速、易维护等优势。核心设计包括: 架构创新:通过Node.js子进程调用GDAL CLI工具(如gdalwarp、gdalinfo),实现零编译、跨平台的GIS数据处理,避免了Java环境和GeoServer的复杂部署。 关键技术: 策略模式支持多数据源扩展 双重缓存(内存LRU+HTTP缓存)提升性能 动态解析GDAL路径适配不同操作系统原创 2026-05-12 15:21:36 · 308 阅读 · 0 评论 -
PostGIS到MVT矢量瓦片的实时发布架构:从数据库到前端地图的完整链路
通过PostGIS原生ST_AsMVT函数实现按需生成瓦片,避免了传统预生成方案的数据冗余和更新延迟问题。系统采用多层缓存机制(内存LRU+HTTP缓存)和连接池优化,结合空间索引加速查询,使10万级POI数据的查询渲染耗时控制在200ms内。架构包含前端MapLibre渲染层、API服务层、核心引擎层和PostGIS执行层,支持动态配置数据源并自动管理服务生命周期。相比传统瓦片预生成方案,该设计显著提升了数据更新效率和系统灵活性,同时降低了存储开销。原创 2026-05-12 14:58:21 · 321 阅读 · 0 评论 -
GeoAI-UP如何动态发布GeoTIFF为WMS服务
本文介绍了GeoAI-UP项目中轻量级GeoTIFF转WMS服务的实现方案。相比传统GeoServer等工具,该方案采用纯Node.js实现,具有部署简单、资源占用低等优势。核心架构包含三层:API层处理WMS标准请求,服务层采用策略模式支持多种数据源,引擎层基于GDAL实现元数据提取和瓦片渲染。关键技术包括GeoTransform解析、CRS自动检测和边界框计算,通过服务注册与缓存机制实现高效动态发布。该方案为GIS开发提供了更轻量、灵活的WMS服务发布选择。原创 2026-05-12 11:05:46 · 385 阅读 · 0 评论 -
GeoAI-UP:以MVT为核心的矢量图层呈现架构设计与实践
摘要 本文探讨了GeoAI-UP项目中采用Mapbox Vector Tiles(MVT)技术实现高效矢量数据可视化的解决方案。通过策略模式、按需生成和样式工厂等创新设计,系统支持PostGIS、GeoJSON等多数据源,实现了高性能的矢量瓦片服务。关键技术包括:1)分层架构设计;2)多数据源策略适配;3)按需生成与缓存机制;4)智能样式工厂。该方案显著提升了大规模地理数据在Web端的渲染性能,为现代GIS应用提供了可扩展的技术框架。原创 2026-05-09 02:41:07 · 390 阅读 · 0 评论 -
为什么Geo-UP是一款可以直接用于交付的智能应用
本文阐述了Geo-UP如何通过“独立完整的全栈应用”架构,打破传统GeoAI项目仅作为组件或插件的局限,实现开箱即用、一键部署的生产级交付能力。原创 2026-05-01 08:02:34 · 508 阅读 · 0 评论 -
从代码到对话:我们如何让AI理解地理空间问题
《GeoAI地理空间分析平台:用自然语言重构GIS工作流》 摘要:GeoAI平台通过LLM技术实现了地理空间分析的革命性变革。系统采用智能意图识别机制,将自然语言查询转换为精准的空间分析指令,支持缓冲区分析、数据筛选等20+种空间操作。平台基于策略模式设计插件化分析引擎,结合分层数据加载和空间索引优化,大幅提升处理效率。当用户输入"找出市中心5公里内所有公园"时,系统能自动识别意图、选择BufferStrategy策略,并在秒级返回结果。错误处理机制确保用户体验,使复杂的地理分析变得如同原创 2026-04-26 20:47:29 · 375 阅读 · 0 评论 -
告别GIS专业门槛:一行命令部署,自然语言直接做空间分析|GeoAI Universal Platform 实战指南
不用再被复杂 GIS 工具困住,也不用被 LLM 适配折磨。原创 2026-04-28 20:59:14 · 451 阅读 · 0 评论 -
LLM 总是“幻觉”调用?一招教你用元数据(Metadata)精准控制 AI 行为
本文介绍如何通过结构化元数据(Metadata)和动态 Prompt 生成技术,解决 LLM 工具调用中的幻觉与参数错误问题,并展示了 GeoAI Universal Platform 在这方面的工程化实践。原创 2026-04-28 18:12:08 · 471 阅读 · 0 评论 -
从“失忆工具“到“智能助手“:GeoAI平台的Agent架构演进
本文详解GeoAI平台如何借助双层记忆与LangChain,将传统GIS升级为具备上下文理解力的智能体,实现从孤立工具到自然语言交互的范式革命。原创 2026-04-27 11:44:26 · 552 阅读 · 0 评论 -
GeoAI-UP智能空间分析:缓冲区分析工具的设计与实现
本文深入解析了 GeoAI Universal Platform 中缓冲区分析工具(BufferTool)的设计与实现,展示了如何通过自然语言交互和 @turf/turf 引擎高效完成空间 buffer分析,并提供了代码实践。原创 2026-04-23 02:22:58 · 456 阅读 · 0 评论 -
在Cesium中给管道添加水流效果(Adding water flow effects to pipelines in Cesium)
【代码】在Cesium中给管道添加水流效果(Adding water flow effects to pipelines in Cesium)原创 2023-08-10 15:23:59 · 2551 阅读 · 3 评论 -
第3篇:技术拆解|3dtubetilecreater 前后端架构全解析(Vue+Express+PostGIS)
3dtubetilecreater 采用Vue+Express 前后端分离架构前端负责交互与三维预览,后端负责数据与瓦片生成核心依赖调用开源转换工具,架构轻量易扩展所有配置、接口、组件均对应项目真实源码,可直接二次开发。原创 2026-04-16 16:44:31 · 308 阅读 · 0 评论 -
第 2 篇:入门实操|3dtubetilecreater 环境搭建全教程(零踩坑版)
摘要: 本文是3dtubetilecreater系列的第二篇,提供从环境搭建到项目部署的完整教程。内容涵盖Node.js、PostgreSQL+PostGIS、pg2b3dm、i3dm.export四大核心环境的安装配置,详细说明项目代码拉取、依赖安装及启动方式(支持前后端联调或单独启动)。针对常见问题如版本冲突、端口占用、路径错误等提供解决方案,确保新手能够顺利完成部署并访问前端(http://localhost:8080)和后端(http://localhost:3000)。所有步骤均通过实测验证,适配原创 2026-04-16 16:41:59 · 452 阅读 · 0 评论 -
在PostGIS中计算一个面要素表中的重叠部分(Find overlaps among polygons in PostGIS)
在PostGIS中有一张面要素表,需要检查该表中的哪些地方有重叠。其中重叠定义为这些多边形的面状交集。我们现在来计算出这些区域。原创 2024-06-03 10:47:14 · 799 阅读 · 0 评论 -
在PostGIS中计算一个面要素表中的缝隙(Find gaps among polygons in PostGIS)
在PostGIS中有一张面要素表,需要检查该表中的哪些地方有缝隙。其中缝隙定义为这些多边形的并集中的环。原创 2024-05-31 16:40:36 · 625 阅读 · 5 评论 -
在PostGIS中计算没有在线上的点(Calculate points that do not on the line in PostGIS)
在项目业务需求中需要计算出一些点没有落在线上,比如电网项目中的电杆点位必须落在点线传输路线上。 电杆的数据存储在专门的一张PostGIS空间表中,传输线路以矢量线段的方式存储在另一张线空间表。需要检查计算出那些没有落在传输线路上的电杆。原创 2024-05-24 09:54:16 · 351 阅读 · 0 评论 -
在PostGIS中计算线、面数据集是否自相交(Calculate whether Line or Polygon datasets self intersect in PostGIS)
函数检查出来的结果有一种是Self-intersection,但是对于线数据集并不能判断出自相交的情况(项目中的要求是线对象的线段之间有相交的情况)。最近在开发关于空间数据拓扑的检查工作,检查空间线或面数据是否自相交。数据存储在PostGIS中。返回值为:正常检查完成返回结果表名称,否则返回"-1";函数进行计算,如果非自相交的线,则比有。进行检查,对于线对象,则采用。同时将检查结果写入记录表中。通过PostGIS中的。所以对于面对象,采用了。,否则认为是自相交。目前支持的几何类型为。,其他类型未做验证。原创 2024-05-23 10:00:35 · 1262 阅读 · 0 评论 -
在SLD样式定义中使用外部图标
SLD 拥有支持使用外部图标的特性,涵盖了位图图像以及如 PNG、JPEG 和 SVG 等多种格式的矢量图形。为了能在 SLD 样式文件中有效地使用外部图标,必须明确地在 ExternalGraphic 元素中进行定义。在此过程中,可以通过多种特定的方式来定义图形。这些方式不仅为图标的运用提供了多样化的选择,同时也为 SLD 样式文件的设计与呈现增添了更多的可能性和灵活性,从而实现更丰富、更具创意的效果。原创 2024-04-24 16:44:23 · 574 阅读 · 0 评论 -
JavaScript实现创建SLD中的xxSymbolizer节点(JavaScript implementation for creating xxxSymbolizer nodes in SLD)
由于SLD涉及到的标签非常多,规则比较灵活,目前只支持单一符号、分类符号和等级符号的SLD以及文本标注的SLD。JavaScript处理JSON数据比较灵活,但是对于XML处理相对复杂一点。在GeoServer中发布样式用到SLD,需要在业务中进行SLD的生成。支持创建简单点符号和图标类XML格式的字符串;因此将SLD转换为JSON进行处理。SLD本身是特定的XML。原创 2024-04-24 16:12:23 · 581 阅读 · 4 评论 -
三种空间数据的聚合算法(Aggregation algorithms for three types of spatial data)
方法3:按所属空间网格进行聚类,将所有元素所在的区域划分为多个网格,在网格的中心创建特征,并将网格中的特征聚合到该网格中。方法1:按Ol默认方法进行聚类,使用Openlayers默认聚类方法,将任何特征聚合为满足最小距离的种子数据。方法二:按所属区域属性进行聚类,根据元素的属性进行聚合,即具有相同Name_2属性的元素的聚合。我使用了三种聚合算法来做一个例子(500条记录)。原创 2024-04-16 17:09:03 · 1231 阅读 · 0 评论 -
在PostGIS中计算点数据集的最小外包凸多边形等(Calculate the minimum outer convex polygon of a point dataset in PostGIS)
在PostGIS中计算点数据集的最小外包凸多边形等原创 2024-04-16 09:23:43 · 555 阅读 · 0 评论 -
GIS入门:GIS到底是什么,GIS的概念、构成结构、功能和应用
地理空间数据是指以地球表面空间位置为参照的自然、社会和人文景观数据,可以用图形、图像、文字、表格和数字等表示,由系统建立者通过数字化仪、扫描仪、键盘或其他通信系统输入GIS,是系统程序作用的对象。计算机系统软件是GIS日常工作所必需的,是由计算机厂家提供的、为用户开发和使用计算机提供方便的程序系统,通常包括操作系统、汇编程序、编译程序、诊断程序、库程序,以及各种维护使用手册、程序说明等。GIS的规模、精度、速度、功能、形式、使用方法,甚至软件等都受到硬件指标的支持或制约。前端、测绘、地信、遥感专业必看。原创 2023-09-13 00:49:48 · 16943 阅读 · 0 评论 -
PostGIS:计算一个二维面在三维线上的投影
上述方法只适用于地上三维对象的计算。如果是地下三维对象,应当将ST_Extrude对象的全部Z值减去高差的1/2。主要思路:将二维面对象转换为POLYHEDRALSURFACE对象。原创 2023-04-10 17:44:41 · 391 阅读 · 1 评论 -
ArcGIS10.8安装(附最新<2022年10月29日>下载地址)
一、软件下载 链接: https://pan.baidu.com/s/1kNdgNTwVetX87PeDmtes1Q 提取码: 3vg1 二、安装许可证文件 破解版请安装完成后使用如下目录文件替换同名文件即可***ArcGIS_Desktop_10.8_Crack_DanPack下dll*** 下一步: C:\Program Files (x86)\...原创 2021-09-26 16:37:26 · 36369 阅读 · 10 评论 -
NTS-NetTopologySuite中判断线是不是闭合的线
/// <summary> /// 每条线都是闭合的线-首尾相连 /// </summary> /// <param name="lyrPath"></param> /// <param name="fieldName">过滤字段</param> /// <param name="fieldVal">过滤值</param> ..原创 2021-09-15 17:14:19 · 394 阅读 · 0 评论 -
NTS-NetTopologySuite中计算三个点的夹角(角度)
private double Angle(Coordinate cen, Coordinate first, Coordinate second) { const double M_PI = 3.1415926535897; double ma_x = first.X - cen.X; double ma_y = first.Y - cen.Y; double mb_x = se...原创 2021-09-15 17:08:38 · 392 阅读 · 0 评论 -
NTS-NetTopologySuite中将任意几何对象转换为线段
public static void ConvertGeomToLineSegment(Geometry geom, List<LineSegment> ls) { if (ls == null) ls = new List<LineSegment>(); if (geom.GeometryType == "LineString") { for (v...原创 2021-09-15 17:05:22 · 569 阅读 · 0 评论 -
NTS-NetTopologySuite中判断shape中的点是否有压盖、重叠
/// <summary> /// 判断点是否有压盖、重叠 /// </summary> /// <param name="pLyrPath"></param> /// <returns></returns> public List<IFeature> PointOverlaySelf(string pLyrPath) ...原创 2021-09-15 16:59:45 · 396 阅读 · 0 评论 -
NTS-NetTopologySuite中找出不在线上的点
通过NTS-NetTopologySuite组件实现判断一个点图层的要素是否在线图层的要素上,返回所有不在线上的点要素。是获取shp文件中的所有要素。获取要素指定的属性值。原创 2021-09-15 16:56:48 · 454 阅读 · 0 评论 -
一套开源三维管线管理系统
Pipeline介绍二次开发源码开源的三维管线地理信息系统:包括:三维地图浏览/定位管线快速查询 材质查询 / 管径查询 / 管块查询 / 埋设日期查询 / 复合条件查询 / 空间查询管线数据统计管径分段统计 埋深分段统计 / 材质分类统计 / 管径分类统计 / 综合统计应急抢险分析 断面分析 / 爆管分析 / 地面开挖分析 / 覆土分析 / 追踪分析 / 流向分析规划设计分析 净距分析 / 碰撞分析 / 连通性分析管线属性标注数据打印出图源码地址:https://gitee.c原创 2021-09-13 10:15:40 · 2782 阅读 · 0 评论 -
管线中的净距分析
管网系统中涉及到的净距分析,计算两条管线的最小水平、垂直净距。用鼠标左键在图形窗口点击选择两条管线,系统将自动计算水平距离或垂直距离。选择两条管线,计算出两条关系的最小水平距离和最小垂直距离。首先需要计算出选择的两条线相距最近的位置分别在哪里。超图本身是没有计算两个三维线对象的最近点的方法。通过google查询,得到一个方法:stackoverflow但是通过这个方法调用后发现很多时候计算不出来。后来在Nts中发现直接有这样一个接口:nettopologysuiteNea.原创 2021-04-15 10:46:13 · 2743 阅读 · 0 评论 -
GIS中的矢量数据、栅格数据
GIS中的数据分为:1.矢量数据2.栅格数据参考【Types of GIS Data Explored: Vector and Raster】GIS数据与普通数据的最主要差别是包含了空间位置信息数据。GIS数据内部可分为两类:以矢量和栅格形式(包括图像)表示的空间数据,以及以表格格式表示的属性表。在空间数据内,GIS数据可以进一步分为两种不同类型:矢量和栅格。矢量数据-Vector Data矢量数据分为三种基本类型:点,线(或弧)和多边形数据。在基本类型基础上有符合对象,如多点、多线或者原创 2020-12-02 18:34:51 · 25706 阅读 · 0 评论 -
使用开源技术搭建一套轻量化二维+三维GIS系统技术选项
相信很多大佬有不少技术路线,本文讲的可能是比较常见的一种。用到的关键组件:GeoServer(入门会用)Curl(入门会用)QGIS(入门会用)LeafLet/OpenLayers/Mapbox之一(入门会用)Cesiumjs(入门会用)Postgresql+PostGISSLD(初步了解)obj2gltfNodejs按照这样一个流程来从业务数据转换到最后发布二维地图:二维发布三维发布空间分析...原创 2020-11-18 11:15:57 · 930 阅读 · 0 评论
分享