GeoLibre 免费云原生 GIS 指南:浏览器里零安装出图、分析、分享与嵌入
GeoLibre 免费云原生 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它同时跑在浏览器、桌面、移动端和 Jupyter Notebook 里。你能用它加载 GeoParquet、FlatGeobuf、COG 这类远程格式做缓冲、叠加、山体阴影等矢量/栅格分析用 DuckDB 空间 SQL 直接查询并把结果上图最后把项目一键分享成公开链接、或用 iframe 嵌进任意网页。读完这篇你会知道从「打开空白地图」到「拿到一个可分享的 URL」整条链路怎么走以及哪些步骤必须在桌面端完成。能力全景图先把能力摊开成三层进来什么、算什么、出去什么。能力层典型动作用到的格式 / 引擎在哪里跑数据加载远程/本地加载、流式不拷贝、本地转云原生GeoParquet、FlatGeobuf、COG、PMTiles、GeoTIFFDuckDB-WASM 读取浏览器 / 桌面空间分析缓冲、叠加、连接、山体阴影、坡度、坡向、等高线、裁剪Turf.js客户端、GeoPandas侧车 / Pyodide、rasterio侧车、WhiteboxWASM客户端为主等高线/掩膜裁剪需桌面成果交付属性表/SQL 导出 CSV/GeoParquet、分享项目、iframe 嵌入、运行时 API.geolibre.json项目文件、geolibre/embed分享在任意环境嵌入看你自托管 关键前提绝大多数能力浏览器就能跑只有「读本地文件 Python 侧车」相关操作需要桌面应用。5 分钟跑通首张地图浏览器构建版 web.geolibre.app 就是 GeoLibre 本体装都不用装直接开练。下面这条最短路径能给你一张「有样式、能查数据」的地图。开一张图进入在线版你会看到一张底图和一个空的图层面板参见图层面板说明。加一个矢量图层打开「添加数据 → 矢量图层」在输入框里贴上示例数据集地址点「加载」https://data.source.coop/giswqs/opengeos/countries.parquet各国轮廓立刻上图图层面板里多出一个countries图层。所有支持的数据源见添加数据。改样式选中countries展开右侧样式面板调「填充颜色 / 轮廓颜色 / 填充不透明度」。想做分级统计图就把「样式类型」设为Graduated挑一个数值属性如POP_EST或GDP_MD_EST设类别数、配色方案和色带再点「应用样式类型」。参考样式。查数据状态栏点「属性表」展开选countries载入记录可按列排序或在「搜索属性」里找要素选中某行地图会高亮点「探索」能一次看全每个字段的类型、完整度与取值分布。参考属性表。收尾桌面端用「项目 → 保存」写成.geolibre.json任何环境都能「项目 → 分享」拿到公开链接。想省事的读者可以只做到第 3 步就停下——一张带样式的地图已经能用了。按场景深入场景 A把云原生数据搬上图GeoLibre 天生为云原生格式设计矢量是 GeoParquet 和 FlatGeobuf栅格是 COG瓦片是 PMTiles。远程加载 GeoParquet打开「添加数据 → GeoParquet 图层」或矢量图层贴上 URL 加载。大文件有个更省的开关——流式 GeoParquet不拷贝它走 HTTP range 请求「原地查询」不把整个文件搬进内存最适合按空间排序的大远程文件比如 Hilbert 序写出来的那种GeoLibre 自带转换工具就这么写这样只抓相关 row group。远程加载 FlatGeobuf打开「添加数据 → FlatGeobuf 图层」贴.fgbURL 加载。格式允许时它只抓当前视野内的要素。远程加载 COG打开「添加数据 → 栅格图层」贴 COG 的.tifURL。COG 是组织过的常规 GeoTIFF客户端只读它需要的块。加载后同样能在样式面板调亮度、对比度、饱和度、色相。 顺手一招本地 GeoTIFF / COG 可以直接拖到地图上当成栅格图层加进来见添加数据 - 拖放。本地转云原生用「处理 → GeoLibre 工具箱 → 转换」写出云原生文件。这里要分清引擎矢量转 GeoParquet、CSV 转 GeoParquet在浏览器里借 DuckDB-WASM 跑无需安装矢量转 FlatGeobuf、矢量转 PMTiles、栅格转 COG跑在 Python 侧车也就是桌面应用。举个例子把本地 GeoJSON 发成 GeoParquet打开「处理 → GeoLibre 工具箱 → 转换 → 矢量转 GeoParquet」选输入文件和输出路径运行再把产物加回地图验证。想深挖这套读取管线浏览器按需加载在apps/geolibre-desktop/src/lib/duckdb-vector-loader.tsGeoParquet 写入器在apps/geolibre-desktop/src/lib/duckdb-geometry.ts浏览器内 DuckDB 处理管线在apps/geolibre-desktop/src/lib/duckdb-processing.ts。场景 B做空间分析分析工具分矢量和栅格两路入口都在「处理 → GeoLibre 工具箱」下。⚠️ 先分清两个工具箱处理 → 矢量分隔线上方是 Whitebox 目录的矢量类本场景用的是处理 → GeoLibre 工具箱 → 矢量。别点错。矢量缓冲与叠加先至少加一个矢量图层做叠加要两个比如一组点/线 一个裁剪用的多边形。缓冲「处理 → GeoLibre 工具箱 → 矢量 → 缓冲」设输入图层、距离、单位再选引擎客户端Turf.js浏览器内跑零配置但在地理坐标里做缓冲侧车GeoPandas桌面端跑支持投影感知的精确距离PythonPyodide在浏览器里跑和侧车一样的 GeoPandas 代码结果与侧车一致又不用装侧车首次使用会下载一次。大范围要精确公制距离选后两者它们缓冲前会先重投影。叠加有了缓冲结果或任意多边形和第二个图层可跑裁剪保留落在叠加层内、保留输入属性、相交只留重叠、差异减去叠加区、合并两层合一不保留属性、空间连接按空间关系挂属性适用任意几何、属性连接按关键字段一对一挂属性不涉及几何。从「处理 → GeoLibre 工具箱 → 矢量」打开选输入与叠加图层运行即可。栅格从 DEM 出地形产品栅格工具在「处理 → GeoLibre 工具箱 → 栅格」下是「文件进、文件出」所以本地或可访问的栅格最顺。山体阴影选 DEM可设方位角、高度角、z 因子运行后浮雕栅格上图。把它压到别的图层下面把上层混合模式设为正片叠底Multiply让浮雕透过颜色显出来而不是像降透明度那样一起洗淡。坡度 / 坡向从 DEM 算陡峭程度、算最陡坡的罗盘方向。任选其一对 DEM 跑用色带出样式再从控件菜单打开「色条」显示数值标尺。等高线设等高线间距相邻线的高程差跑出矢量等高线图层之后可以像普通矢量一样标注、上样式。裁剪到研究区「按范围裁剪」边界框浏览器可跑或「按掩膜图层裁剪」矢量掩膜仅侧车。⚠️ 引擎归属别记混山体阴影、坡度、坡向都有客户端浏览器引擎浏览器构建零安装能跑等高线和按掩膜裁剪没有客户端引擎需要 rasterio 侧车也就得用桌面应用。每个工具顶部的引擎选择器会显示可用项大栅格或地理坐标系下建议优先侧车。检查与精修结果图层上开属性表看输出、调样式与输入区分开每次运行都记进「处理 → 历史」条目可一键重跑并复制等价的 Python 代码。参考处理工具。场景 C用 SQL 把数据问出来SQL 工作区基于 DuckDB-WASM浏览器和桌面都能用从「处理 → SQL 工作区」打开。查已加载的图层每个已加载的矢量图层就是一张可查询的表。先加载示例国家图层然后SELECT NAME, CONTINENT, GDP_MD_EST FROM countries ORDER BY GDP_MD_EST DESC LIMIT 10;点「运行」看到预估 GDP 最高的十个国家。列名提醒NAME、CONTINENT、POP_EST、GDP_MD_EST是示例countries.parquet采用的 Natural Earth 字段几何列叫geom。换数据集时列名不同可先跑DESCRIBE SELECT * FROM your-file-url探一下。裸 URL 直接查 Parquet不必先加载。工作区会识别FROM子句里的裸 URL自动包上正确的读取器再用 HTTP range 流式读不用整体下载。SELECT COUNT(*) AS n FROM https://data.source.coop/giswqs/opengeos/countries.parquet;这个裸 URL 简写是 SQL 工作区的便利特性标准 DuckDB CLI 里你得显式写read_parquet(https://...)。底层与apps/geolibre-desktop/src/lib/duckdb-vector-loader.ts的按需加载同源防护边界见tests/duckdb-vector-guard.test.ts。用空间函数空间扩展已加载ST_*函数都能用。比如算面积并保留geom以便上图-- 数据在 EPSG:4326面积单位是平方度 -- 要平方千米请用 ST_Area_Spheroid(geom) / 1e6。 SELECT NAME, ST_Area(geom) AS area, geom FROM https://data.source.coop/giswqs/opengeos/countries.parquet WHERE CONTINENT Africa ORDER BY area DESC;结果上图 导出查询返回几何列时点「添加为图层」就能从结果建新图层可命名且一次可加多个。结果图层和任何矢量图层一样支持识别、选择和属性表。导出方面「导出 CSV」和「导出 GeoParquet」两个按钮就在「添加为图层」旁边。小工具用「示例查询」菜单从一个能跑的查询起步用「历史」重跑之前的查询。参考SQL 工作区。场景 D把成果交付出去满意后就能发布成公开链接、或嵌进网页。完整参考见嵌入与分享。先配分享令牌分享会把项目传到 share.geolibre.app用个人 API 令牌。打开「设置 → 环境变量」把令牌贴进Share.GeoLibre API token字段在 share.geolibre.app 的「设置 → API 令牌」下创建。一次配好即可。分享项目调好图层、样式和地图视图后打开「项目 → 分享...」确认标题并上传。GeoLibre 会返回一个指向.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 srchttps://web.geolibre.app/?urlhttps://share.geolibre.app/you/my-map.geolibre.jsonamp;maponly titleGeoLibre map width100% height600 styleborder: 0; loadinglazy allowfullscreen; geolocation /iframe可调外观的参数可自由组合maponly隐藏全部外壳只留地图layoutviewer只读地图——图层、视图、控件、底图、搜索/识别都保留会改项目的部分全隐藏layoutcompact留一条细的纯图标工具栏toolbarnone隐藏顶部工具栏留面板和状态栏panelsnone隐藏侧边和底部面板留工具栏themedark加载时强制深色。读者需要开图层、逛数据但不能改 → 用layoutviewer地图只是页面插图、不是交互对象 → 用maponly。完整参数表见嵌入与分享。运行时驱动地图URL 参数只在加载时配置一次。想运行时持续跟地图对话飞到你自己 UI 里点中的那条记录、监听图内操作就装类型化客户端npm install geolibre/embedimport { connect } from geolibre/embed; const map await connect(document.querySelector(iframe), { origin: https://web.geolibre.app, }); map.on(selectionChanged, ({ featureIds }) showRecordFor(featureIds[0])); async function focusField(field) { await map.setView({ bbox: field.bbox }); await map.highlightFeature({ layerId: fields, filter: { parcel_id: field.id }, fit: true }); }⚠️ 注意这段只在「把你的页面源origin加进白名单」的部署上生效——web.geolibre.app 本身没有白名单所以运行时 API 只适用于你自己托管的构建版。白名单、完整命令列表、免依赖的原始postMessage协议见运行时与地图对话。类型化客户端实现就在packages/embed/src契约测试见tests/embed-api.test.ts与tests/embed-client.test.ts。「在哪跑」对照矩阵把散落在各处的「哪些要桌面/侧车」集中成速查表能力浏览器在线版桌面应用Jupyter Notebook加载远程 GeoParquet / FlatGeobuf / COG✅✅—面板脚本控制地图读本地 MBTiles / 本地栅格❌✅—矢量转 GeoParquet、CSV 转 GeoParquet✅DuckDB-WASM✅—矢量转 FlatGeobuf / PMTiles、栅格转 COG❌✅侧车—缓冲Turf / Pyodide / 侧车✅Turf、Pyodide✅含侧车—山体阴影 / 坡度 / 坡向✅客户端引擎✅含侧车—等高线 / 按掩膜裁剪❌✅侧车—打开/保存.geolibre.json项目文件❌✅—SQL 工作区DuckDB-WASM✅✅—分享项目、嵌入✅✅—内置 Jupyter Notebook 面板✅JupyterLite/Pyodide✅真实 JupyterLab即此场景白名单例外Whitebox 地理处理工具箱1000 工具走 WebAssembly浏览器里就能跑不依赖侧车。常见卡点速查现象等高线/按掩膜裁剪点不了。原因这两项没有客户端引擎只能靠 rasterio 侧车。解法切到桌面应用用「侧车」引擎。现象大范围缓冲出来的公里数不对。原因客户端Turf.js在地理坐标里做缓冲大范围会有投影误差。解法改用侧车GeoPandas或PythonPyodide它们缓冲前会先重投影。现象分享后本地图层在别人的链接里不见了。原因share.geolibre.app 只存项目文件不存你的数据文件。解法把这些本地数据托管到可公开访问的位置再用远程 URL 加载。现象裸 URL 查询报读取错误但同一文件手动加载正常。原因SQL 工作区自动包读取器依赖扩展名/内容判断个别远端响应头不规范会干扰。解法先显式「添加数据」加载成表再对表名查询。现象iframe 嵌入后想监听/驱动地图没反应。原因运行时 API 只在配置了 origin 白名单的自托管部署生效公共 web 版没有白名单。解法自托管一份构建版并把你的 origin 加进白名单。现象想让 COG 序列动起来。原因静态图层本身不带时间轴。解法装时间滑块插件对栅格序列做时间动画见数据集成。下一步想看真人实操视频教程 收录了从 1.0 总览、浏览器地理处理到影像地理配准的一系列分章节演示。想要逐项参考用户指南 把界面、图层、样式、属性表、处理、SQL 工作区都拆成了可回链的页面。想顺着代码读实现数据读取看apps/geolibre-desktop/src/lib/duckdb-vector-loader.ts嵌入客户端看packages/embed/srcSQL 防护看tests/sql-query-layer.test.ts。【免费下载链接】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),仅供参考

