跳到主要内容
Vecaria

GeoJSON 转 GeoPackage

本地处理

在线把 GeoJSON 转换为 GeoPackage(.gpkg,OGC SQLite 容器,列型保真、表名可自定义)——浏览器本地处理、不上传、免登录、每日免费额度。

拖拽文件到此处,或点击选择

支持 GEOJSON、JSON

选择文件

先预览确认再转换:拖入文件只解析并显示下方输入地图预览,点击按钮才产出 .gpkg(SQLite 引擎在首次转换时加载)。

属性列按取值推断列型(INTEGER / REAL / BOOLEAN / TEXT),GDAL/QGIS 可直接排序、符号化与连接;混合类型列回退 TEXT。GeoPackage 为 SQLite 容器——规范本身无压缩选项。版本选择只改变文件头声明的 user_version(表结构一致)——仅当老读取端拒绝新版本时再降选 1.2。

拖入 GeoJSON 文件后在此显示输入地图预览;点击「转换并下载」前不会转换任何内容。

使用方法

  1. 拖入 .geojson / .json 文件——只解析并显示输入地图预览,不会自动转换(首次转换时加载本地引擎)
  2. 可自定义图层表名(默认 features)与 GeoPackage 版本(1.2/1.3/1.4,默认 1.3——只改文件头 user_version,表结构一致),点击「转换并下载」产出 .gpkg;若浏览器拦截了下载,请留意地址栏下载提示
  3. 用 QGIS 等 GeoPackage 兼容 GIS 打开验证

常见问题

  • 问:.gpkg 和 GeoPackage 是一回事吗? 答:是——.gpkg 是 OGC GeoPackage 的扩展名,把矢量图层存进一个 SQLite 数据库文件。本工具输出单个 .gpkg 文件,可随意改名,QGIS / GDAL 都能读。
  • 问:能把多个 GeoJSON 文件打包进同一个 GeoPackage 吗? 答:不能——每次转换只写一个要素表(表名可自定义,默认 features)。请逐个文件转换;要把多个图层叠进一个 .gpkg,之后用 QGIS 或 ogr2ogr 合并。
  • 问:输入是其他坐标系怎么办? 答:会被响亮拒绝而非静默错标——本工具输出恒为 WGS84(srs_id 4326)。请先用 geojson-reproject 工具(或 ogr2ogr)重投影再转换。
  • 问:输入能有多大? 答:没有上传限制,因为文件根本不上传——真正的上限是设备内存(GeoPackage 由浏览器内的 SQLite 引擎构建)。结果区会显示要素数与字节数。

功能说明

  • 基于 sql.js(MIT,WASM SQLite)
  • 生成 GeoPackage 容器:GPKG application_id/user_version(版本可选 1.2/1.3/1.4,默认 1.3)、gpkg_contents(含 last_change)、gpkg_geometry_columns 与完整 WGS 84 WKT 定义
  • 属性列按取值推断列型(INTEGER/REAL/BOOLEAN/TEXT),数值以数值存储——QGIS 属性表排序、分级符号化、按字段连接可直接使用
  • 浏览器本地完成

隐私

本工具在浏览器本地处理,文件不会上传服务器。

TL;DR: 把 GeoJSON 打包为 OGC GeoPackage(.gpkg):列型推断保真(INTEGER/REAL/BOOLEAN/TEXT)、表名可自定义、恒为 WGS84,QGIS/GDAL 直接打开。本地完成、不上传、免登录、每日免费额度。

示例

  • 拖入 .geojson → 先看输入地图预览 → 点击「转换并下载」→ 下载 .gpkg(结果区显示要素数与字节数)

支持的格式

GeoJSONGeoPackage

限制说明

  • 基于 sql.js(WASM SQLite),浏览器本地
  • 输出单一图层(表名可自定义,默认 features;须为合法 SQL 标识符,非法值响亮拒绝),SRS 4326(WGS84):输入带非 WGS84 crs 成员时响亮拒绝并指引先重投影(此前 crs 被静默忽略、恒写 4326,下游会按错误坐标系解读坐标)
  • 属性列按取值推断列型(全整数 INTEGER / 含小数 REAL / 全布尔 BOOLEAN / 其余含混合类型与嵌套对象数组回退 TEXT,嵌套值以 JSON 文本写入);布尔以 1/0 存储(SQLite 无布尔存储类)
  • GeoPackage 为 SQLite 容器,规范本身无压缩选项;不生成空间索引(rtree),需要时可在桌面 GIS 中补建
  • 版本选择(1.2/1.3/1.4,默认 1.3)只改变文件头声明的 user_version(表结构完全一致)——仅当老读取端拒绝较新 user_version 时再降选 1.2