GeoLibre 云原生 GIS 完整指南:5 分钟出图、不下载查询远程数据、嵌入网页
GeoLibre 云原生 GIS 完整指南5 分钟出图、不下载查询远程数据、嵌入网页【免费下载链接】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 里数据默认留你在本地的设备上处理。这篇文章不按官方教程的顺序而是按真实任务流带你过四件事出图、接远程数据、做空间分析、发布与嵌入每部分都标注哪些操作浏览器就能跑、哪些必须装桌面应用。先出图从空工作区到一张带样式、可查属性的地图能做什么几分钟内把一个数据集加进地图、设成填色或分级统计图、检查属性表然后保存或生成公开链接。需要什么零安装官方浏览器构建版web.geolibre.app就够想本地落盘保存项目文件则用桌面应用。操作路径很短加数据在Add Data → Vector Layer面板里粘贴一个矢量 URL。官方多个教程共用一份公开的世界国家 GeoParquet 示例https://data.source.coop/giswqs/opengeos/countries.parquet用它把本节全部跑通最省事。设样式在图层面板选中该图层样式面板里调填充颜色、轮廓颜色、填充不透明度。想做分级统计图把样式类型切到Graduated选一个数值属性示例数据里有POP_EST、GDP_MD_EST定好类别数、配色方案和色带后应用。查数据点状态栏的Attribute table展开选中图层载入记录。可以按列排序、在Search attributes里搜关键词选中某行地图会高亮对应要素点Explore一次性看每个字段的类型、完整度和值分布。再打开Identify features点地图上的任一国家就能在弹窗里看它的属性。保存或分享桌面应用用Project → Save写出.geolibre.json项目文件任何环境都能用Project → Share上传拿公开链接细节见后文发布与嵌入一节。易错点别把示例数据集的列名当成你自己的字段。这份文件的字段是 Natural Earth 的NAME、CONTINENT、POP_EST、GDP_MD_EST几何列叫geom换一份数据列名就变了拿不准时先在 SQL 工作区跑一句DESCRIBE SELECT * FROM 你的文件URL探一下。完整流程见 docs/tutorials/first-map.md。接数据远程文件用 Range 请求原地查询不用整包下载能做什么直接从 URL 加载云原生格式GeoParquet、FlatGeobuf、COG按需读取需要的部分。远程数据集要先下载吗不需要。云原生格式的要点就是文件本身组织好了客户端只取需要的片段格式类型读取行为GeoParquet矢量列式存储可开Stream GeoParquet (no copy)用 HTTP range 请求原地查询若文件行按空间排序例如 GeoLibre 自带转换工具写出的 Hilbert 序只抓取相关 row groupFlatGeobuf矢量自带空间索引格式允许时只抓取当前视图内的要素COG栅格按瓦片组织只读需要的瓦片加载后可在样式面板调亮度、对比度、饱和度与色相加载入口都统一在Add Data下GeoParquet / FlatGeobuf / Raster 图层填 URL、点加载即可。本地 GeoTIFF 或 COG 也可以直接拖进地图当栅格图层加。流式读取的实现位于桌面端 DuckDB 加载管线 apps/geolibre-desktop/src/lib/duckdb-vector-loader.ts。把本地文件变成云原生格式Processing → GeoLibre Toolbox → Conversion里有转换入口引擎差异是关键Vector to GeoParquet、CSV to GeoParquetDuckDB-WASM 在浏览器里跑零安装Vector to FlatGeobuf、Vector to PMTiles、Raster to COG走 Python 侧车需要桌面应用。比如把本地 GeoJSON 发布为 GeoParquet打开Vector to GeoParquet选输入文件和输出路径运行再把产出的文件加回地图验证即可。完整流程见 docs/tutorials/cloud-native-data.md。跑分析矢量、地形、SQL 三条路不写代码的缓冲与叠加能做什么缓冲、裁剪、相交、差集、合并、空间连接、属性连接结果自动成为地图上的新图层。工具都放在Processing → GeoLibre Toolbox → Vector下选输入图层、选叠加图层、挑引擎、Run。缓冲的引擎选择最容易迷惑直接列清楚引擎运行位置特点客户端Turf.js浏览器零配置但在地理坐标下做缓冲侧车GeoPandas桌面 Python 侧车先重投影再缓冲公制距离精确PythonPyodide浏览器跑与侧车相同的 GeoPandas 代码结果与侧车一致首次使用下载一次运行时技巧大范围、要求公制距离精确时选两个 GeoPandas 引擎之一——桌面用侧车浏览器版用 Pyodide。客户端引擎适合快速近似。叠加类工具一句话说明Clip保留落在叠加层内部的输入部分并保留输入属性Intersection只留两块多边形的重叠区Difference从输入里扣掉叠加层区域Union合并两层任何引擎下都不保留属性Spatial join按空间关系相交、包含、位于内部把连接层属性挂到每个输入要素上任何几何类型都行Attribute join靠关键字段匹配挂属性、不涉及几何例如用共享的 FIPS 代码把人口普查统计挂到边界多边形上一对一、第一个匹配的连接行胜出可选内连接或左连接。每次运行都会记进Processing → History可一键重跑也能复制等价的 Python 代码。易错点Processing 菜单里分隔线上方也有一个 Vector那是 Whitebox 工具箱的矢量类别1000 个 WebAssembly 工具本节的对话框在Processing → GeoLibre Toolbox → Vector下两者不是重复项。区别见 docs/user-guide/processing.md。地形产品从 DEM 派生山体阴影、坡度与等高线能做什么从高程栅格GeoTIFF/COG 格式的 DEM派生山体阴影、坡度、坡向和等高线。先加一个 DEM 图层然后进Processing → GeoLibre Toolbox → RasterHillshade山体阴影可调方位角、高度角、z 因子控制光照运行后着色浮雕栅格自动上图。把它压到其他图层下面、把上层混合模式设为Multiply能让浮雕透过颜色显示效果比降透明度把两层一起洗淡好得多。Slope坡度/ Aspect坡向分别算陡峭程度和最陡坡的罗盘方向。给输出配一个色带样式再从控件菜单打开Colorbar显示数值标尺。Contour等高线设间距相邻两条线的高程差产出是矢量图层可以像普通矢量数据一样标注和样式化。裁剪到研究区Clip by extent是边界框、浏览器也能跑Clip by mask layer是矢量掩膜、仅侧车。引擎即浏览器/桌面之分Hillshade、Slope、Aspect 都有Client (browser)引擎前三项在浏览器里零安装跑完Contour和Clip by mask layer没有客户端引擎需要桌面应用管理的 rasterio Python 侧车。大栅格或地理坐标系下的地形建议优先用侧车。每个工具顶部的引擎选择器会显示当前可用的选项。或者写一句 SQL远程文件直接查能做什么SQL 工作区基于 DuckDB-WASM 运行 DuckDB Spatial SQLST_*空间函数全部可用查询结果能直接变成地图图层。浏览器和桌面都支持从Processing → SQL Workspace进入。每个已加载的矢量图层就是一张可查询的表。查预估 GDP 前十的国家SELECT NAME, CONTINENT, GDP_MD_EST FROM countries ORDER BY GDP_MD_EST DESC LIMIT 10;更有意思的是可以先不加载文件。工作区会检测FROM子句里的裸 URL自动包上对应的读取器再用 range 请求流式读SELECT COUNT(*) AS n FROM https://data.source.coop/giswqs/opengeos/countries.parquet;空间函数自然也可用算非洲各国面积并把结果上图记得保留geom列注意 EPSG:4326 下面积单位是平方度要平方千米请用ST_Area_Spheroid(geom)再除以 1e6。查询返回几何列时点Add as layer就能从结果建图层可一次加多个结果图层和任何矢量图层一样支持识别、选择和属性表。Export CSV与Export GeoParquet按钮就在Add as layer旁边结果当场就能带走。起步用Sample queries菜单重跑旧查询用history。工作区所在处理管线实现见 packages/processing完整参考见 docs/user-guide/sql-workspace.md。发布与嵌入一个公开链接或能被页面驱动的地图能做什么项目上传后拿公开 URL用 iframe 嵌进任意网页还能从自己的页面在运行时持续控制地图。发布前先配一次令牌把你的个人 API 令牌粘到Settings → Environment Variables的Share.GeoLibre API token字段令牌在share.geolibre.app/settings的 Settings → API tokens 下创建只需设置一次。然后Project → Share...确认标题、上传GeoLibre 会返回指向.geolibre.json文件的公开 URL例如https://share.geolibre.app/you/my-map.geolibre.json。分享文件捕获的内容与本地保存完全一致——图层、样式、插件状态、地图视图。例外是读取你电脑本地文件的图层分享前对话框会列出它们为缺失因为分享服务只存项目文件绝不上传你的数据。任何人用浏览器版打开分享项目的方式https://web.geolibre.app/?urlhttps://share.geolibre.app/you/my-map.geolibre.json一行 iframe 嵌入网页要干净、纯地图的嵌入加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外观由 URL 参数控制参数可自由组合参数效果maponly隐藏所有界面外壳只留地图——适合地图只是页面插图layoutviewer只读图层、视图、控件、底图、搜索/识别保留一切改项目的部分隐藏——适合读者可探索但不可改layoutcompact保留一条细的纯图标工具栏toolbarnone隐藏顶部工具栏保留面板和状态栏panelsnone隐藏侧边与底部面板保留工具栏themedark加载时强制深色主题运行时跟地图对话URL 参数只在加载时生效一次。想持续对话——比如读者在你的 UI 里点了某条记录地图就飞过去同时你还想监听他在图内的操作——装类型化客户端npm install geolibre/embedconnect到 iframe 之后用map.on(selectionChanged, ...)监听选中变化map.setView({ bbox })飞行到范围map.highlightFeature({ layerId, filter, fit: true })高亮定位某个要素。注意这只对被白名单允许你页面 origin 的部署生效——官方浏览器版没有白名单运行时 API 面向的是你自己托管的构建版。客户端实现见 packages/embed完整参数表与免依赖的postMessage协议见 docs/user-guide/embedding.md。环境对照哪些浏览器能跑、哪些必须桌面端任务浏览器版桌面应用加图层、样式、属性表、分享公开链接✅✅远程 GeoParquet / FlatGeobuf / COG 流式加载✅✅SQL 工作区DuckDB-WASM✅✅矢量缓冲Turf.js 或 Pyodide 引擎✅✅山体阴影、坡度、坡向客户端引擎✅✅Whitebox 1000 工具WebAssembly✅✅打开 / 保存.geolibre.json项目文件—✅本地 MBTiles、本地栅格读取—✅等高线、矢量掩膜裁剪、栅格转 COG、矢量转 FlatGeobuf / PMTiles—✅rasterio 侧车矢量转 GeoParquet、CSV 转 GeoParquetDuckDB-WASM✅✅一句话分析与浏览器数据大多浏览器能跑本地文件与侧车工具才需要桌面端。Python 侧车由桌面应用自动管理见 docs/getting-started.md。常见问题哪些步骤必须桌面应用打开/保存项目文件、读本地 MBTiles 与栅格、rasterio 侧车工具等高线、矢量掩膜裁剪、栅格转 COG、矢量转 FlatGeobuf / PMTiles 等转换。Whitebox 工具箱除外——它的 1000 工具在浏览器里以 WebAssembly 运行。大范围缓冲该选哪个引擎客户端 Turf.js 快但在地理坐标下缓冲要公制距离精确就选侧车桌面或 Pyodide浏览器两者都会先重投影。COG 序列怎么动起来打开时间滑块插件Time Slider对栅格序列做时间动画见 docs/user-guide/data-integrations.md。延伸入口视频教程官方还维护一组带章节和总结的实操演示覆盖 1.0 完整走查浏览器/桌面/Jupyter 三构建、180 GB 数据集流式加载、浏览器地理处理1000 工具零安装、免费高分辨率灾害卫星影像、建筑足迹规整化、GeoLens 自托管栈、Model Builder AI 助手、2026 尼泊尔洪水制图、影像地理配准等。见 docs/tutorials/videos.md。教程总入口docs/tutorials/index.md六篇官方教程首张地图 / 云原生数据 / 矢量分析 / 地形分析 / 空间 SQL / 分享与嵌入都在那里。用户指南界面、添加数据、样式、属性表、处理工具等参考页在 docs/user-guide/ 下。核心源码渲染与交互在 packages/map处理管线在 packages/processing桌面壳在 apps/geolibre-desktop。练习顺序建议先用浏览器版把出图 SQL 查询跑通遇到需要本地文件或侧车的步骤再切桌面应用继续。【免费下载链接】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),仅供参考