相关新闻

安川DX200搬运应用实操指南:标定、IO联调与节拍优化

安川DX200搬运应用实操指南:标定、IO联调与节拍优化

简介:本资源是安川机器人DX200官方《操作要领书》(通用及搬运用途)完整PDF版,面向工业自动化工程师、机器人运维人员及产线技术员,解决DX200日常操作、安全规范、示教编程与基础维护等核心实操问题。文档严格依据安川电…

2026/9/20 7:56:28 阅读更多 →
NixOS 无线网络配置完全指南:wpa_supplicant 的声明式、命令式与企业级接入实战

NixOS 无线网络配置完全指南:wpa_supplicant 的声明式、命令式与企业级接入实战

NixOS 无线网络配置完全指南:wpa_supplicant 的声明式、命令式与企业级接入实战 【免费下载链接】nixpkgs Nix Packages collection & NixOS 项目地址: https://gitcode.com/GitHub_Trending/ni/nixpkgs 本指南以 NixOS 官方手册 wireless.section.md 为…

2026/9/20 7:56:28 阅读更多 →
PMP认证五大过程组实战解析与项目管理黄金法则

PMP认证五大过程组实战解析与项目管理黄金法则

1. 项目管理专业认证的核心框架解析在项目管理领域,PMP(项目管理专业人士)认证被视为黄金标准,而五大过程组则是这套方法论的基础骨架。作为从业十余年的项目管理顾问,我见证过太多团队因为忽视过程组的系统应用而陷入…

