ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

GeoLibre 云原生 GIS 完整指南:5 分钟出图、不下载查询远程数据、嵌入网页

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),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进