
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地理信息系统平台零安装在浏览器里就能直接读取远程大数据集并跑 GIS 工具也支持桌面端和 Jupyter Notebook 两种用法。本文面向新手以官方公开的世界各国样本数据集为主线串起 6 条完整工作流——首张地图、云数据加载、矢量分析、地形分析、空间 SQL 与分享嵌入操作细节与官方教程 docs/tutorials/ 一一对应。上图就是 GeoLibre 的主界面左侧图层面板、中间地图、右侧样式与属性面板下文所有工作流都发生在这个三栏布局里。️ 零安装5 步做出第一张地图不装任何软件能出一张地图吗可以。打开浏览器版 web.geolibre.app或启动桌面应用你面前就是一张底图和一个空的图层面板。三个入口浏览器、桌面、Jupyter浏览器版打开 web.geolibre.app 即用无需安装覆盖大多数功能。桌面版需从官方下载页安装额外支持项目文件读写、本地文件读取和 Python 侧车sidecar即随桌面应用附带、负责栅格处理等重计算的独立 Python 程序。Jupyter以地图组件形式嵌进 notebook适合数据分析流程。快速上手 5 步打开添加数据 → 矢量图层。粘贴样本数据集地址多个工作流复用它https://data.source.coop/giswqs/opengeos/countries.parquet点击加载世界各国图层上屏。在图层面板选中该图层于样式面板调填充色做统计分级图choropleth则把样式类型切为Graduated选GDP_MD_EST等数值属性、类别数与色带后应用。点状态栏属性表搜索、排序查数据开启要素识别后点击地图上的国家弹窗显示其属性。提示样本文件是公开的 GeoParquet列式存储的矢量格式流式读取能力见下一章。两种保存方式桌面应用项目 → 保存写出.geolibre.json项目文件。任意环境项目 → 分享换取公开链接见分享章。☁️ 数据躺在云端先流式读取别下载数据在对象存储上有好几个 GB难道要先下载GeoLibre 为云原生格式而生靠 HTTP range 请求原地查询不整文件拷贝。流式加载远程 GeoParquet不拷贝打开添加数据 → GeoParquet 图层或矢量图层。粘贴.parquet的 URL。勾选流式 GeoParquet不拷贝用 range 请求按需取数。点击加载。注意流式模式对按空间排序如 Hilbert 序的文件效果最好只抓相关 row groupGeoLibre 自带的转换工具默认就按这种顺序写出。COG 栅格与 FlatGeobuf 矢量COG一种让浏览器按需读取瓦片的 GeoTIFF 变体添加数据 → 栅格图层填.tifURL 加载再到样式面板调亮度、对比度、饱和度。本地 GeoTIFF 也可以直接拖到地图上。FlatGeobuf自带空间索引、对流式读取友好的矢量格式添加数据 → FlatGeobuf 图层填.fgbURL格式允许时只取当前视图内的要素。把本地数据转成云原生格式打开处理 → GeoLibre 工具箱 → 转换矢量转 GeoParquet、CSV 转 GeoParquet在浏览器内用 DuckDB-WASM 跑矢量转 FlatGeobuf、矢量转 PMTiles瓦片打包格式、栅格转 COG在 Python 侧车跑桌面版。提示转换完把生成文件重新加到地图上验证一遍即完成一次本地 → 云原生 → 流式读回的小闭环。✂️ 缓冲、叠加、连接几何操作不必离开浏览器不想打开 QGIS几何处理怎么办GeoLibre 工具箱的矢量类覆盖最常用的六种操作。注意处理 → 矢量分隔线上方是 Whitebox 目录的矢量分类本节的对话框在处理 → GeoLibre 工具箱 → 矢量。完整工具清单见 docs/user-guide/processing.md。缓冲先选引擎再运行打开处理 → GeoLibre 工具箱 → 矢量 → 缓冲。设输入图层、距离与单位公里/米/英里。选引擎点运行缓冲图层加入地图。三个引擎的定位客户端Turf.js浏览器内零配置但在地理坐标下缓冲侧车GeoPandas桌面应用里的 Python 侧车投影感知PythonPyodide浏览器内跑与侧车相同的 GeoPandas 代码结果一致却免安装运行时首次使用下载一次。提示大范围要精确公制距离时选两个 GeoPandas 引擎之一它们会先重投影再缓冲Pyodide 在任何环境含浏览器版都可用。叠加与连接六种几何操作拿缓冲结果或任意图层配第二个图层裁剪保留输入落在叠加层内部的部分保留原属性相交/差异只留重叠区 / 减去叠加区合并两个多边形图层并成一个两个引擎都不保留属性;空间连接按相交、包含等空间关系把连接层属性挂到要素上任何几何类型可用属性连接按关键字段匹配挂属性如用同一 FIPS 码把普查统计挂到边界多边形一对一首个匹配胜出可选内连接或左连接。检查、重跑与导出在结果图层上打开属性表核对调整样式让它和输入区分开。每次运行都记录在处理 → 历史一键重跑还能复制等价的 Python 代码。结果可用转换工具导出为 GeoParquet / FlatGeobuf也能从属性表或 SQL 工作区导出记录。⛰️ 一张 DEM派生三类地形产品一份高程模型DEM数字高程模型能派生出什么山体阴影、坡度、等高线——经典三件套。浏览器内生成山体阴影把 DEMGeoTIFF 或 COG 高程栅格加为图层。打开处理 → GeoLibre 工具箱 → 栅格 → 山体阴影选 DEM按需调方位角、高度角、z 因子。运行浮雕栅格上屏。把山体阴影垫底上方图层的混合模式设为正片叠底Multiply浮雕会透过颜色显示而不是像降不透明度那样把颜色洗淡。坡度、坡向与等高线引擎差异坡度陡峭程度与坡向最陡方向的罗盘方位都有客户端引擎浏览器零安装可跑输出用色带设样式再从控件菜单打开色条显示数值标尺。等高线没有客户端引擎依赖 rasterio 的 Python 侧车只能在桌面应用跑设间距线间高差后运行得到可标注、可样式的矢量等高线图层。注意栅格工具是文件进、文件出本地或直接可访问的栅格最合适裁剪方面按范围裁剪浏览器可跑按掩膜图层裁剪仅侧车。 一条 SQL结果直接上图能直接查询眼前这张地图吗SQL 工作区基于 DuckDB-WASM浏览器与桌面版都可用从处理 → SQL 工作区打开。查询已加载图层与远程文件每个已加载的矢量图层都是一张可查询的表。加载国家图层后运行SELECT NAME, CONTINENT, GDP_MD_EST FROM countries ORDER BY GDP_MD_EST DESC LIMIT 10;预期看到预估 GDP 最高的十个国家。甚至不用先加载文件——FROM子句里的裸 URL 会被自动包上正确的读取器并流式读取SELECT COUNT(*) AS n FROM https://data.source.coop/giswqs/opengeos/countries.parquet;注意NAME、CONTINENT、GDP_MD_EST是样本数据集里的 Natural Earth 字段名几何列是geom其他数据集列名不同可先跑DESCRIBE SELECT * FROM your-file-url发现。空间函数与结果上图空间扩展已加载ST_*函数全都能用。下面的查询算面积并保留几何列让结果可以上图SELECT NAME, ST_Area_Spheroid(geom) / 1e6 AS area_km2, geom FROM https://data.source.coop/giswqs/opengeos/countries.parquet WHERE CONTINENT Africa ORDER BY area_km2 DESC;运行后点添加为图层即从结果建新图层可命名结果图层和普通矢量图层一样支持识别、选择与属性表旁边的导出 CSV与导出 GeoParquet按钮能把查询结果直接落盘。 一行 iframe把地图嵌进网页地图做满意了怎么发给同事、放进你的网站发布成公开链接再嵌入任意网页。设置分享令牌并发布项目打开设置 → 环境变量把个人 API 令牌在 share.geolibre.app 的设置 → API 令牌下创建粘贴进Share.GeoLibre API token字段一次设置长期有效。调好地图视图打开项目 → 分享...上传返回形如https://share.geolibre.app/you/my-map.geolibre.json的公开 URL。任何人把项目 URL 作为url参数传给浏览器版即可打开https://web.geolibre.app/?urlhttps://share.geolibre.app/you/my-map.geolibre.json注意分享只上传项目文件绝不上传你的数据文件读取本地文件的图层会在分享前被对话框列为缺失。六个嵌入参数自由组合iframe srchttps://web.geolibre.app/?urlhttps://share.geolibre.app/you/my-map.geolibre.jsonamp;maponly titleGeoLibre map width100% height600 styleborder: 0; /iframe这段把纯地图无界面外壳嵌进页面。外壳由 URL 参数控制全部可组合maponly隐藏全部界面只留地图layoutviewer只读模式——图层、底图、搜索、识别保留编辑部分隐藏layoutcompact保留一条细图标工具栏toolbarnone/panelsnone分别隐藏顶部工具栏、侧边与底部面板themedark加载时强制深色主题。运行时继续驱动地图URL 参数只在加载时配置一次要在运行时持续对话飞到用户点击的记录、监听图内操作装类型化客户端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]));这段代码连上嵌入的地图监听选中变化并可用setView/highlightFeature飞到指定要素实现位于 packages/embed/src/。注意运行时 API 只对你把页面源加入白名单的自建部署生效web.geolibre.app 本身没有白名单。 能力跑在哪环境选择一张表哪些能力在浏览器跑哪些要桌面应用下表是动手前唯一需要对照的东西。能力 × 运行环境矩阵能力浏览器版桌面版Python 侧车GeoParquet / COG / FlatGeobuf / PMTiles 流式加载✅✅—客户端缓冲Turf.js、叠加、连接✅✅—GeoPandas 缓冲/叠加✅Pyodide✅Sidecar✅山体阴影 / 坡度 / 坡向✅✅—等高线、按掩膜裁剪、栅格转 COG、矢量转 FlatGeobuf/PMTiles❌✅✅DuckDB 空间 SQL✅✅—Whitebox 1000 工具WebAssembly✅✅—项目文件读写、本地 MBTiles/栅格读取❌✅—分享与嵌入✅✅—什么时候必须切到桌面应用只有四件事离不开桌面版读写.geolibre.json项目文件、读取本地 MBTiles 与栅格、跑 rasterio 栅格工具等高线、按掩膜裁剪、跑侧车转换栅格转 COG、矢量转 FlatGeobuf/PMTiles。其余能力浏览器足够。两个容易误会的点Whitebox 工具箱1000 个地形、水文、LiDAR、遥感工具以 WebAssembly 形式在浏览器里跑不在侧车依赖名单内。Pyodide浏览器内 Python 运行时首次使用下载一次之后任何环境都能跑与侧车一致的 GeoPandas 代码。✅ 上手 Checklist对照勾选全部完成后你已经走完云原生 GIS 的最小闭环。初次上手打开浏览器版并加载 countries.parquet 样本做出一张 Graduated 分级统计图属性 色带 类别数属性表搜索 要素识别弹窗各用一次跑一次缓冲再试任一叠加操作在 SQL 工作区跑一条查询并点添加为图层发布之前生成山体阴影并把上层混合模式设为正片叠底配好分享令牌发布第一张地图用maponly参数把 iframe 嵌进一个本地 HTML 页面【免费下载链接】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),仅供参考