GeoLibre 免费云原生 GIS 快速上手:6 条端到端工作流完整指南

发布时间:2026/9/20 4:46:33
GeoLibre 免费云原生 GIS 快速上手:6 条端到端工作流完整指南
GeoLibre 免费云原生 GIS 快速上手6 条端到端工作流完整指南【免费下载链接】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想快速做出一张能分享、能嵌进网页的空间地图又不想先装一堆软件GeoLibre 是一个轻量级、云原生的地理空间平台可视化、探索和空间分析都能直接在浏览器、桌面、移动端或 Jupyter Notebook 里完成多数工作流零安装就能跑完。下面这条地图生产流水线带你走完全程——先把数据搬上地图再让数据开口说话最后把成果送出去。先看全景三条流水线覆盖全部六篇官方教程流水线阶段覆盖的官方教程跑完你手里多出来的东西① 把数据搬上地图首张地图 · 云原生数据一张样式化、可检查的地图加上转好的 GeoParquet / FlatGeobuf / COG 文件② 让数据开口说话矢量分析 · 地形分析 · 空间 SQL缓冲与叠加结果、山体阴影/坡度/等高线、SQL 结果图层③ 把成果送出去分享与嵌入share.geolibre.app 公开链接 可嵌入网页的 iframe官方教程索引 把六篇教程排成一份循序渐进的清单每篇都短小精悍、建立在 用户指南 - 界面 之上用到具体功能时会回链到对应参考页。你可以按顺序一遍遍练以获得导游式体验也可以直接跳到需要的那一段。不知道从哪块切进来对号入座只想快速出图 → 阶段一开头手上有远程大数据集Parquet / COG / PMTiles→ 阶段一云原生小节做几何操作缓冲、叠加、连接→ 阶段二的缓冲与叠加小节从 DEM 派生地形产品 → 阶段二的 DEM 小节用 SQL 分析并上图 → 阶段二的 SQL 小节发布与嵌入 → 阶段三开始前的三件事提前说清楚多数教程在线版就能完成浏览器构建版web.geolibre.app无需安装任何软件。少数步骤需要桌面应用打开和保存项目文件、读取本地 MBTiles 与栅格、Python 侧车sidecar工具栅格处理与格式转换。这些步骤在教程中会单独标注安装入口见 下载安装页。注意Whitebox 地理处理工具箱不在此列——它的 1000 工具以 WebAssembly 形式在浏览器中运行无需安装。一个共用的示例数据集多篇教程都会用到同一份公开的世界各国 GeoParquet 文件https://data.source.coop/giswqs/opengeos/countries.parquet。翻仓库能对上号apps/geolibre-desktop 承载 Tauri 桌面端backend/geolibre_server 与 backend/geolibre_server_api 提供 Python 服务端能力packages/map 和 packages/processing 支撑浏览器端的渲染与处理桌面端里的 Python 侧车则专门负责栅格处理与格式转换——和上面少部分步骤需要桌面端的说法完全对应。阶段一把数据搬上地图前半段对应官方 首张地图教程全程可在线完成后半段是 云原生数据教程。零安装做出一张可检查的样式化地图打开在线版或启动桌面应用你会看到一张底图和一个空的 图层面板。接下来四步打开添加数据 → 矢量图层在面板里输入样例数据集地址https://data.source.coop/giswqs/opengeos/countries.parquet点击加载——国家边界立刻出现在地图上countries图层同时进入图层面板。支持的数据源类型可查 添加数据参考页。选中countries图层如果右侧 样式面板 折叠了就展开它调整填充颜色、轮廓颜色与填充不透明度。想做分级统计图choropleth把样式类型设为Graduated挑一个数值型属性比如POP_EST或GDP_MD_EST再选类别数Classes、配色方案Scheme、色带Colormap点击应用样式类型。检查数据点击状态栏上的属性表展开它选中countries图层加载记录见 属性表参考页。按列排序或在搜索属性里键入关键词找要素——选中某行时地图上会高亮对应要素。点探索Explore可一次性剖析每个字段的类型、完整度和值分布。也可以给图层开启要素识别然后在地图上点某个国家弹窗里就能看到它的属性。保存或分享桌面应用里用项目 → 保存写入一个.geolibre.json文件任何环境都能用项目 → 分享上传项目并拿到公开链接详见 分享与嵌入教程。做完这步就能看到一张完整的入门地图。接着往下云原生格式、几何工具、SQL 查询各有专段。远程 GeoParquet 流式加载大文件不整体下载GeoParquet 是压缩的、列式存储的矢量格式天生适合通过 HTTP 读取打开添加数据 → GeoParquet 图层或矢量图层输入一个 GeoParquet URL例如https://data.source.coop/giswqs/opengeos/countries.parquet。开启流式 GeoParquet不拷贝它通过 HTTP range 请求原地查询该文件避免把大文件整体拷进内存。这种模式最适合行按空间排序的大远程文件——比如 GeoLibre 自带转换工具写出的 Hilbert 序——这样只需抓取相关的 row group。点击加载。翻到源码能对上号按需加载的逻辑在 duckdb-vector-loader.tsduckdb-geometry.ts 则是保持duckdb/duckdb-wasm依赖解耦的 GeoParquet 写入器。geoparquet-metadata.test.ts 与 geoparquet-crs.test.ts 也从元数据与坐标系两个维度给这套读取管线上了保险。FlatGeobuf 与 COG要素和瓦片都按需取FlatGeobuf对流式读取友好、自带空间索引打开添加数据 → FlatGeobuf 图层输入一个.fgbURL 加载格式允许时 GeoLibre 只抓取当前视图内的要素。Cloud-Optimized GeoTIFFCOG是组织过的常规 GeoTIFF客户端只需读取所需的瓦片打开添加数据 → 栅格图层输入 COG.tif的 URL 加载随后在样式面板里调整亮度、对比度、饱和度与色相。一句话记住本地 GeoTIFF 或 COG 文件也可以直接拖到地图上同样作为栅格图层加入见 添加数据 - 拖放。本地数据转云原生浏览器 DuckDB 与 Python 侧车分工使用处理 → GeoLibre 工具箱 → 转换写出云原生文件处理工具 - 转换。两条执行路径分工明确矢量转 GeoParquet和CSV 转 GeoParquet在浏览器中借 DuckDB-WASM 运行——对应的就是 duckdb-processing.ts 这类浏览器内 DuckDB 处理管线矢量转 FlatGeobuf、矢量转 PMTiles、栅格转 COG则运行在 Python 侧车桌面应用上。举个完整例子把本地 GeoJSON 发布为 GeoParquet——打开处理 → GeoLibre 工具箱 → 转换 → 矢量转 GeoParquet选择输入文件和输出路径运行转换再把生成的 GeoParquet 加回地图验证结果。下一步建议到 空间 SQL 教程 直接查询这些格式——SQL 工作区可从 URL 读取 Parquet、CSV、JSON 和 GeoJSON想给 COG 序列做时间动画见 数据集成参考页 的时间滑块插件。阶段二让数据开口说话这个阶段的工具分三组GeoLibre 工具箱的矢量类、栅格类以及 SQL 工作区。别踩坑同一个菜单下有两个工具箱。处理 → 矢量分隔线上方是 Whitebox 目录的矢量类别处理 → GeoLibre 工具箱 → 矢量才是下面要用的那组两个工具箱的说明。给图层做缓冲Turf.js、GeoPandas 侧车、Pyodide 三选一先备料至少加一个矢量图层添加数据做叠加分析需要两个图层例如一组点或线要素再加一个用来裁剪的多边形图层。打开处理 → GeoLibre 工具箱 → 矢量 → 缓冲。把输入图层设为目标图层。设置距离与单位公里、米或英里。选择引擎客户端Turf.js——浏览器里运行零配置侧车GeoPandas——Python 侧车里运行支持投影感知的距离桌面应用PythonPyodide——在浏览器里跑与侧车相同的 GeoPandas 代码结果与侧车一致却不用装侧车首次使用时会下载一次运行时。点击运行缓冲图层随即被加到地图上。划重点客户端引擎在地理坐标中做缓冲。大范围区域想要精确的公制距离就用两个 GeoPandas 引擎之一——它们会先重投影再缓冲桌面应用选侧车GeoPandas而任何环境包括 Web 构建版都可用PythonPyodide。裁剪、相交、差异、合并与两种连接手里有了缓冲结果或任意多边形图层和第二个图层就能跑叠加裁剪Clip保留输入中落在叠加图层内部的部分同时保留输入的属性相交Intersection只保留两个多边形图层的重叠区域差异Difference从输入中减去叠加图层的区域合并Union把两个多边形图层并成一个——任何引擎下都不保留属性空间连接Spatial join基于空间关系相交、包含或位于内部把连接图层的属性挂到每个输入要素上比如给每个点打上包含它的多边形的标签任何几何类型都适用属性连接Attribute join关键字段匹配时把连接表的属性挂到每个输入要素上完全不涉及几何——例如通过共享的 FIPS 代码把人口普查统计挂到边界多边形。它是一对一的第一个匹配的连接行胜出两侧分别选关键字段可选列出要带过来的字段再选内连接或左连接。打开方式统一从处理 → GeoLibre 工具箱 → 矢量选工具指定输入与叠加图层运行即可。运行完去哪看属性表、历史记录与导出在结果图层上打开 属性表 检查输出并调一下 样式 让它和输入区分开。另外每次运行都会记进处理 → 历史History条目支持一键重跑还能复制等价的 Python 代码。要把输出落成云原生文件走处理 → GeoLibre 工具箱 → 转换比如矢量转 GeoParquet或矢量转 FlatGeobuf从属性表或 SQL 工作区 导出记录也行。同类型的分析也可以改用 空间 SQL 来做栅格方向则转场 地形分析。从 DEM 派生山体阴影、坡度、坡向与等高线先看清引擎归属山体阴影Hillshade、坡度Slope、坡向Aspect都提供客户端浏览器引擎所以前三步在浏览器构建版里零安装即可跑。等高线Contour和按掩膜图层裁剪Clip by mask layer没有客户端引擎需要 rasterio Python 侧车桌面应用会负责管理它开始使用 - 可选 Python 侧车。每个工具顶部的引擎选择器会列出可用选项对大栅格或地理 CRS 下的地形建议优先侧车引擎。加载 DEM添加一个高程栅格图层例如 GeoTIFF 或 COG 格式的 DEM。栅格工具是文件进、文件出本地或可访问的栅格效果最好。跑处理 → GeoLibre 工具箱 → 栅格 → 山体阴影选择 DEM 作输入需要的话设置方位角azimuth、高度角altitude和 z 因子z-factor运行——着色浮雕栅格就加上了。把它放到其他图层下方把上方图层的 混合模式 设为正片叠底Multiply浮雕会透过颜色显示出来而不是像降低不透明度那样把两者一起洗淡。再选一对跑坡度计算陡峭程度坡向计算最陡坡的罗盘方向。用 色带 给输出样式化并从 控件菜单 打开色条Colorbar显示数值标尺。生成等高线处理 → GeoLibre 工具箱 → 栅格 → 等高线选择 DEM设置间距interval即线之间的高程差运行后得到一个矢量格式的等高线图层标注和样式可按矢量数据对待。这一步只在侧车运行因此需要桌面应用。把输出限制在研究区内用按范围裁剪Clip by extent边界框浏览器中也能跑或按掩膜图层裁剪矢量掩膜仅侧车见 处理工具 - 栅格。延伸玩法用栅格转矢量Polygonize把栅格输出转成矢量或写出栅格转 COG用于分享栅格序列想动起来配时间滑块插件做时间动画数据集成。用 DuckDB Spatial 一条 SQL 把结果上图从处理 → SQL 工作区打开。它基于 DuckDB-WASM 运行浏览器和桌面应用里都可用。先查已加载的图层——每个矢量图层都是一张可查询的表。加载示例国家图层后运行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来发现它们。远程文件不必先加载工作区会检测FROM子句里的裸 URL自动包上正确的读取器再通过 HTTP range 请求流式读取无需整体下载。这个裸 URL 简写是 SQL 工作区的便利特性——标准 DuckDB CLI 里你得显式写read_parquet(https://...)SELECT COUNT(*) AS n FROM https://data.source.coop/giswqs/opengeos/countries.parquet;仓库里能找到同源实现这条流式读取与 duckdb-vector-loader.ts 的按需加载逻辑同源sql-query-layer.test.ts 与 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 工作区参考页。小贴士用示例查询菜单从一个可运行的查询起步用历史重跑之前的查询。菜单驱动的 矢量分析 工具可以完成等价的几何操作结果还能在 云原生数据 一节转成云原生格式。阶段三把成果送出去一次性设置 Share.GeoLibre API 令牌分享会把项目上传到share.geolibre.app走个人 API 令牌打开设置 → 环境变量。把令牌粘贴进Share.GeoLibre API token字段——在share.geolibre.app/settings的设置 → API 令牌下创建。只需设置一次。把项目上传成公开链接先把地图搭好加图层、设样式把地图视图停在希望观众落地的位置。打开项目 → 分享...。确认项目标题并上传GeoLibre 会返回一个指向.geolibre.json文件的公开 URL形如https://share.geolibre.app/you/my-map.geolibre.json。分享文件捕获的内容与本地保存完全一致图层、样式、插件状态和地图视图。唯一的例外是读取你电脑上文件的图层——分享前对话框会把这些图层列为缺失因为share.geolibre.app只存储项目文件绝不上传你的数据文件。本地数据怎么托管见 项目参考页 - 分享本地数据。用 iframe 把地图嵌进任意网页任何人都能把项目 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【免费下载链接】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),仅供参考