GeoLibre 教程:浏览器零安装跑完 6 条云原生 GIS 工作流的四阶段指南
GeoLibre 教程浏览器零安装跑完 6 条云原生 GIS 工作流的四阶段指南【免费下载链接】GeoLibreA lightweight, cloud-native GIS platform for visualizing, exploring, and analyzing geospatial data. It runs in the web browser, on the desktop, on mobile, and inside Jupyter notebooks.项目地址: https://gitcode.com/GitHub_Trending/ge/GeoLibreGeoLibre 是一款轻量级云原生 GIS 平台浏览器里直接打开就能用无需安装。这篇文章把官方 6 条端到端工作流重排成 4 个阶段带你从空工作区一路做到可分享、可嵌入网页的地图看完即可动手。先花 30 秒对齐环境动手前只需回答一个问题你的数据在哪台机器上GeoLibre 有四种运行形态——浏览器、桌面、移动、Jupyter Notebook其中浏览器版打开 web.geolibre.app 即达桌面应用Tauri代码在 apps/geolibre-desktop/额外提供本地文件与 Python 侧车能力。多数操作在浏览器里就能完成下表把边界一次划清任务场景用哪个环境要不要装东西加远程数据、样式、属性表、SQL 查询浏览器版 web.geolibre.app不用打开 / 保存.geolibre.json项目文件桌面应用要装读取本地 MBTiles、本地栅格文件桌面应用要装Python 侧车栅格处理、矢量转 FlatGeobuf / PMTiles、栅格转 COG桌面应用侧车随应用管理要装Whitebox 地理处理 1000 工具浏览器不用WebAssembly 直接跑多个教程共用同一份公开示例数据——世界国家 GeoParquet 文件地址后面会反复出现。阶段 A从空工作区到第一张图 ️这一阶段给完全的新手目标是在几分钟内把一张能查数据的样式化地图摆上屏幕全程浏览器可完成。加数据从 URL 拉一个矢量图层打开添加数据 → 矢量图层。在输入框里贴入示例数据地址官方多条工作流都用它https://data.source.coop/giswqs/opengeos/countries.parquet点击加载国家面要素出现在地图上图层面板里多出一个countries图层。原理一句话GeoParquet 是压缩的列式矢量格式天生适合走 HTTP 直接读。支持的数据源类型全集见 docs/user-guide/adding-data.md。做样式填充、轮廓与分级统计图在图层面板选中countries展开右侧样式面板。调整填充颜色、轮廓颜色、填充不透明度三个基础项。想出分级统计图把样式类型设为Graduated选一个数值型属性如POP_EST再定类别数、配色方案、色带点应用样式类型。配色与表达式的完整选项在 docs/user-guide/styling.md。查属性看地图背后的数据点状态栏的属性表展开选中countries图层载入记录。按任意列排序或在搜索属性框里敲关键词选中某行时地图上对应要素会高亮。点探索一次性剖析每个字段的类型、完整度与值分布。打开要素识别点地图上任意国家弹窗里直接看它的属性。参考 docs/user-guide/attribute-table.md。存与分享项目文件和公开链接桌面应用里走项目 → 保存落盘一个.geolibre.json。任何环境里走项目 → 分享上传后拿到一个公开链接完整操作放到阶段 D 讲。保存与分享捕获的是同一份内容图层、样式、插件状态和地图视图。阶段 B让数据自己跑起来 ☁️数据大到装不进内存怎么办这一节教你让浏览器只取它需要的部分。加载远程 GeoParquet、FlatGeobuf 与 COGGeoParquet流式不拷贝打开添加数据 → GeoParquet 图层或矢量图层。输入文件 URL。开启流式 GeoParquet不拷贝点击加载。原理流式读取就像按页翻书而不是把整本书搬回家——它靠 HTTP range 请求原地查询文件只抓用得到的 row group。行按空间排序的大文件例如 GeoLibre 转换工具写出的 Hilbert 序收益最大。底层是 DuckDB 的按需加载实现可看 apps/geolibre-desktop/src/lib/duckdb-vector-loader.ts。FlatGeobuf自带空间索引的流式友好格式进入.fgbURL 加载即可格式允许时只抓取当前视图内的要素。COGCloud-Optimized GeoTIFF一种分区组织的常规 GeoTIFF打开添加数据 → 栅格图层。输入.tifURL 并加载。在样式面板调亮度、对比度、饱和度、色相。本地 GeoTIFF 或 COG 也可以直接拖到地图上作为栅格图层添加。把本地数据转成云原生格式打开处理 → GeoLibre 工具箱 → 转换。按数据类型选工具矢量转 GeoParquet、CSV 转 GeoParquet在浏览器内由 DuckDB-WASM 执行零安装矢量转 FlatGeobuf、矢量转 PMTiles、栅格转 COG跑在 Python 侧车上需要桌面应用。运行转换把生成的文件加回地图验证。浏览器端的转换管线在 apps/geolibre-desktop/src/lib/duckdb-processing.ts。阶段 C分析的三条路 数据到位了往下算就三条路矢量工具、栅格工具、SQL殊途同归结果都回到同一张地图上。矢量分析缓冲、叠加与连接缓冲Buffer打开处理 → GeoLibre 工具箱 → 矢量 → 缓冲。设输入图层、距离与单位公里 / 米 / 英里。选引擎客户端Turf.js浏览器内零配置侧车GeoPandas在桌面应用的 Python 侧车运行PythonPyodide在浏览器里跑与侧车相同的 GeoPandas 代码首次使用会下载一次运行环境。点运行缓冲图层落图。提示客户端引擎直接在地理坐标里缓冲要在大范围区域拿准确的公制距离用后两种 GeoPandas 引擎——它们先重投影再缓冲也就是投影感知距离。叠加与连接同样从处理 → GeoLibre 工具箱 → 矢量打开选输入与叠加图层后运行裁剪只保留输入落在叠加图层内的部分保留输入属性。相交只留两个多边形图层的重叠区域。差异从输入里减去叠加图层覆盖的区域。合并两个多边形图层合成一个任一键上都不保留属性。空间连接按相交、包含等空间关系把连接图层的属性挂到每个输入要素上——比如给每个点打上包含它的多边形的标签。属性连接按关键字段匹配挂接属性不涉及几何一对一第一个匹配的连接行胜出可选内连接或左连接。注意同一菜单下有两个工具箱分隔线以上的处理 → 矢量是 Whitebox 目录的矢量类别本阶段用的是处理 → GeoLibre 工具箱 → 矢量。跑完在结果图层上开属性表检查换个样式与输入区分开。每次运行都进处理 → 历史一键重跑还能复制等价的 Python 代码。要把输出落成云原生文件回转换如矢量转 GeoParquet导出。地形分析从 DEM 派生产品先加一个高程栅格图层GeoTIFF 或 COG 格式的 DEM——栅格工具是文件进、文件出本地或可访问的栅格最顺手。山体阴影设方位角、高度角、z 因子后运行得到着色浮雕。坡度算陡峭程度坡向算最陡坡的罗盘方向任选一对 DEM 运行用色带样式化输出再从控件菜单开色条显示数值标尺。等高线设间距相邻线的高程差运行得到矢量等高线图层可像普通矢量数据一样标注和样式化。要把结果限制在研究区按范围裁剪边界框浏览器可跑或按掩膜图层裁剪矢量掩膜。制图技巧山体阴影垫在其他图层下方把上层图层的混合模式设为正片叠底——浮雕会透过颜色显示比降低不透明度更干净。原理山体阴影、坡度、坡向有客户端引擎浏览器零安装可跑等高线与掩膜裁剪需要 rasterio Python 侧车即桌面应用。大栅格或地理坐标系下的地形优先用侧车引擎。空间 SQL查询后直接上图SQL 工作区基于 DuckDB-WASM 构建浏览器、桌面均可从处理 → SQL 工作区打开。查已加载的图层每个已加载的矢量图层就是一张可查询的表。先按阶段 A 载入国家图层然后运行SELECT NAME, CONTINENT, GDP_MD_EST FROM countries ORDER BY GDP_MD_EST DESC LIMIT 10;点运行看到预估 GDP 前十的国家。不知道列名先跑DESCRIBE SELECT * FROM your-file-url发现它们示例数据集用的是 Natural Earth 字段NAME、CONTINENT、POP_EST、GDP_MD_EST几何列叫geom。裸 URL 直查远程文件FROM里直接写文件 URL工作区会自动包上正确的读取器并流式读取无需先下载。标准 DuckDB CLI 里你得显式写read_parquet(https://...)这里不用。空间函数空间扩展已加载ST_*全可用。注意单位——EPSG:4326 下ST_Area算出来是平方度排序没问题要平方千米请换ST_Area_Spheroid(geom) / 1e6并保留geom列让结果能上图。结果上图与导出查询返回几何列时点添加为图层从结果建新图层可命名结果图层支持识别、选择、属性表还能一次加多个。旁边的导出 CSV和导出 GeoParquet按钮直接出文件示例查询菜单给你可运行的起点历史负责重跑旧查询。原理裸 URL 流式读取与阶段 B 同源防护边界可看 tests/duckdb-vector-guard.test.ts。阶段 D做完了发出去 地图调到满意该发布。这一节三步走分享、嵌入、运行时对话。分享项目拿一个公开 URL一次性配置设置 → 环境变量把令牌粘进Share.GeoLibre API token字段令牌在 share.geolibre.app 的「设置 → API 令牌」里创建。构建地图加图层、做样式、把视图调到希望观众落地的位置。项目 → 分享...确认标题并上传。拿到一个指向.geolibre.json的公开 URL形如https://share.geolibre.app/you/my-map.geolibre.json。原理分享存储的内容与本地保存一致。例外是读你电脑本地文件的图层——分享前对话框会把它们列为缺失因为 share.geolibre.app 只存项目文件绝不上传你的数据。任何人把项目 URL 作为url参数传给在线版即可打开例如https://web.geolibre.app/?urlhttps://share.geolibre.app/you/my-map.geolibre.json。用 iframe 嵌入地图到网页按目标场景挑参数见下表写进 iframe 的src。嵌入示例maponly出纯净地图iframe srchttps://web.geolibre.app/?urlhttps://share.geolibre.app/you/my-map.geolibre.jsonmaponly titleGeoLibre map width100% height600 styleborder: 0; loadinglazy allowfullscreen; geolocation /iframe参数作用适合场景maponly隐藏全部界面外壳只留地图地图只是页面插图layoutviewer只读图层、视图、控件、底图、搜索/识别保留所有可修改入口隐藏观众要开关图层、探索数据但不能改layoutcompact只留一条细的纯图标工具栏折中方案toolbarnone隐藏顶部工具栏保留面板与状态栏页面自带操作入口panelsnone隐藏侧边与底部面板保留工具栏只要一张干净的地图加少量控件themedark加载时强制深色主题页面本身是暗色以上参数可自由组合。运行时与地图对话URL 参数只在加载时生效一次。若想在运行时持续驱动地图——飞到用户在你自己 UI 里点的那条记录、监听图内操作——就装类型化客户端npm install geolibre/embed安装客户端包。用connect拿到 iframe 内的地图句柄订阅selectionChanged等事件调用map.setView({ bbox })、map.highlightFeature(...)驱动视图。注意边界该 API 只在把你的页面源加入白名单的部署上生效——官方在线版没有白名单所以它面向你自己托管的构建。白名单、完整命令表与免依赖的原始 postMessage 协议见 docs/user-guide/embedding.md客户端实现位于 packages/embed/。看不够就补课视频导航 喜欢看的话官方频道有 9 条录制视频与上面各阶段一一呼应按主题直接挑时长主题看点40:18GeoLibre 1.0 完整介绍浏览器、桌面、Jupyter 三种形态的安装与运行180 GB 数据集流式加载不下载PMTiles、3D 瓦片、LiDAR、DuckDB 与分享21:52浏览器中的地理处理Whitebox 工具箱全 WebAssembly 运行地形、水文、LiDAR、遥感、栅格与矢量工具零安装8:26免费高分辨率灾害卫星影像装 Vantor 插件、检索 STAC 目录、对比灾前灾后影像、下载原始 COG16:25浏览器中规整建筑足迹Rust 规整化工具清理不规则建筑多边形附可试玩的在线示例项目25:41GeoLibre GeoLens 自托管技术栈部署 GeoLens、浏览其目录、做拉伸 表达式样式的 3D 地图、建筑增长时间动画、编辑并回写18:55Model Builder 与 AI 助手浏览器里搭图形化、可复用的处理流程从自然语言提示直接生成模型23:14免费卫星影像制图尼泊尔洪水完整灾害响应流查找、查看、对比、下载开放影像前后滑动对比、3D 地形、建筑足迹提取与导出1:07:28云原生 GIS 工作流网络研讨会最长的项目总览COG、GeoParquet、PMTiles、DuckDB、WebAssembly 如何协同插件生态与 GeoAI 集成15:35浏览器中影像地理配准放地面控制点、选变换方法、读逐点与 RMS 残差、导出 GeoTIFF、NoData 透明与滑动对比分章节内容与总结统一收在 docs/tutorials/videos.md。决策速查 ❓必须装桌面端吗不必须。浏览器能覆盖加数据、样式、查询、分享这类绝大多数操作。只有四类事需要桌面打开/保存项目文件、读本地 MBTiles 与栅格、Python 侧车工具栅格处理、矢量转 FlatGeobuf / PMTiles、栅格转 COG、等高线、掩膜裁剪。Whitebox 的 1000 工具不在此列它们以 WebAssembly 在浏览器里跑。大区域缓冲用哪个引擎选PythonPyodide或侧车GeoPandas——两者缓冲前先重投影距离是投影感知的大范围公制距离才准客户端 Turf.js 适合小范围快速试。COG 序列怎么动起来配合时间滑块插件做时间动画详见 docs/user-guide/data-integrations.md。嵌入参数怎么组合maponly、layoutviewer、layoutcompact、toolbarnone、panelsnone、themedark可任意组合。按观众需求选纯插图用maponly要能看不能改用layoutviewer。分享会把我的数据文件传上去吗不会。share.geolibre.app 只存.geolibre.json项目文件读本地文件的图层会在分享前被标为缺失这些数据需要你自己另找地方托管做法见 docs/user-guide/projects.md 的分享本地数据一节。回头捋一遍阶段 A 让你拿到一张能查数据的样式化地图阶段 B 让数据按需在浏览器里流动阶段 C 用矢量、地形、SQL 三条路把数算出来阶段 D 把结果变成公开链接、网页组件和可编程对象。完整的文字教程在 docs/tutorials/界面细节随时可查用户指南视频则从另一个角度演示同一批工作流。起步建议很明确先打开在线版把阶段 A、B 过一遍碰到要本地文件或侧车的步骤再装桌面应用——切换成本很低路线已经铺好了。【免费下载链接】GeoLibreA lightweight, cloud-native GIS platform for visualizing, exploring, and analyzing geospatial data. It runs in the web browser, on the desktop, on mobile, and inside Jupyter notebooks.项目地址: https://gitcode.com/GitHub_Trending/ge/GeoLibre创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