相关新闻

Android开发板ADB设备序列号重复?用transport_id和无线ADB精准区分

Android开发板ADB设备序列号重复?用transport_id和无线ADB精准区分

/* 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 19:06:09 阅读更多 →
从 Prompt 到 Skills:AI 辅助编程的研发全生命周期实战指南

从 Prompt 到 Skills:AI 辅助编程的研发全生命周期实战指南

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

2026/9/22 1:53:03 阅读更多 →
ik_llama.cpp PR 72 深度解析:Zen4/AVX2 上重写 IQ4_NL 矩阵乘实现,PP-512 提速 22%

ik_llama.cpp PR 72 深度解析:Zen4/AVX2 上重写 IQ4_NL 矩阵乘实现,PP-512 提速 22%

ik_llama.cpp PR #72 深度解析:Zen4/AVX2 上重写 IQ4_NL 矩阵乘实现,PP-512 提速 22% 【免费下载链接】ik_llama.cpp llama.cpp fork with additional SOTA quants and improved performance 项目地址: https://gitcode.com/GitHub_Trending/ik/ik_lla…

2026/9/22 4:55:34 阅读更多 →

最新新闻

2020年5月20日源码解析:应届生避坑全记录

2020年5月20日源码解析:应届生避坑全记录

2020年5月20日源码解析:应届生避坑全记录 别被官方文档里那些密密麻麻的接口说明吓退,真正让你掉坑里的,往往是文档没写透的边界条件。我翻过无数遍开发者文档,发现应届生最容易栽跟头的地方,就是以为“跑通代码”等于“懂代码”。…

2026/9/22 7:17:40 阅读更多 →
3个步骤搞懂rockplayer播放器原理,保姆级教程

3个步骤搞懂rockplayer播放器原理,保姆级教程

3个步骤搞懂rockplayer播放器原理,保姆级教程 面试被问原理答不上来?别慌。很多老手在复盘时才发现,自己只记住了API调用,对底层数据流一知半解。今天这篇保姆级教程,带你从建筑工人的视角,结合机器学习思维,把rockplayer播放…

2026/9/22 7:17:40 阅读更多 →
电驴p2p源码剖析:搞定3个高频面试题,环境配置不再卡半天

电驴p2p源码剖析:搞定3个高频面试题,环境配置不再卡半天

电驴p2p源码剖析:搞定3个高频面试题,环境配置不再卡半天 配置环境就卡半天,是不是你的常态?下载了源码,依赖装不完,端口冲突报错,甚至直接跑不起来,这种挫败感在P2P开发中太常见了。很多老手转行做后端,或者学生党准备秋招,盯着【电驴p2p…

2026/9/22 7:17:40 阅读更多 →
奥比岛星梦奇缘第三章手写实现避坑指南

奥比岛星梦奇缘第三章手写实现避坑指南

奥比岛星梦奇缘第三章手写实现避坑指南 盯着屏幕上一长串红色的 StackTrace,是不是感觉脑子像浆糊一样?那种报错信息层层嵌套,从 NullPointerException 到…

2026/9/22 7:17:40 阅读更多 →
2026最新oppo手机强制重启避坑指南,老手都在用这招

2026最新oppo手机强制重启避坑指南,老手都在用这招

2026最新oppo手机强制重启避坑指南,老手都在用这招 版本升级后 API 全变了,你的旧脚本跑不动了?别慌,2026 年的技术栈迭代速度极快,连最底层的硬件交互接口都在悄悄重构。如果你还盯着三年前的教程看,代码肯定是一堆红叉。…

2026/9/22 7:17:40 阅读更多 →
一文搞懂香港中文大学申请:3类背景避坑指南

一文搞懂香港中文大学申请:3类背景避坑指南

一文搞懂香港中文大学申请:3类背景避坑指南 报错一堆看不懂 StackTrace,这种绝望感在写代码时常见,在申请港中大时同样致命。面对官网晦涩的英文要求和复杂的文书逻辑,很多应届生就像盯着满屏红字的 IDE…

2026/9/22 7:16:40 阅读更多 →

日新闻

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天 配置环境就卡半天?别怪机器慢,多半是你没选对工具链。在Java、Go或Python的项目现场, 手写实现…

2026/9/22 0:00:41 阅读更多 →
剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑 面试被问原理答不上来,是不是常态?别慌。很多开发者对着 GitHub 开源仓库里的代码发呆,看似简单实则暗藏玄机。今天这份【剑帝加点】速查手册,直接带你拆解核心实现,把面试必考的原理讲透。…

2026/9/22 0:00:41 阅读更多 →
手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优 复制来的代码跑不通不知道怎么调?别慌,这种“复制粘贴地狱”在开发圈太常见了。尤其是做 图片压缩网站…

2026/9/22 0:00:41 阅读更多 →

周新闻

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

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

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

2026/9/22 4:32:41 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

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

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

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

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

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

2026/9/21 4:51:05 阅读更多 →

月新闻

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

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

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

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

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

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

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

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

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

2026/9/22 2:43:42 阅读更多 →