Просмотр GeoPackage (GPKG) онлайн
Откройте файл GeoPackage прямо в браузере. Посмотрите слои на карте, найдите нужное в таблице атрибутов, выполните SQL-запрос только для чтения и экспортируйте слои в GeoJSON или CSV.
Файл читается на вашем устройстве, внутри браузера, и никуда не загружается. Из интернета загружаются только файлы библиотек (jsDelivr) и тайлы подложки (Esri, OpenStreetMap). Если вы согласились на cookie, анонимно учитываются только события вроде «файл открыт».
Что читается
Точки, линии, полигоны, составные геометрии и коллекции геометрий; координаты 2D, Z, M и ZM; системы координат с кодом EPSG или описанием WKT; тайлы PNG, JPEG и WebP, а также таблицы атрибутов без геометрии.
Похожие инструменты
Что такое GeoPackage
GeoPackage (расширение .gpkg) — открытый формат пространственных данных, описанный консорциумом Open Geospatial Consortium (OGC). По сути это один файл базы данных SQLite, устроенный по набору обязательных таблиц и правил. В одном файле могут храниться несколько векторных слоёв, растровые тайловые слои и таблицы атрибутов без геометрии. У формата нет ограничений shapefile вроде коротких имён полей, предела в 2 ГБ и набора сопутствующих файлов, поэтому его всё чаще используют для обмена данными между организациями и в полевых приложениях.
Инструмент помогает увидеть, какие слои есть в файле GeoPackage, в какой системе координат хранится каждый слой и сколько в нём записей, без установки настольной ГИС. Он рисует слои на карте, показывает атрибуты в постраничной таблице и экспортирует любой слой в GeoJSON или CSV.
Помимо таблиц с данными в каждом GeoPackage есть несколько служебных таблиц. gpkg_contents перечисляет слои с их типом и охватом, gpkg_geometry_columns описывает столбец геометрии, тип геометрии и измерения Z и M, а gpkg_spatial_ref_sys хранит используемые системы координат вместе с определениями WKT. Уровни зума тайловых слоёв находятся в таблицах gpkg_tile_matrix_set и gpkg_tile_matrix. Инструмент строит список слоёв по этим таблицам, а сами таблицы можно изучить в поле SQL.
Как пользоваться
- Перетащите файл GPKG в поле выше или нажмите на поле и выберите его.
- В списке слоёв видны тип каждого слоя (объекты, тайлы, атрибуты), тип геометрии, число записей и система координат. Флажками слои включаются и выключаются на карте.
- Нажмите на имя слоя, чтобы открыть его сведения и таблицу атрибутов. Поиск идёт по всем столбцам, таблица листается страницами по 25 строк.
- Щёлкните по объекту на карте, чтобы увидеть его атрибуты; соответствующая строка подсветится в таблице. Значок прицела в таблице находит объект на карте.
- Для тайловых слоёв посмотрите, сколько тайлов на каждом уровне зума, и выберите уровень для показа на карте.
- Скачайте выбранный слой в GeoJSON или CSV либо выполните собственный запрос в поле SQL.
Экспорт и SQL-запросы
При экспорте в GeoJSON все объекты слоя пересчитываются в долготу и широту WGS84 и записываются по RFC 7946; значения Z сохраняются. Файл CSV содержит столбцы атрибутов и геометрию в WGS84 в виде текста WKT и сохраняется в UTF-8 с меткой порядка байтов (BOM), чтобы кириллица правильно отображалась в Excel. На русской странице разделитель полей точка с запятой.
Поле SQL позволяет напрямую запрашивать таблицы файла. Например, SELECT district, count(*) FROM parcels GROUP BY district считает записи по районам, а SELECT * FROM gpkg_spatial_ref_sys показывает определения систем координат в файле. Если в результате есть столбец геометрии, найденные объекты рисуются на карте оранжевым. Соединение открыто с запретом записи, поэтому запросы не могут изменить файл.
Данные и метод
Файл открывается в памяти браузера с помощью sql.js 1.14.2 (лицензия MIT), сборки SQLite для WebAssembly. Слои читаются из gpkg_contents, столбцы геометрии из gpkg_geometry_columns, системы координат из gpkg_spatial_ref_sys. Каждая геометрия декодируется по двоичному заголовку GeoPackage (порядок байтов, охват и идентификатор SRS) и следующим за ним данным WKB и переводится в GeoJSON; поддерживаются оба порядка байтов, коды типов ISO и EWKB, а также измерения Z и M.
Координаты пересчитываются библиотекой proj4js 2.9.0 (лицензия MIT). Распространённые в Турции системы TUREF, ED50 и UTM встроены; для остальных используется определение WKT из файла. Для датума ED50 применяются параметры EPSG:1784 (ED50 to WGS 84 (30)), заданные для Турции. Значки взяты из Lucide (ISC); подложки принадлежат Esri и участникам OpenStreetMap. Используемые библиотеки с открытым исходным кодом и их лицензии: Источники данных.
Ограничения
- Память: GeoPackage целиком загружается в память. Для файлов в несколько сотен мегабайт браузеру может не хватить памяти.
- Число объектов: на карте и в таблице показываются первые 100 000 объектов слоя; экспорт включает все объекты.
- Криволинейные геометрии: типы CircularString, CompoundCurve, CurvePolygon и подобные не рисуются; инструмент сообщает их количество.
- Значения M: в GeoJSON нет измерения M, поэтому значения меры не попадают в экспорт.
- Тайлы: для тайловых слоёв одновременно показывается один уровень зума в виде мозаики размером не более нескольких тысяч пикселей.
Для профессиональных проектов
Если нужно свести данные GeoPackage, shapefile и CAD из разных подразделений в общую модель данных или построить на их основе регулярно обновляемые панели показателей, напишите нам через страницу контактов. О наших проектах можно узнать на сайте Rodosto Teknoloji.
Часто задаваемые вопросы
Как преобразовать GPKG в GeoJSON?
Откройте файл, выберите в списке слой объектов и нажмите GeoJSON. Все объекты слоя будут пересчитаны в долготу и широту WGS84 и записаны в GeoJSON по RFC 7946. Таблицу атрибутов можно также скачать в CSV, где геометрия записана текстом WKT.
Загружается ли мой GeoPackage на сервер?
Нет. Файл читается внутри браузера движком SQLite, работающим на WebAssembly, и никуда не отправляется. Из интернета загружаются только файлы библиотек (jsDelivr) и тайлы подложки (Esri, OpenStreetMap).
Можно ли изменить данные через поле SQL?
Нет. Поле SQL работает только на чтение: выполняются лишь запросы SELECT, WITH, EXPLAIN и PRAGMA, описывающие структуру таблиц, а соединение с базой открывается с запретом записи. Ваш файл ни при каких условиях не изменяется.
Показываются ли тайловые (растровые) слои?
Да. Для слоёв с тайлами PNG, JPEG или WebP тайлы одного уровня зума склеиваются и размещаются на карте. В таблице перечислены уровни зума с числом тайлов, размером матрицы и размером пикселя. Для тайлов, которые браузер не может декодировать, например покрытий высот в тайлах TIFF, показывается только информация.