自建Prowlarr聚合搜索:磁力链接与DHT网络的一站式索引管理

自建Prowlarr聚合搜索:磁力链接与DHT网络的一站式索引管理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 6:28:55 阅读更多 →
Vue3中xgplayer视频播放器实战:封装、清晰度切换与直播流避坑指南

Vue3中xgplayer视频播放器实战:封装、清晰度切换与直播流避坑指南

做Vue3项目,最绕不开的一个需求应该就是视频播放了。短视频类的横滑信息流、课程点播、直播回放、后台监控画面的实时预览——随便拉一个业务场景出来,都离不开播放器。原生video标签能力不能说没有,但控制条风格、清晰度切换、直播流支持、移…

2026/9/20 6:28:55 阅读更多 →
李宏毅2026机器学习课:面向入门者的教学重构与工程化实践

李宏毅2026机器学习课:面向入门者的教学重构与工程化实践

1. 这门课到底“优化”在哪儿?——不是简单搬运,而是教学逻辑的重构你点开过李宏毅老师的机器学习课,也看过2024、2025年版本的课程录像,但真正坐下来把2026优化版从头到尾刷完三遍之后,我才敢说:这根本不是…

2026/9/20 6:28:55 阅读更多 →

最新新闻

GetQzonehistory|QQ空间说说全量备份:3条命令跑完全流程

