GeoLibre 快速指南:三步到一张可分享的地图
GeoLibre 快速指南三步到一张可分享的地图【免费下载链接】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跑完缓冲叠加与空间 SQL并把成品地图分享出去、嵌入你自己的网页。快速认知GeoLibre 是什么、能做什么GeoLibre 是一个免费开源的云原生 GIS 平台核心场景是可视化、探索与分析地理空间数据。它最特殊的一点是把 1000 多个地理处理工具以 WebAssembly一种让 C/Rust 代码直接跑在浏览器里的字节码形式搬进了浏览器。维度说明运行环境浏览器零安装、桌面应用、移动端、Jupyter Notebook云原生格式矢量 GeoParquet / FlatGeobuf栅格 COG瓦片 PMTiles地理处理1000 个 Whitebox 工具在浏览器内以 WebAssembly 运行数据分析DuckDB-WASM浏览器内运行的嵌入式数据库空间 SQL桌面专属保存/打开 .geolibre.json 项目、读取本地 MBTiles 与栅格、Python 侧车sidecar桌面应用自带的 Python 运行时分享与嵌入公开分享链接、iframe 嵌入参数、geolibre/embed 类型化客户端两类场景的边界要记牢浏览器零安装可用的包括加载图层、样式、属性表、SQL 查询、Whitebox 工具箱和分享需要桌面环境的只有打开/保存项目文件、读取本地 MBTiles 与栅格文件、以及 Python 侧车工具栅格转 COG、矢量转 FlatGeobuf、矢量转 PMTiles、等高线等。上手准备与环境确认浏览器方式任何现代浏览器 可访问示例数据源的网络打开在线版即可开始不装任何软件。桌面方式需要保存本地项目、读取本地栅格/MBTiles 或跑侧车转换时安装桌面应用下载地址见 docs/downloads.md。源码构建方式需要 Node.js ≥ 22克隆后npm install再构建。可选Python 侧车由桌面应用自动管理无需单独配置。验证环境就绪仅源码构建时需要git clone https://gitcode.com/GitHub_Trending/ge/GeoLibre node -v # 需要 ≥ 22全文共用一个公开示例数据集世界各国 GeoParquet几何列geom含NAME、CONTINENT、POP_EST、GDP_MD_EST字段https://data.source.coop/giswqs/opengeos/countries.parquet。后文不再重复。核心工作流数据流入、分析、分享三段走通数据流入加载远程 GeoParquet、FlatGeobuf 与 COG这一步解决地图数据从哪来不下载整份文件直接从 URL 拉取。打开Add Data → Vector Layer添加数据 → 矢量图层。输入上文示例数据集 URL点击Loadcountries图层加入图层面板。大文件建议开启Stream GeoParquet (no copy)它通过 HTTP range 请求只抓取文件需要的片段原地查询只下载相关 row group。栅格同理打开Add Data → Raster Layer输入一个 COGCloud-Optimized GeoTIFF一种让客户端只读所需瓦片的 GeoTIFF 组织方式URL 并加载再在样式面板调亮度、对比度、饱和度。为什么这样做GeoParquet 是压缩的列式矢量格式配合行按空间排序的存储如 Hilbert 序一种让空间相邻的行在文件中也相邻的排序方式流式模式只需抓取当前视图相关的 row group。按需加载的读取管线见 duckdb-vector-loader.ts。所有受支持的数据源类型见 添加数据参考。载入后花一分钟熟悉数据选中图层展开右侧样式面板调整填充色、轮廓色与不透明度。制作分级统计图choropleth样式类型设为Graduated选数值属性如GDP_MD_EST、类别数与色带点击Apply style type。点状态栏Attribute table展开属性表选中图层加载记录按列排序、在Search attributes中搜索选中行时地图高亮对应要素点Explore一次性剖析每个字段的类型、完整度与值分布。详见 属性表参考。提示卡住了怎么办加载失败时先用浏览器直接访问该 URL 确认数据可达列名不确定时到 SQL 工作区先运行DESCRIBE SELECT * FROM 文件URL看字段清单。处理与分析对图层做缓冲、叠加与空间 SQL 查询这一步解决从现有数据算出新数据几何工具和 SQL 两条路都能走通。缓冲与叠加打开Processing → GeoLibre Toolbox → Vector → Buffer。设置 Input layer、Distance 与 Units公里、米或英里。选择 EngineClientTurf.js浏览器零配置SidecarGeoPandas桌面侧车运行PythonPyodide在浏览器内跑与侧车相同的 GeoPandas 代码。点击Run缓冲图层加入地图叠加类工具Clip 裁剪、Intersection 相交、Difference 差异、Union 合并、Spatial join 空间连接、Attribute join 属性连接从同一菜单选择指定输入与叠加图层后运行。为什么这样做客户端引擎在地理坐标中计算缓冲大范围精确公制距离请选 GeoPandas 引擎——它们先重投影再缓冲Pyodide 引擎让浏览器环境也能得到与侧车一致的结果。每次运行都会记录在Processing → History可一键重跑并复制等价的 Python 代码。注意同一个处理菜单里有两个工具箱——分隔线上方的Processing → Vector是 Whitebox 目录的矢量类别本工作流用的是GeoLibre Toolbox → Vector。工具全貌见 处理工具参考。空间 SQL打开Processing → SQL Workspace每个已加载的矢量图层都是一张可查询的表。也可以跳过加载直接在FROM后写裸 URL工作区自动包上读取器并流式读取不必整体下载。运行查询结果含几何列时点Add as layer上图Export CSV与Export GeoParquet按钮就在旁边。-- 数据在 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;为什么这样做DuckDB-WASM 在浏览器和桌面中都能运行空间扩展已加载所有ST_*函数开箱可用这让查什么就上图什么成为一条直线。提示卡住了怎么办SQL 工作区有Sample queries示例菜单和查询历史从一条能跑通的查询改起比从零写 SQL 快得多。详见 SQL 工作区参考。输出与分享保存项目、发布链接并嵌入网页这一步解决把地图交给别人。桌面应用打开Project → Save写入一个.geolibre.json项目文件。一次性配置分享令牌Settings → Environment Variables把令牌粘贴到Share.GeoLibre API token字段令牌在 share.geolibre.app 的设置 → API 令牌下创建。打开Project → Share...确认标题并上传得到一个指向.geolibre.json的公开 URL任何人都可以把该 URL 作为url参数传给在线版直接打开。为什么这样做分享文件捕获的图层、样式、插件状态和地图视图与本地保存完全一致例外是读取你电脑文件的图层——分享服务只存项目文件、绝不上传你的数据文件所以对话框会把这些图层列为缺失。嵌入网页用iframe加参数控制界面外壳参数可自由组合iframe srchttps://web.geolibre.app/?url分享URLmaponly titleGeoLibre map width100% height600 styleborder: 0; loadinglazy allowfullscreen; geolocation /iframemaponly隐藏所有外壳只留地图layoutviewer只读地图保留图层/控件/底图/识别隐藏编辑入口layoutcompact保留一条纯图标工具栏toolbarnone/panelsnone分别隐藏工具栏或侧边与底部面板themedark加载时强制深色主题完整参数表见 嵌入与分享参考。提示卡住了怎么办读者要能开关图层但不能修改时用layoutviewer地图只是页面插图时用maponly。选错的后果只是界面冗余不会丢数据改参数重新嵌入即可。场景化进阶当你需要把本地 GeoJSON 发布为云原生格式的时候问题数据在本地但你想让别人像远程大文件一样按需流式读取它。打开Processing → GeoLibre Toolbox → Conversion → Vector to GeoParquet。选择输入文件与输出路径。运行转换把生成的 GeoParquet 加回地图验证。之后该文件就能以 URL 加载并开启流式模式见上文数据流入。效果同一份数据从整文件搬运变成按视图抓取。CSV 转 GeoParquet 同样在浏览器内由 DuckDB-WASM 完成矢量转 FlatGeobuf、矢量转 PMTiles、栅格转 COG 运行在 Python 侧车桌面应用上。当你需要把 DEM 变成山体阴影和等高线的时候问题你有一份数字高程模型DEM栅格化的地表高程数据想看出地形起伏与海拔分带。把 DEMGeoTIFF 或 COG作为栅格图层加载——栅格工具是文件进、文件出本地或可访问的栅格效果最好。打开Processing → GeoLibre Toolbox → Raster → Hillshade选择 DEM按需设置方位角、高度角与 z 因子运行。把结果放到其他图层下方将上层混合模式设为Multiply正片叠底让浮雕透过颜色显示而不是像降低不透明度那样把两层一起洗淡。需要坡度和坡向时在Slope/Aspect中运行用色带样式输出点Contour设间距生成矢量等高线可像任何矢量一样标注。用Clip by extent范围框浏览器可运行把输出限制到研究区。效果山体阴影、坡度、坡向在浏览器零安装即可完成等高线与按掩膜图层裁剪没有客户端引擎依赖 rasterio 侧车需桌面应用。当你需要嵌入的地图与你的页面实时交互的时候问题URL 参数只在加载时配置一次而你想在运行时让地图飞到用户刚点击的记录上并监听图内操作。在你的前端安装geolibre/embed包。用connect(iframe 元素)建立类型化连接。监听selectionChanged事件在用户点选时切换页面内容。调用setView/highlightFeature让地图飞到目标要素。效果你的业务页面与地图双向同步。类型化客户端的实现见 packages/embed/。注意运行时 API 只对你白名单了自己的源origin的部署生效web.geolibre.app 公开版没有白名单因此它适用于你自己托管的构建版免依赖的原始postMessage协议同样记录在嵌入参考文档中。常见问题能不能在浏览器里做精确的公制距离缓冲能。ClientTurf.js引擎在地理坐标中计算大范围请用 PythonPyodide引擎它在浏览器内运行与侧车相同的 GeoPandas 代码先重投影再缓冲见上文处理与分析。为什么分享后别人看不到我的本地文件图层分享服务只存储.geolibre.json项目文件绝不上传你的数据文件所以这些图层会在分享前被列为缺失。你需要先把数据托管到公开地址再引用。菜单里两个Vector到底有什么区别分隔线上方的Processing → Vector是 Whitebox 目录的矢量类别1000 工具的 WASM 工具箱GeoLibre Toolbox → Vector才是正文用的对话框工具缓冲、叠加、连接。等高线为什么在浏览器里没有可用引擎Contour 与 Clip by mask layer 没有客户端引擎依赖 rasterio Python 侧车只有桌面应用能跑山体阴影、坡度、坡向则都有浏览器引擎。下一步学习docs/tutorials/六篇官方教程按顺序跟练docs/user-guide/processing.md查 1000 工具清单docs/user-guide/sql-workspace.md完整 SQL 参考docs/user-guide/embedding.md看完整参数表【免费下载链接】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),仅供参考