2026/9/20 7:55:27 阅读更多 →

最新新闻

GeoServer林业WMS服务配置与优化指南

GeoServer林业WMS服务配置与优化指南

1. 项目概述林业地理信息系统的建设离不开专业地图服务的支持。GeoServer作为开源地理空间数据服务器,能够高效发布符合OGC标准的WMS(Web Map Service)服务。本文将详细介绍从零开始配置GeoServer到最终发布林业专题地图服务的完整流程。林业…

2026/9/20 8:48:52 阅读更多 →
旧物回收与改造:从分类到变现全攻略

旧物回收与改造:从分类到变现全攻略

1. 旧物回收的价值再发现每次大扫除时,那些堆积如山的旧床单、被罩、衣服鞋子、帽子包包,你是不是也习惯性地扔进垃圾桶?其实这些看似无用的旧物,都藏着被我们忽视的回收价值。作为一个在家居整理和旧物改造领域摸爬滚打多年的从业…

2026/9/20 8:48:52 阅读更多 →
Zephyr 下 NXP MIMXRT685-AUD-EVK 开发板支持指南:硬件资源、板级配置与烧录调试实战

Zephyr 下 NXP MIMXRT685-AUD-EVK 开发板支持指南:硬件资源、板级配置与烧录调试实战

操作系统嵌入式RTOS物联网 【免费下载链接】zephyr Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures. 项目地址: https://gitcode.com/GitHub_Trending/ze/zep…

