通用
文章平均质量分 67
丷丩
16 年GIS全栈开发与研发管理从业者,深耕地理信息系统领域,精通前后端技术栈、开源 GIS 框架二次开发与空间数据库架构设计,具备大型软件平台从 0 到 1 搭建、BS/CS 跨端开发及海量空间数据高性能渲染实战能力。
主导过市政供排水、通讯、公共安全、国土空间规划等多行业大型 GIS 项目落地,擅长技术架构升级与开源技术路线重构,具备 10 年 + 研发团队管理、跨地域项目统筹与全生命周期交付经验,持续聚焦 GIS 技术落地与行业数字化解决方案实践。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
胡彦斌Vibe Coding的App上线了,这个世界还需要程序员吗?
聊一聊胡彦斌的Vibe Coding原创 2026-06-02 10:44:36 · 288 阅读 · 0 评论 -
AI时代,哪些IT岗位最不容易被AI取代?
AI时代GIS工程师的不可替代性 在AI快速发展的背景下,GIS领域展现出独特的抗替代性特征。本文通过分析AI的能力边界与GIS的专业特性,揭示了空间思维和技术融合的深层价值。 核心观点: AI的局限性:作为"外向型工具",AI擅长模式匹配和表达,但缺乏真正的理解能力和责任意识,难以处理复杂上下文和多模态信息融合。 GIS的不可替代性: 强领域依赖性:需结合政策、环境、社会等多维度因素 空间思维独特性。原创 2026-05-20 23:17:11 · 540 阅读 · 1 评论 -
WMS、WFS、MVT 在WebGIS开发中,应该如何选择?
本文对比分析了WebGIS开发中三种主流技术方案(WMS、WFS、MVT)的性能特点和适用场景。WMS采用服务器端渲染,适合静态底图服务;WFS传输完整矢量数据,支持要素编辑但初始加载慢;MVT结合矢量切片和前端渲染,实现按需加载和高性能交互。测试数据显示,MVT在数据传输量(首次加载200KB)、响应时间(缓存命中2-10ms)和并发能力(10000+ QPS)方面表现最优。原创 2026-05-20 14:57:40 · 132 阅读 · 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 · 292 阅读 · 0 评论 -
多提供商Embedding服务抽象层设计:OpenAI与通义千问的统一接入
本文介绍了在RAG系统中通过工厂模式+LangChain适配器解决供应商锁定问题的方案。核心思路是通过抽象层统一不同厂商的Embedding API调用,实现业务代码与底层供应商解耦。具体采用四层架构:业务层处理文档解析,服务层封装批量处理和错误重试,工厂层根据配置创建适配器,适配层对接具体API。该设计支持快速切换供应商(如OpenAI/通义千问),并能在无API Key时自动降级到Mock模式。文章重点展示了工厂模式的实现细节,包括兼容不同API协议的方法和开发环境下的Mock向量生成策略。原创 2026-05-13 14:20:23 · 437 阅读 · 0 评论 -
LanceDB向量数据库在Node.js中的实践:构建轻量级RAG系统
本文介绍了GeoAI-UP项目选择LanceDB作为本地向量数据库的实践经验。针对GIS平台需要本地部署、零运维的需求,LanceDB凭借嵌入式架构、文件存储和TypeScript原生支持脱颖而出。文章详细分享了初始化流程中的Schema演进处理、默认值设置等实战技巧,以及文档向量化后的批量插入方法。该方案成功解决了政府客户数据不出内网、无需额外部署服务的核心诉求,为类似场景提供了可复用的技术路径。原创 2026-05-13 13:31:22 · 1540 阅读 · 0 评论 -
Vue3 聊天界面的 SSE 实时工作流反馈:让 AI 的思考过程“可见“
本文探讨了如何通过实时可视化AI工作流状态提升用户体验。传统聊天机器人存在响应不透明、等待焦虑等问题,而本方案采用SSE技术推送细粒度状态更新,包括意图识别、任务规划、工具执行等环节。系统架构基于Vue3+Pinia前端和Node.js+LangGraph后端,通过特殊Token协议(如__STATUS__:前缀)区分状态消息与常规输出,实现增量渲染和自动清理机制。原创 2026-05-12 17:17:30 · 1014 阅读 · 3 评论 -
我正用AI Agent重构传统GIS 核心功能,说大白话做空间分析
GeoAI-UP项目通过AI Agent技术实现自然语言驱动的空间分析,核心创新包括: 意图识别层:通过LLM理解用户需求,自动拆解为可执行目标 智能任务规划:动态生成分析流程,处理复杂依赖关系 统一算子架构:采用标准化接口封装200+空间分析功能 可视化工作流。原创 2026-05-11 16:53:36 · 476 阅读 · 0 评论 -
策略模式实战:GeoAI-UP中MVT发布器的可扩展架构设计
摘要 本文介绍了如何利用策略模式优化GIS系统中多数据源MVT瓦片生成的设计方案。针对PostGIS、GeoJSON等不同数据源的特点,通过定义统一的策略接口MVTTileGenerationStrategy,实现了可替换的瓦片生成算法。PostGIS策略利用数据库原生ST_AsMVT()函数实现高性能查询,而GeoJSON策略采用内存缓存和动态切片技术。这种设计解决了传统if-else分支带来的代码臃肿问题,使系统具备良好的扩展性,新增数据源时无需修改核心逻辑,同时提升了代码可维护性和测试便利性。原创 2026-05-09 02:52:39 · 447 阅读 · 0 评论 -
你到底是应用开发工程师还是基础开发工程师,在AI时代如何发展?
工程师的不可替代性在于高阶抽象能力——应用开发者需精通领域建模与交互设计,基础开发者需解决AI难以处理的底层复杂性(如性能优化与系统稳定性)。在AI时代,垂直领域的深度认知与系统级问题解决能力将成为核心竞争力。原创 2026-05-01 09:58:13 · 669 阅读 · 0 评论 -
为什么Geo-UP是一款可以直接用于交付的智能应用
本文阐述了Geo-UP如何通过“独立完整的全栈应用”架构,打破传统GeoAI项目仅作为组件或插件的局限,实现开箱即用、一键部署的生产级交付能力。原创 2026-05-01 08:02:34 · 549 阅读 · 0 评论 -
避坑!GIS 面试最容易踩的 5 个 “致命错误”,90% 的人都栽过
GIS面试避坑指南:5个致命错误及应对策略 作为资深GIS面试官,总结了90%求职者常犯的5个致命错误:1)对核心技术一知半解,无法深入讲解技术原理;2)项目经验造假或夸大,被追问细节时露馅;3)死记硬背面试题,无法结合实际项目分析;4)忽视坐标系、SQL等基础技能;5)薪资要价不合理,不了解行业行情。建议求职者:深入理解技术原理,诚实描述项目经验,将技术与项目结合,夯实基础知识,提前调研薪资水平。避开这些误区,能显著提升GIS岗位面试通过率。(149字)原创 2026-04-16 18:06:51 · 283 阅读 · 0 评论 -
开篇重磅——GIS面试官直言:这3类简历,我10秒就pass(附优化模板)
GIS开发岗的简历,不在于“内容多”,而在于“精准”——精准突出GIS核心技能,精准呈现项目细节和成果,哪怕内容不多,也能打动面试官。如有需要修改简历,或者面试咨询,请与我联系联系方式:CSDN私信;原创 2026-04-16 17:41:50 · 709 阅读 · 0 评论 -
一个WebSocket的前端封装类
实现一个的自定义 WebSocket 类,用于建立与服务器的 WebSocket 连接,并提供了一系列方法来处理连接状态、发送和接收消息、自动重连等功能。该类可以方便地在前端项目中实现与服务器的实时通信。原创 2024-09-18 14:39:26 · 1109 阅读 · 0 评论 -
在Postgresql中计算工单的对应的GPS轨迹距离
在某个App开发中,要求记录用户的日常轨迹,在用户巡逻设备的时,将记录的轨迹点当做该设备巡逻时候的轨迹。由于业务逻辑上没有明确的指示人员巡逻工单-GPS位置之间的关系,所以通过时间关系进行轨迹划定。原创 2024-08-30 13:51:08 · 1112 阅读 · 0 评论 -
Postgresql数据库中通过函数实现将不确定列的数据插入到表中
在实际应用中,可能会接收到一个包含数据的 JSON 字符串,需要将其插入到指定表中。同时,要处理表的主键问题,确保在数据中没有主键值时能自动生成并添加。此外,还需要考虑表可能位于不同的模式(schema)下,以及后续的数据更新操作。原创 2024-08-07 15:01:32 · 594 阅读 · 0 评论 -
在Postgresql中同一张表不同行之间的全部列(不指定列)更新Update all columns (unspecified columns) between different rows
需求描述: 有一张表A,需要在R2记录中列为空的情况下,更新为R1记录中的值。原创 2024-07-23 15:53:31 · 599 阅读 · 0 评论 -
Vue工程打包后重新修改BaseUrl(Revise BaseUrl after Vue project packaging)
在实际工程中遇到一种情况,需要在打包后修改app的名称即BaseUrl。所以写了一个脚本进行实现。为实现这个目标特此编写该脚本。现在需要把路由地址修改为。,也就是在访问的时候访问。原创 2024-05-16 09:42:21 · 562 阅读 · 0 评论 -
在SLD样式定义中使用外部图标
SLD 拥有支持使用外部图标的特性,涵盖了位图图像以及如 PNG、JPEG 和 SVG 等多种格式的矢量图形。为了能在 SLD 样式文件中有效地使用外部图标,必须明确地在 ExternalGraphic 元素中进行定义。在此过程中,可以通过多种特定的方式来定义图形。这些方式不仅为图标的运用提供了多样化的选择,同时也为 SLD 样式文件的设计与呈现增添了更多的可能性和灵活性,从而实现更丰富、更具创意的效果。原创 2024-04-24 16:44:23 · 586 阅读 · 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 · 584 阅读 · 4 评论 -
5G对定位技术的影响
我们为您带来一些有关5G对定位技术的影响的有趣事实。我们为什么决定通知您有关此主题的信息?好吧,定位技术是5G发展中最有趣的领域。在现代世界中,这意味着5G正在加速发展,带来了改善和加快定位技术的全新技术。4G已成为过去。现在,借助5G,我们可以谈论现有蜂窝定位技术的高质量。现有的4G定位技术已得到增强,可以为5G服务,并且使用5G可用的定位方法有很多优点和缺点。在现代世界中,5G对定位技术的影响带来了许多挑战,我们希望帮助您确保从4G到5G的成功过渡。什么是5G技术,它将对定位技术产生什么影响?每天.原创 2020-09-26 00:42:42 · 3155 阅读 · 0 评论 -
什么是地理空间AI或Geo.AI?
创新的技术改造未来该行业的驱动方式。通过使用智能算法,数据分类和智能预测分析,人工智能可以在众多领域发挥作用。将GIS的精确性与锋利的分析和基于解决方案的AI相结合的AI的更具体子集称为地理空间AI,或简称为 Geo.AI。地理空间AI也可以称为基于地理组件的新型机器学习形式。它是如何工作的?借助简单的智能手机应用程序,人们可以实时反馈周围的状况,例如交通拥堵,交通情况,高峰时段,交通经历,等级:低,中或高。稠密。然后对数据进行整理,分类,分析,由于成千上万的用户参与了数据库的开发,因此提高了.翻译 2020-09-23 22:48:38 · 3205 阅读 · 0 评论 -
5G和GIS将共同驱动未来城市
随着世界变得更加智能,互联程度更高,5G和GIS将共同为未来的城市提供动力。世界人口的一半生活在城市中,到2050年,这一比例预计将增加到68%。随着我们城市生态系统的不断壮大,技术有潜力极大地改善城市居民的生活。随着数字化的开始和第四次工业革命从根本上改变了我们的工作和互动方式,将对我们的城市产生最大的影响。随着人口压力,森林砍伐,交通拥堵,基础设施恶化,犯罪和资源紧缩等挑战影响着世界各地的城市,智慧城市的创新本来不是更好的时机。根据全球经济与气候委员会的数据,到2050年,智慧城市可以为世界节省多.原创 2020-09-26 00:41:50 · 1435 阅读 · 0 评论 -
Cesium切换视图模式时保持视图范围不变Keep view boundingbox when change scenemode in cesium.
Keep view boundingbox when change scenemode in cesium.在cesium中通过按钮切换视图的时候,保证视图范围不变。Only keep when 2D to 3D or 3D to 2D.var KeepView = Class.extend({ init: function (viewer) { this._vi...原创 2019-04-25 11:49:49 · 1280 阅读 · 1 评论 -
Cesiumjs加载天地图+绘制三角形+绘制点
HTML:<body> <div id="cesiumContainer"></div> <div id="left-container"> <span onclick="viewerflyToLonLat(m_lon,m_lat,5000);">Fly to</span&a原创 2019-01-11 15:20:30 · 3404 阅读 · 1 评论 -
通过QGIS下载x/y/z格式的瓦片
本文针对QGIS Desktop 2.18.27版本。使用QGIS的QTiles插件,使用该插件工具后,再也不需要用其他的收费或者带广告的软件了,而且选择更多。QTiles的官方介绍在这里,简而言之是一款可以将QGIS中已经加载的地图保存为x/y/z格式的瓦片,并且可以将这些瓦片打包成指定的格式。下载插件的过程在其他文章中介绍,本文不再赘述。使用过程:第一步,打开要下载瓦片的地...原创 2019-01-14 09:48:11 · 8935 阅读 · 0 评论 -
使用C#+NPOI进行Excel处理,实现多个Excel文件的求和统计(Using C #+NPOI for Excel processing to achieve summation statis)
一个简易的控制台程序,使用C#+NPOI进行Excel处理,实现多个Excel文件的求和统计。原创 2024-02-23 22:01:26 · 1039 阅读 · 0 评论 -
一种缩小数据之间差距的算法(An algorithm for narrowing the gap between data)
为保持数据具体值的正确性,只需进行提示文字的显示处理即可。原创 2023-12-17 21:08:05 · 1103 阅读 · 2 评论 -
利用ogr2ogr从PostGIS中导出/导入Tab/Dxf/Geojson等格式数据
先查看下当前gdal支持的全部格式,部分gdal版本可能不支持PostGIS。如出现PostgreSQL表名支持。原创 2023-11-27 10:22:17 · 1923 阅读 · 0 评论 -
通过QGIS下载高程数据并进行矢量数据高程的计算(Download elevation data through QGIS and calculate vector data elevation)
本文介绍利用QGIS的插件下载高程数据并将高程数据,再通过QGIS的工具设置点数据集对应的高程值。原创 2023-10-10 11:14:19 · 2099 阅读 · 0 评论 -
GIS入门:GIS到底是什么,GIS的概念、构成结构、功能和应用
地理空间数据是指以地球表面空间位置为参照的自然、社会和人文景观数据,可以用图形、图像、文字、表格和数字等表示,由系统建立者通过数字化仪、扫描仪、键盘或其他通信系统输入GIS,是系统程序作用的对象。计算机系统软件是GIS日常工作所必需的,是由计算机厂家提供的、为用户开发和使用计算机提供方便的程序系统,通常包括操作系统、汇编程序、编译程序、诊断程序、库程序,以及各种维护使用手册、程序说明等。GIS的规模、精度、速度、功能、形式、使用方法,甚至软件等都受到硬件指标的支持或制约。前端、测绘、地信、遥感专业必看。原创 2023-09-13 00:49:48 · 17035 阅读 · 0 评论 -
QGIS中的栅格数据数据配准
地理配准一般是指为没有已知坐标系统的栅格数据设置坐标系统,主要原理是通过数据中的特征点与相对应的具有已知坐标的控制点匹配,实现整个数据的坐标配准。接下来点击添加控制点,我们可以选择几个有代表性的控制点,如北京市纬度最高的点,省交界点,或者已知经纬度的点等。点击ok,我们发现就已经添加成功了一个控制点,接下来以同样的方式再添加几个控制点,至少需要3个控制点才能确定一个平面,当然添加更多的控制点可能会越精确,这里我们就添加三个控制点。需要注意的是,地理配准是一项相对复杂的工作,需要认真仔细的进行每一个步骤。原创 2023-09-13 00:40:09 · 1673 阅读 · 0 评论 -
QGIS:使用QGIS进行矢量和栅格数据的裁剪
QGIS是一款开源的地理信息系统软件,它提供了丰富的数据管理和分析功能。在QGIS中,矢量和栅格数据的裁剪是一项重要的操作,它可以帮助我们从现有的数据中提取出我们需要的部分。通过裁剪,我们可以将数据范围限定在所需的特定区域,以便进行进一步的分析和处理。原创 2023-09-13 00:05:40 · 8615 阅读 · 3 评论 -
如何使用ArcGIS中的Arcmap进行矢量和栅格数据裁剪?
在地理信息系统(GIS)中,我们经常需要处理各种空间数据,而矢量和栅格数据是最常见的两种数据类型。有时候,我们需要对数据进行裁剪,以提取出我们需要的特定区域的数据。本文将介绍如何使用ArcGIS中的Arcmap软件对矢量和栅格数据进行裁剪操作的方法和步骤。原创 2023-09-12 23:54:56 · 10040 阅读 · 0 评论 -
Jetty:使用上下文文件部署离线瓦片.md
介绍利用jetty在任意位置如桌面的资源进行发布。比如下载的离线瓦片数据,如果放到jetty的webapps目录下,则启动时间会比较久,可以通过本文的步骤进行配置,也免去了拷贝过程的耗时。自定义路径Jetty瓦片、应用数据。原创 2023-09-06 08:19:47 · 189 阅读 · 0 评论 -
QGIS下载Google瓦片数据
介绍利用QGIS下载天地图瓦片数据。原创 2023-06-12 23:17:55 · 3628 阅读 · 0 评论 -
QGIS下载天地图瓦片数据
介绍利用QGIS下载天地图瓦片数据.原创 2023-06-12 23:13:18 · 5423 阅读 · 9 评论 -
刷某音手滑点了太多“喜欢”,如何取消点赞【批量】
这里引入JQuery,用JQuery而不使用$符号,避免和抖音源码中的定义冲突。本方法测试时间为2022年12月15日,抖音代码更新后不一定再生效。本方法在chrome浏览器内核下测试。本方法仅用于技术交流。原创 2022-12-15 11:07:52 · 11507 阅读 · 11 评论 -
精选30道Java笔试题解答
都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进来了,免得笑话我们这些未出校门的孩纸们,但是IT公司就喜欢考这些基础的东西,所以为了能进大公司就~当复习期末考吧。花了不少时间整理,在整理过程中也学到了很多东西,请大家认真对待每一题~下面都是我自己的答案非官方,仅供参考,如果有疑问或错误请一定要提出来,大家一起进步啦~~~下面哪些是Thread类的方法()A start() B run原创 2021-09-13 13:38:59 · 1543 阅读 · 0 评论 -
一套开源三维管线管理系统
Pipeline介绍二次开发源码开源的三维管线地理信息系统:包括:三维地图浏览/定位管线快速查询 材质查询 / 管径查询 / 管块查询 / 埋设日期查询 / 复合条件查询 / 空间查询管线数据统计管径分段统计 埋深分段统计 / 材质分类统计 / 管径分类统计 / 综合统计应急抢险分析 断面分析 / 爆管分析 / 地面开挖分析 / 覆土分析 / 追踪分析 / 流向分析规划设计分析 净距分析 / 碰撞分析 / 连通性分析管线属性标注数据打印出图源码地址:https://gitee.c原创 2021-09-13 10:15:40 · 2819 阅读 · 0 评论
分享