GetQzonehistory|QQ空间说说全量备份:3条命令跑完全流程

GetQzonehistory|QQ空间说说全量备份:3条命令跑完全流程 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 想把这些年发在QQ空间里的说说导成一张表格,…

2026/9/20 8:22:41 阅读更多 →
PHP智能组卷系统开发实践与优化

PHP智能组卷系统开发实践与优化

1. 项目背景与核心价值作为一名经历过无数次手工组卷折磨的高校教师,我深知传统出卷方式的痛点。每次期末考试前,教研室总要组织3-5名教师封闭出题,从题库筛选、难度平衡到格式调整,往往需要耗费整整一周时间。更痛苦的是&#xf…

2026/9/20 8:22:41 阅读更多 →
OpenResearch深度解析:从开源协作到研究即代码的新范式

OpenResearch深度解析:从开源协作到研究即代码的新范式

1. OpenResearch 到底在做什么先说个有意思的现象。我身边不少搞AI的朋友,最近都在聊同一个词:OpenResearch。有人把它当作“Karpathy的新项目”来追,有人把它当作“开放科学运动的一个案例”来研究,还有人干脆在GitHub上混了个脸…

2026/9/20 8:22:41 阅读更多 →
Modbus Poll与Modbus Slave:主从站仿真调试工具详解与实战

Modbus Poll与Modbus Slave:主从站仿真调试工具详解与实战

1. 这两个工具到底解决什么问题1.1 为什么工控调试离不开 Modbus 仿真工具干工控这一行的人,谁没被“通讯异常”四个字逼疯过?现场一台上位机、几台仪表,PLC 和变频器之间的 Modbus 通讯死活连不上,你分不清是仪器地址写错了、波特…

2026/9/20 8:22:41 阅读更多 →
Linux驱动自动加载实战:modprobe、udev与initramfs全解析

Linux驱动自动加载实战:modprobe、udev与initramfs全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 8:22:41 阅读更多 →
传统算法+大模型:工业AI落地的分工架构与实战经验

传统算法+大模型:工业AI落地的分工架构与实战经验

1. 为什么“传统算法大模型”才是工业界的真实解法这两年做大模型落地的人都有一个共同感受:Demo 惊艳,上线拉胯。你在本地用 Ollama 跑个 7B 模型,问它几个问题,感觉“这玩意儿要取代一切了”;可真把它塞进一条业务流…

2026/9/20 8:21:40 阅读更多 →

日新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →