GeoLibre SQL 工作区入门DuckDB Spatial、PostGIS 与 Sedona 三引擎【免费下载链接】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 笔记本中运行。它的SQL 工作区SQL Workspace内置了三套空间 SQL 引擎——DuckDB Spatial、PostGIS和Apache Sedona让你无需安装任何数据库就能用一条 SQL 直接查询地图图层、本地文件甚至云端数据并把结果一键加回地图。️SQL 工作区是什么30 秒上手SQL 工作区位于顶部菜单Processing → SQL Workspace打开后是一个「左边写 SQL、右边看结果」的双栏面板可停靠在地图下方。它有三个对你最友好的特性✅图层即数据表每一个已加载的矢量图层都会被自动暴露为一张可查询的表顶部会列出可用的表名✅URL 直接查询FROM后面写一个文件地址工作区会自动识别 Parquet、CSV、GeoJSON 等格式并流式读取无需先下载文件✅空间函数开箱即用三套引擎都已预加载空间扩展ST_Area、ST_Centroid、ST_Buffer等ST_*函数直接可用。引擎一DuckDB Spatial默认功能最全DuckDB 是默认的 SQL 引擎基于DuckDB-WASM在浏览器中运行首次使用后离线也能工作。它是三套引擎中能力最强的可以查询已加载图层、本地文件、远程 URL甚至s3://、gs://、az://等公有云对象存储地址支持将查询结果保存为查询图层数据源更新后自动刷新内置Sample queries示例菜单从「按洲统计人口」到「计算各国面积」都可以一键填入编辑器。一条典型的入门查询SELECT NAME, ST_Area(geom) AS area, geom FROM countries ORDER BY area DESC LIMIT 10;引擎二PostGIS浏览器里的完整 PostGIS如果你熟悉 PostgreSQL 生态可以切换到PostGIS引擎——它基于PGlite纯 WASM 的 PostgreSQL在浏览器内运行完整的 PostGIS SQL熟悉PostGIS函数语法的用户几乎零学习成本。两点需要注意首次切换会下载约 19 MB 的引擎之后即为内存数据库它只能查询已加载到地图的图层不能直接查远程 URL每个图层表的几何列名为geom。引擎选择器位于面板右上角的 Engine 菜单切换后会自动记忆你的选择下次打开仍沿用上次引擎。相关实现见 pglite-workspace.ts。引擎三Apache Sedona大数据生态用户友好Apache Sedona引擎面向熟悉 Spark Sedona / SedonaDB 的用户。它在浏览器中运行CereusDB——Apache SedonaDB 的 WebAssembly 构建版首次使用时按需下载。浏览器内引擎查询的几何列名为geometry例如ST_Centroid(geometry)、ST_Buffer(geometry, 0.1)在桌面端如果安装了可选的sedona组件会自动改用SedonaDB sidecar进程运行更适合大型图层未安装时则自动回退到浏览器内引擎注意浏览器内引擎目前仅能通过geometry列和空间函数访问属性需要完整属性 SQL如WHERE name Texas时请安装 sidecar。侧车端实现见 sedona_ops.py前端调度逻辑见 sedona-workspace.ts。三引擎对比我该选哪一个维度DuckDB SpatialPostGISApache Sedona运行位置浏览器 / 桌面端浏览器浏览器桌面端可选 sidecar查询已加载图层✅✅✅查询本地文件 / 远程 URL / 云端对象✅❌❌空间函数ST_*完整 PostGIS SQLST_*geometry 列首次加载体积较小约 19 MB按需下载适用人群新手首选PG 生态用户Spark Sedona 生态用户简单建议新手直接用默认的 DuckDB写惯了 PostGIS 语法就切 PostGIS来自大数据 / Spark 背景则试试 Sedona。让查询结果回到地图上三个引擎共用同一套结果处理流程Run执行查询右侧网格显示结果最多渲染 500 行导出不受限制若查询返回几何列点击Add as layer即可把结果作为新图层加到地图上结果图层完整支持属性表、点选查询、框选等能力还可以同时添加多个结果图层通过Export CSV/Export GeoParquet按钮可直接导出结果文件。此外面板还提供history查询历史随时重跑之前的语句Sample query for layer菜单会根据当前图层填入针对性的示例查询是探索新数据最快的方式。新手避坑小贴士列名因数据而异示例数据中的NAME、POP_EST等是 Natural Earth 的字段名换数据集时先跑一句DESCRIBE SELECT * FROM ...查看真实列名☁️云端地址仅限公开桶s3://等地址会透明改写为公开 HTTPS 链接私有桶暂不支持浏览器读取还需桶端开启 CORS面积单位EPSG:4326 数据上ST_Area返回的是「平方度」要换算成平方公里请用球面面积函数Sedona 浏览器引擎有 5 万要素上限超大图层建议桌面端安装 sidecar 组件。延伸阅读官方用户指南SQL Workspace端到端教程Spatial SQL面板 UI 源码SqlWorkspacePanel.tsxDuckDB 引擎核心实现sql-workspace.ts相关功能PostGIS 连接管理、SQL 补全、SQL 查询图层不需要装数据库、不需要建表导入——打开工作区输入第一句SELECT你的图层数据就能被 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),仅供参考
