
GeoLibre 功能演示全览从 3D Tiles 到行星底图、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本文以 GeoLibre 官方演示页docs/demos.md为骨架逐项拆解项目的可视化能力3D Tiles 流式渲染、曼哈顿建筑的时间轴动画、覆盖太阳系多个天体的行星底图、地图旁的内置 SQL 工作区以及可嵌入任意网页的maponly无界面模式。读完本文你将知道每个演示场景是什么、怎么操作、底层如何实现并能在 docs/features.md 与 docs/tutorials/index.md 的指引下自行复现这些效果。演示页是什么docs/demos.md 是 GeoLibre 的视觉巡览入口——它用一组可点击放大的截图和可播放全分辨率视频的动画直观展示项目在真实使用中的样子。文档开篇即说明两条使用规则点击任何截图可在全分辨率下查看点击任何动画可播放全质量视频。完整的逐项能力清单见 Features功能清单动手操作的分步教程见 Tutorials教程索引。下面按演示页的编排顺序逐一展开每个演示场景并补充仓库源码层面的实现依据。3D Tiles摄影测量与网格数据流式渲染第一个演示是3D Tiles。摄影测量photogrammetry与网格mesh数据集以 3D Tiles 形式流式加载并通过 deck.gl 渲染在 MapLibre 地图之上——这意味着三维瓦片与二维矢量/栅格图层可以同屏共存、叠加显示。演示页特别强调带鉴权的 tileset 也可以通过自定义请求头custom request headers加载即那些需要令牌或签名的私有三维数据集同样受支持。从源码看这一能力集中在 maplibre-3d-tiles.ts 插件与 shared-deck-overlay.ts 共享 deck.gl 叠加层中。而在 docs/features.md 的添加数据章节中3D 与媒体类数据源还包括 ArcGIS I3S 场景图层Integrated Mesh 与 3D Object同样渲染在 deck.gl 上、LiDAR 点云、Gaussian Splat 瓦片集与 glTF/GLB 模型构成了完整的三维内容加载家族。体验方式在 Add Data添加数据 中通过 URL 或文件添加 3D Tiles 数据集地图即可将三维场景与二维底图叠加渲染。纽约建筑与地铁3D 拉伸 自动图例 Time Slider 时间动画第二个演示是NYC buildings and subways曼哈顿的建筑足迹building footprints以 3D 拉伸呈现并按建筑年代construction era着色MTA 地铁线路与站点叠加其上。演示页指出地图上的图例是由图层的符号化symbology自动生成的无需手工绘制——这一机制在 Styling样式化指南 中有完整说明对应 docs/features.md 中的Auto-generated on-map Legend panel为分级、分类、规则式与表达式样式生成逐类条目为热力图与连续栅格色带生成渐变条为比例符号生成大小梯度。更精彩的是配套动画Time Slider时间滑块沿着建筑年代从 1850 年推进到 2025 年曼哈顿的建筑按时代逐批生长出来——相机保持不动数据在移动。这段动画可直接点击播放全质量视频。从源码看时间滑块由 maplibre-time-slider.ts 插件实现配合 time-slider-binding.ts将地图上已有的矢量图层绑定到时间线与 temporal-layers.ts时态图层等模块。根据 docs/features.md 的能力说明Time Slider 的绑定能力相当宽泛可直接绑定地图上已有的矢量图层——GeoJSON 以及矢量瓦片、PMTiles、MBTiles对瓦片类图层会从实时瓦片采样中检测时间戳字段从而无需本地数据副本即可让瓦片图层在完整范围内动画通过通用时态适配器驱动图层自身的内部时间维度让 Zarr 数据立方体等加入共享时间线支持按日期序列推进马赛克数据源MosaicJSON 或由许多按日期组织的 COG 组成的 STAC 集合可在 GPU 或 WASM 引擎上渲染还能绘制像素时间序列对某个采样像素在栅格堆栈上的数值变化进行图表化。行星底图GeoLibre 不止于地球演示页最令人印象深刻的部分是行星底图GeoLibre 并不局限于地球。来自OpenPlanetaryMap与USGS Astrogeology的行星底图覆盖了月球、火星、水星、金星、伽利略卫星木卫一 Io、木卫二 Europa、木卫三 Ganymede、木卫四 Callisto、土卫六 Titan、冥王星 Pluto 和冥卫一 Charon。演示页按天体列出的底图数据来源如下天体底图Earth地球Street、satellite 与 cloudless 影像Moon月球Hillshaded AlbedoNASA / LOLA / USGSMars火星Colour MOLA ElevationNASA / MOLAMercury水星MESSENGER Colour MosaicNASA / JHU APL / CIWPluto冥王星New Horizons MosaicNASA / JHU APL / SwRIVenus金星Magellan C3-MDIR ColourNASA / JPLEuropa木卫二Galileo / VoyagerNASA / JPLCallisto木卫四Galileo / VoyagerNASA / JPLCharon冥卫一New Horizons MosaicNASA / JHU APL / SwRI底层机制一tiles Worker 的动态重投影文档指出USGS 天体底图由tiles Worker重投影为 Web Mercator。从 workers/tiles/src/index.ts 可以看到这一 Worker 承担两类任务均基于严格的白名单以杜绝开放代理风险/opm/dataset/z/x/y.png——对 OpenPlanetaryMap 的栅格马赛克火星、月球做纯反向代理。原因在于 MapLibre 以fetch()获取栅格瓦片时会强制检查 CORS而 OPM 的 S3 桶不发送Access-Control-Allow-Origin头浏览器会直接拦截导致地图渲染为黑块/wms/dataset/z/x/y.png——将 USGS Astrogeology WMS 图层水星、金星、伽利略卫星、Titan、Pluto、Charon实时从等距圆柱投影equirectangularEPSG:4326重投影为 Web Mercator。为什么需要重投影因为 USGS 的planetarymaps.usgs.govWMS 只提供 EPSG:4326而 MapLibre 只能直接消费 Web Mercator。Worker 的实现细节在 workers/tiles/src/reproject.ts这个扭曲warp之所以廉价是因为两种投影在经度方向上都是线性的——瓦片与为其请求的 WMS 窗口共享相同的经度跨度列可以 1:1 映射只有纬度轴是非线性的。因此只需对每个瓦片请求恰好覆盖其经纬度包围盒的一张 GetMap再按行最近邻重采样到 Mercator 纬度网格即可——没有逐像素三角函数每个瓦片只有size次纬度求值与size次行拷贝。瓦片在边缘缓存中被缓存重复请求直接命中 CDN。底层机制二随项目持久化的天体椭球体演示页强调每个项目携带自己的椭球体ellipsoid因此距离、面积与比例尺测量结果与所映射的天体相匹配——在火星或月球底图上测量时使用的是该天体的半径而非写死的地球半径。这一设计在 packages/core/src/ellipsoids.ts 中有清晰实现。核心是Ellipsoid接口与内置椭球体表地球采用 WGS 84半长轴 6,378,137 米火星采用 IAU 2000 椭球半长轴 3,396,190 米是少数明显扁率非零的天体月球1,737,400 米及其余天体均按理想球体建模inverseFlattening: 0这与 IAU/USGS 简单圆柱投影产品的处理方式一致。椭球体 id如moon、mars以map.ellipsoidId持久化在项目中测量辅助函数在调用时惰性读取当前活动椭球体。地图的 3D 视角同样感知天体——MapCanvas.tsx 中切换行星底图会改变状态栏相机海拔Eye alt换算所用的半径。操作方式与星空背景在 Layers 面板中切换天体planet switcher即可更换底图。此外每个球体背后的深空星空背景来自Atmosphere Effects 插件渲染深空背景、视差星空、彗星与低缩放级别下环绕球体的大气光晕对应源码 maplibre-effects.ts能力细节见 docs/features.md 的插件章节。SQL Workspace在地图旁运行 DuckDB Spatial SQL第四个演示是SQL Workspace无需离开地图即可对已加载图层、本地文件与远程 URL 运行 DuckDB Spatial SQL随后可将查询结果添加为图层或导出。同一面板中还提供 PostGISPGlite与 Apache Sedona 引擎。完整的操作指南在 SQL Workspace 用户指南端到端教程在 Spatial SQL 教程。以下要点均来自上述文档入口Processing → SQL Workspace。空间扩展已为你加载ST_*函数开箱即用。查询已加载图层每个已加载的矢量图层都作为可查询表暴露对话框顶部列出可用表名。例如SELECT NAME, CONTINENT, POP_EST FROM countries ORDER BY POP_EST DESC LIMIT 10;直接读文件与 URL工作区会自动把裸 URL 包装进匹配的读取器如 Parquet、CSV、JSON、GeoJSON并通过 HTTP range 请求流式读取远程文件无需先下载SELECT NAME, CONTINENT, POP_EST, geom FROM https://data.source.coop/giswqs/opengeos/countries.parquet LIMIT 100;云存储 URLs3://、gs://、az://会被透明改写为对应的公共 HTTPS 等价地址SELECT * FROM read_parquet(s3://bucket/path/to/data.parquet) LIMIT 10; SELECT * FROM read_parquet(gs://bucket/path/to/data.parquet) LIMIT 10; SELECT * FROM read_parquet(az://account/container/data.parquet) LIMIT 10;注意两点限制云 URL 翻译仅面向匿名/公共桶私有桶暂不支持浏览器端读取要求桶的 CORS 策略允许跨域请求AWS Open Data、Source Cooperative 等公共数据集桶通常已配置。引擎选择右上角 Engine 菜单可在三种引擎间切换三者都加载空间扩展DuckDB默认——浏览器内 DuckDB Spatial可查询图层、本地文件与远程 URL含s3:///gs:///az://公共数据首次使用后可离线工作PostGIS——浏览器内 PGlite PostGIS支持完整 PostGIS SQL首次运行需加载约 19 MB 引擎Apache Sedona——基于 WebAssembly 的 CereusDBApache SedonaDB 的 WASM 构建在浏览器内运行桌面端安装可选sedonaextra 后改用SedonaDB sidecar更适合大图层否则自动回退到浏览器内引擎。注意浏览器引擎当前只能通过geometry列与空间函数访问属性无法在 SQL 中按属性名引用如WHERE name Texas完整属性 SQL 需运行 SedonaDB sidecar。示例与历史Sample queries 与 Sample query for layer 菜单可一键放入示例查询历史记录支持重跑之前的查询。结果使用返回几何的查询可Add as layer添加为普通矢量图层支持识别、选择与属性表也可导出为 CSV 或 GeoParquet多个 DuckDB 查询结果图层可同时保留在同一项目中。由于整个工作区构建在 DuckDB-WASM 之上它同时适用于浏览器与桌面应用。无界面嵌入maponly 纯地图模式第五个演示是Chrome-free embeds任何已分享项目都可以通过maponly参数嵌入为纯地图——没有工具栏、面板或状态栏。完整的 URL 参数说明见 Embedding Sharing嵌入与分享。以 docs/user-guide/embedding.md 为准maponly是裸标志也可写true、1、yes、on隐藏所有界面装饰只留下地图。与之配套的常用参数还包括参数作用url从公共 URL 加载.geolibre.json项目data加载公共 GeoJSON、GeoParquet、PMTiles、COG 或包含多个 GeoJSON 的 ZIP/REST 响应style为data加载的图层应用矢量/栅格样式 JSONlayoutviewer为只读界面保留图层、视图、控件、底图、搜索/识别compact为图标化的完整应用布局toolbarnone隐藏顶部工具栏保留面板与状态栏panelscollapsed让图层面板与样式面板以图标栏起步theme设置初始深/浅色主题参数可组合使用例如一个无界面、深色的窄嵌入https://web.geolibre.app/?urlhttps://share.geolibre.app/you/project.geolibre.jsonmaponlythemedark把观众拉进页面的标准方式是iframeiframe srchttps://web.geolibre.app/?urlhttps://share.geolibre.app/you/project.geolibre.jsonamp;maponly titleGeoLibre map width100% height600 styleborder: 0; loadinglazy allowfullscreen; geolocation /iframe如需在运行时持续与嵌入地图通信飞行到某条记录、高亮要素、打开处理工具、监听选择变化docs/user-guide/embedding.md 还提供了版本化的postMessageAPI 与无依赖的geolibre/embed类型化客户端。视频教程从 1.0 总览到灾害制图演示页的Video tutorials章节汇集了项目的视频教程清单全部教程含分章与摘要收录在 Video Tutorials视频教程 中。按 docs/tutorials/videos.md 的详细记录这些视频覆盖GeoLibre 1.0 总览——浏览器、桌面与 Jupyter 三种构建方式的完整导览涵盖项目、矢量/栅格数据、属性与几何编辑、无下载流式打开 180 GB 数据集、PMTiles、3D Tiles、LiDAR、DuckDB、地图控件与分享浏览器内地理处理——Whitebox 工具箱完全运行在 WebAssembly 上自视频发布后工具数已增长到 1,000演示地形、水文、LiDAR、遥感、栅格与矢量工具无需任何安装免费高分辨率灾害卫星影像——通过 Vantor Open Data 插件检索灾害事件、对比事件前后影像并下载原始 COG建筑足迹规则化——用 Rust 引擎在浏览器内规整 AI 分割或手工数字化产生的不规则建筑多边形GeoLibre GeoLens 自托管栈——将 GeoLibre 与 GeoLens 配对构建自托管的 3D 纽约地图并写回编辑结果Model Builder 与 AI Assistant——构建可复用的图形化地理处理工作流包括 AI 助手从自然语言提示生成并接线完整的模型2026 尼泊尔洪水制图——在灾害制图流程中整合 Vantor、Planet 与 OpenAerialMap 的前后对比影像构建 3D 地形、提取建筑足迹并导出评估结果云原生 GIS 工作流约一小时的网络研讨会——深入讲解 COG、GeoParquet、PMTiles、DuckDB 与 WebAssembly 如何支撑浏览器内处理大型矢量/栅格/LiDAR 数据集并介绍插件生态与跨平台构建浏览器内影像地理配准——用地面控制点把扫描的校园地图钉到底图上查看逐 GCP 与 RMS 残差导出 GeoTIFF 后用滑动工具与底图对比。这些视频在 docs/tutorials/videos.md 中按时间顺序排列并各自关联了对应的书面教程首次制图、地形分析、矢量分析、分享与嵌入等。动手尝试演示页的收尾提供了三条上手路径直接启动GeoLibre Web浏览器版下载桌面应用——安装与分发说明见 Downloads下载阅读 Getting Started快速上手 完成首次配置。结合 docs/features.md 的能力清单你可以在一个浏览器标签内依次复现本文的全部演示添加 3D Tiles 数据集、用 Time Slider 播放建筑年代动画、切换行星底图并验证测量值随天体半径变化、在 SQL Workspace 中对同一份数据执行空间查询最后把结果项目以maponly参数嵌入自己的网页。小结docs/demos.md 以看得见的方式浓缩了 GeoLibre 的核心价值三维内容与二维地图的无缝融合deck.gl 3D Tiles、自动图例与时间轴动画驱动的叙事制图、覆盖太阳系多天体的行星底图tiles Worker 实时重投影 每项目椭球体、地图旁的原生空间 SQL 引擎以及为网站集成而生的maponly无界面嵌入。每个演示背后都有可追溯的源码实现workers/tiles/src/index.ts、packages/core/src/ellipsoids.ts、packages/plugins/src/plugins/ 等使这份演示清单不仅是一组截图更是深入项目架构的入口。【免费下载链接】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),仅供参考