2026/9/20 8:48:52 阅读更多 →
Pico 4 Ultra 第一视角数据采集实战:规格、对比与工作流

Pico 4 Ultra 第一视角数据采集实战:规格、对比与工作流

第一人称视角的具身数据采集,这两年从学术圈的小众玩法变成了机器人、空间计算、人机交互几个方向的刚需。我最早用手机加云台凑合过,后来换过运动相机挂胸前的方案,直到把 Pico 4 Ultra 拿来做 egocentric data 采集,才算是把&qu…

2026/9/20 8:48:52 阅读更多 →
VR多人协作中的手势冲突解决与空间交互优化

VR多人协作中的手势冲突解决与空间交互优化

1. 项目背景与核心挑战去年参与某跨国团队的VR协作项目时,我们遇到了一个有趣的问题:当三个设计师同时伸手去抓取同一个虚拟模型时,六只手在空气中交错挥舞,系统完全无法判断谁想操作哪个部件。这种"虚拟手势打架"现象导…

2026/9/20 8:48:52 阅读更多 →
CC Switch 本地代理排障指南:从 401/404/502 到 reasoning_content 报错全解析

CC Switch 本地代理排障指南:从 401/404/502 到 reasoning_content 报错全解析

/* 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:47:52 阅读更多 →

日新闻

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 阅读更多 →