ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

GeoLibre 数据添加指南:从文件、Web 服务到云端数据源的完整实操手册

GeoLibre 数据添加指南:从文件、Web 服务到云端数据源的完整实操手册 GeoLibre 数据添加指南从文件、Web 服务到云端数据源的完整实操手册【免费下载链接】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 的Add Data添加数据菜单是向地图工程引入图层的核心入口它将数据源按Files文件、Web servicesWeb 服务、Cloud formats云格式、3D layers3D 图层、Databases数据库五大类组织并支持直接把文件拖拽到地图上。本文将逐项讲解每一类数据源的类型、适用场景与关键参数并结合仓库源码apps/geolibre-desktop/src/components/layout/add-data/说明底层加载机制——包括 DuckDB-WASM 流式加载阈值、GeoParquet 多版本兼容、KML 样式解析回退、ArcGIS 四类服务接入等——读完即可掌握在浏览器与桌面端添加各类地理数据并规避常见坑位的完整能力。添加数据入口总览点击界面上的添加数据入口会打开AddDataDialog对话框。在源码中对话框通过AddDataKind联合类型见 apps/geolibre-desktop/src/components/layout/add-data/types.ts区分 23 种数据源再由renderSource()按 kind 分发到各自独立的表单子组件见 AddDataDialog.tsx文件类Vector、Raster、Delimited Text、CAD、GDB、Geotagged Photos、GPX、Encoded Polyline、MBTiles、OSM PBFWeb 服务类XYZ、WMS、WFS、WMTS、OGC API-Features、OGC Vector Tiles、ArcGIS、GeoRSS、STAC、Video、Deck.gl云格式类GeoParquet、FlatGeobuf、PMTiles、Zarr、NetCDF/HDF3D 类LiDAR、Gaussian Splatting、3D Tiles、glTF 模型数据库类DuckDB、PostgreSQL、Apache Iceberg。每个子组件sources/目录下的XyzSource.tsx、WmsSource.tsx、GpxSource.tsx等 23 个文件都自带表单状态与提交逻辑通过对话框外壳提供的 context 共享服务。如果需要在目录页或网页上批量采集受支持的数据集链接并一次打开多个可以配合 GeoLibre Chrome 扩展 使用该扩展通过深度链接把服务 URL 与图层名预填进对应表单见AddDataDialog的initialUrl、initialLayer、initialStyleUrl等 props。Files本地与远程文件文件类数据源都支持文件或 URL两种取数方式FeedMode url | file见 types.ts条目说明Vector Layer矢量图层打开 Add Vector 面板底层由maplibre-gl-vector驱动见 apps/geolibre-desktop/package.json。支持 GeoJSON、GeoParquet、FlatGeobuf、zip 压缩 Shapefile、GeoPackage、KML/KMZ、GML 等矢量格式。Raster Layer栅格图层打开 Add Raster 面板底层由maplibre-gl-raster驱动。支持 GeoTIFF 与 Cloud-Optimized GeoTIFFCOG。Delimited Text Layer分隔文本图层从文件或 URL 加载 CSV/TSV用经度/纬度列构建点要素或通过地理编码geocoding处理一个或多个地址列见 Data Integrations。分隔符支持逗号、制表符、分号、竖线及自定义DelimitedTextDelimiter源码见 constants.ts。CAD (DXF/DWG) Layer加载 AutoCAD 图纸把实体转换为矢量要素。由于 CAD 文件不携带 CRS对话框提供常见坐标系预设WGS 84、Web Mercator、NAD83、British National Grid、ETRS89/UTM 32N 等见 constants.ts也提供示例图纸一键填充对应 EPSG。File Geodatabase (GDB)打开 Esri 文件地理数据库选择其中一个要素类添加为图层。上次使用的数据库路径会被记住geolibre.lastGeodatabase存储键。Geotagged Photos地理标记照片读取一组照片的 EXIF GPS 标签把每张照片以带缩略图的点放到地图上。GPX Layer加载 GPX 文件或 URL自动拆分为独立的 waypoint、track、route 图层GpxLayerKind还细分出trackPoints与routePoints。Encoded Polyline编码折线从粘贴文本或上传的文本文件加载 Google精度 5或 Valhalla/Mapbox精度 6编码折线字符串。MBTiles Layer加载本地 MBTiles 瓦片归档仅限桌面应用。OSM PBF Layer读取 OpenStreetMap.osm.pbf切片并添加从中选择的要素。矢量文件的 CRS 处理矢量文件在加载时会被重投影到 EPSG:4326。在浏览器中矢量导入依赖DuckDB-WASM SpatialGeoJSON、zip 压缩 Shapefile 和 KMZ 归档则有直接处理路径。源 CRS 从文件自身读取——GDAL 读取格式的图层元数据、Shapefile 的.prj伴生文件、或 GeoParquet 的geo元数据——因此像 EPSG:2100GGRS87 / Greek Grid这样的国家坐标系无需任何配置即可落位。对于完全不携带 CRS 的格式CAD用户需在对话框中手工指定overrideSourceCrs选项见 duckdb-vector-guard.ts。GeoParquet 的多版本兼容GeoParquet 的各版本都能打开1.0 / 1.1包括带显式coveringbbox 列的文件2.0使用原生 ParquetGEOMETRY/GEOGRAPHY类型普通 Parquet几何只是命名为geom等常规名称的 WKB 二进制块。geo元数据块决定哪一列是几何列及其 CRS——多几何列文件加载声明为主几何的那一列声明crs: null表示坐标不在任何已知参考系中将按原样绘制、不做任何变换。完全没有几何、但含一对lon/lat或longitude/latitude、lng、x/y浮点列的 Parquet 表会被当作点加载假定为 WGS84。大文件加载阈值与要素数守卫警告大矢量文件没有固定的文件大小上限。100 MB 以下的文件由内存中的 JavaScript 读取器处理对日常数据最快达到 100 MB 及以上时GeoLibre 改为通过 DuckDB 流式读取——在 Web Worker主线程之外执行界面保持响应。对于 zip 压缩 Shapefile阈值适用于解压后的.shp因为 Shapefile 压缩率很高归档体积无法反映解析成本。这一过程完全自动无需用户干预。这两个阈值定义在 packages/core/src/types.tsDUCKDB_VECTOR_ROUTE_BYTES 100 * 1024 * 1024100 MB与DUCKDB_VECTOR_FEATURE_WARN_COUNT 100_000。路由判定逻辑shouldRouteToDuckDb(sizeBytes)位于 duckdb-vector-guard.ts未知大小如stat失败按小文件处理避免一次元数据异常把所有文件都导向 DuckDB。数据源打开后还有一次独立检查超过 100,000 个要素时GeoLibre 会先询问是否在内存中把每个要素转成 GeoJSON——因为这时内存而非文件大小成为瓶颈一个小体积 GeoParquet 可能包含数百万行。该守卫由confirmLargeDataset()实现duckdb-vector-guard.ts达到阈值且有回调时先询问用户拒绝则抛出VectorLoadCancelledError批量拖放场景中其余文件不受影响。对非常大的数据先转换仍然划算Processing → GeoLibre Toolbox → Conversion → Vector to PMTiles会写出瓦片化格式地图按需一瓦片一瓦片地加载而非读取整个文件转换为GeoParquet则得到紧凑的列式格式读取远快于文本但非瓦片化。GeoJSON 在任何尺寸下都是最昂贵的选择——内存中会膨胀数倍——因此有条件时优先选择 Shapefile、GeoParquet 或 FlatGeobuf。KML 与 KMZ 的特殊处理KML 由内部解析器读取保留文件自身的符号化样式因此带样式的 KML 渲染效果与 Google Earth 中一致解析器无法处理的文件则回退到 DuckDB Spatial 读取器只加载几何、不带样式。KML 导入还会把GroundOverlay图像渲染为地图叠加层带时间标签的会通过 Time Slider 动画播放并显示内嵌的 Collada.dae模型。Super-Overlays大型影像导出所用的、由NetworkLink驱动的瓦片化 KML同样受支持GeoLibre 将归档的瓦片直接提供给地图而不是一次性加载整个金字塔。Web services在线地图服务条目说明XYZ Layer使用{z}/{x}/{y}URL 模板的栅格或矢量瓦片服务。WMS LayerWeb Map Service 图层支持通过 GetFeatureInfo 点击查询supported 时。WFS LayerWeb Feature Service 图层可选自动刷新。WMTS LayerWeb Map Tile Service 图层。OGC API - FeaturesOGC API - Features 端点选择集合后添加为矢量图层。OGC Vector TilesOGC API - Tiles 矢量瓦片服务。ArcGIS LayerArcGIS FeatureServer、VectorTileServer、MapServer 或 ImageServer 图层见下文。GeoRSS LayerGeoRSS 订阅源以点和线加入标题与描述作为属性。STAC Layer搜索 STAC 目录并添加匹配的栅格条目。Video Layer像 MapLibre 的 video source 一样把视频铺到地图四个角坐标上。Deck.gl Layer在地图上渲染 deck.gl 图层规范覆盖 MapLibre 自身图层类型无法实现的可视化。对话框为每种服务预填了可开箱即用的示例端点见 constants.ts例如USGS 国家地图 XYZ、GEBCO 全球海洋测深 WMS含强制署名GEBCO_ATTRIBUTION、EOX Sentinel-2 云层无雪 WMTS、pygeoapi 的 OGC API-Features 演示端点其lakes集合还用于验证next链接分页、PDOK 荷兰 BGT 的 OGC 矢量瓦片等。WMS/WFS/CSW 的 GetCapabilities 文档通过开发代理WMS_PROXY_PATH等获取以规避 CORS 限制。ArcGIS 服务接入详解选择与目标服务匹配的Layer type然后填写服务 URL 或门户条目 ID受保护服务还需访问令牌图层类型服务加载方式Feature layerFeatureServer逐页下载为 GeoJSON 图层因此标注、属性表、识别、符号化和导出全部可用。Vector tile layerVectorTileServer使用服务自身的样式渲染。Map serviceMapServer栅格图层。缓存服务按瓦片读取动态服务通过/export逐瓦片绘制。Image serviceImageServer通过/exportImage或服务瓦片缓存绘制的栅格图层。地图服务与影像服务变成普通栅格图层后不透明度、Style 面板中的亮度/对比度/饱和度控制、图层重排及保存到工程等操作全部适用。两个可选字段决定服务绘制什么Sublayers子图层地图服务填写要绘制的子图层 id例如0,2,5。留空则使用服务默认集合。粘贴以子图层 id 结尾的 URL.../MapServer/3会自动选中该子图层。Raster function栅格函数影像服务可用Browse functions从服务公布的函数中选择函数由服务器在发送影像前应用。Rendering rule字段仍可用于高级 Esri 栅格函数 JSON例如{rasterFunction:Hillshade}选择 Hillshade 函数。任选其一都会使服务动态绘制因为缓存服务的瓦片在做出选择之前就已渲染完成无法遵循该选择。Cloud formats云端原生格式条目说明GeoParquet Layer云端原生列式矢量格式。打开与Vector Layer相同的 Add Vector 面板。大型远程文件可通过 HTTP range 请求就地流式读取。FlatGeobuf Layer带空间索引的云端优化矢量格式。PMTiles Layer单文件矢量或栅格瓦片归档。Zarr Layer分块、云端原生的多维数组。NetCDF / HDF多维科学数据立方体需设置步骤选择变量及时间、垂直维度。NetCDF/HDF 的加载走独立的AddNetcdfDialog见 apps/geolibre-desktop/src/components/layout/AddNetcdfDialog.tsx在仓库测试中覆盖了netcdf-cube-store、netcdf-band-axis、netcdf-profile-store等场景见 tests/netcdf-cube-store.test.ts。3D layers三维图层条目说明LiDAR Layer点云可视化由 deck.gl 渲染。Gaussian Splatting高斯泼溅场景。3D Tiles LayerOGC 3D Tiles重新打开工程时恢复。包含 Google Photorealistic 3D Tiles 示例运行时从环境读取VITE_GOOGLE_MAPS_API_KEY或GOOGLE_MAPS_API_KEY。3D Model (glTF)把 glTF/GLB 模型放到指定坐标带缩放、旋转和高度控制。Databases数据库直连条目说明DuckDB Layer查询 DuckDB 或 DuckDB Spatial 数据源并把结果添加为图层支持识别、选择与属性表。PostgreSQL Layer从 PostgreSQL/PostGIS 连接添加图层桌面应用通过本地瓦片服务器提供服务。PostgreSQL 连接持久化与浏览器面板共用一套逻辑见useMartinConnection与lib/saved-postgres-connections.ts。Apache Iceberg Layer通过 DuckDB 读取 Iceberg 表并添加其空间列作为图层。拖拽添加把矢量文件GeoJSON、zip 压缩 Shapefile、KMZ 等或 GeoTIFF/COG 栅格直接拖到地图上即可添加为图层。拖放的 GPX 文件会被拆分为命名的 waypoint、track 和 route 图层。批量拖放时被用户拒绝的大文件通过VectorLoadCancelledError跳过而不中断其余文件duckdb-vector-guard.ts。Browser 面板QGIS 风格的数据源管理器窗口左边缘的Browser选项卡打开一个 QGIS 风格的数据源管理器一棵展示所有无需走菜单即可添加内容的树。当反复添加相同数据源或想先浏览某个服务/数据库再决定添加时用它最方便。分区内容My Data我的数据个人图层库。Layer actions → Save to My Data保存一个完整配置的图层——数据源、样式、标注、过滤器、连接、虚拟字段和属性表单——之后在任何工程中一键重新添加。分区头部按钮可导入/导出库。Services服务按类型XYZ、WMS、WFS、WMTS、ArcGIS分组的已保存地图服务。GeoLibre 自带起始集组的可添加同类型新连接。展开服务可浏览其图层并添加。Recent最近最近添加的数据源重复添加只需一键。Databases数据库PostGIS 连接。展开可浏览 schema 与表对于注册了多个几何列的表需显式选择几何列。在搜索框输入可过滤整棵树并可完全用方向键键盘导航。底图与地外天体底图位于 Layers 面板 底部作为Background条目。双击该行打开Change basemap对话框或从 Plugins 菜单 激活Basemaps插件在 OpenFreeMap 样式Liberty、Liberty 3D、Positron、Bright、Dark、Fiord、可折叠的Regional分组、空白背景或自定义样式 URL 之间切换。可在 Layers 面板中切换底图可见性并调整其不透明度。其他天体GeoLibre 还能绘制地球之外的世界。Change basemap对话框与New project对话框把行星底图按分区组织为The Moon月球、Mars火星以及可折叠的Other celestial bodies其他天体分区——涵盖Mercury水星、Venus金星、Galilean moons伽利略卫星Io、Europa、Ganymede、Callisto、Titan土卫六、Pluto冥王星和Charon卡戎。月球与火星马赛克来自 OpenPlanetaryMap其余天体来自 USGS Astrogeology并即时重投影到 Web Mercator 以便 MapLibre 渲染。快速切换可用 Layers 面板头部的planet switcher轨道图标。选择天体后会把工程的椭球体设置为此天体的参数因此距离、面积和比例尺条测量使用该天体的半径而非地球半径。更多数据源面板与插件除 Add Data 条目外还有更多目录与提供商以面板和插件形式提供包括 Planetary Computer、Earth Engine、Overture Maps 及多个联邦 Web Services详见 Data Integrations。其中三个集中在Plugins → Web Services下按关键词搜索公开数据集目录并一键把结果添加到地图面板搜索内容ArcGIS Hub发布到 ArcGIS Hub 的公开数据集。支持关键词搜索或限定当前地图范围、分页浏览、添加受支持图层、缩放到结果或下载数据。多图层数据集仅下载第一个面板会明确提示。Socrata公开 Socrata 开放数据目录添加其 GeoJSON 数据集。CKANHumanitarian Data Exchange 的 CKAN 目录添加其可用的 GeoJSON 资源。每个面板都会显示当前查看的结果占总数比例并提供Load more继续翻页。该子菜单下还有另外十四个浏览器详见 Web Services。浏览器端与桌面端的能力差异注意浏览器 vs 桌面URL 型数据源在浏览器与桌面应用中都可用。本地文件对话框、本地 MBTiles、本地栅格读取和 PostgreSQL 需要桌面应用。详见 Getting Started。这一限制与仓库的实现一致MbtilesSource、PostgresSource、GdbSource等组件依赖桌面端的本地文件系统与本地瓦片服务器能力而纯 URL 驱动的 XYZ、WMS、GeoParquet、PMTiles 等源则完全在浏览器内工作。【免费下载链接】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),仅供参考
返回列表