10.7. GeoPackage
GeoPackage — открытый контейнер геопространственных данных на основе SQLite. В одном файле он способен хранить несколько наборов векторных объектов, растровые тайлы и служебную информацию, поэтому удобен для передачи целого офлайн-проекта.
Чем GeoPackage отличается от одного слоя
GPX обычно передаёт навигационные объекты, GeoTIFF — один геопривязанный растр, а GeoPackage может содержать сразу несколько таблиц пространственных данных. Например дороги, точки, границы и картографические тайлы могут находиться в одном .gpkg.
Векторные данные
Объекты могут иметь геометрию и атрибуты. Точка содержит координаты и, например, название; линия — геометрию дороги и её характеристики; полигон — границу района и описание.
Тайлы
GeoPackage также может хранить тайловые изображения для разных масштабов. Это делает формат пригодным не только для GIS-анализа, но и для некоторых вариантов автономной картографической подложки.
Системы координат
Разные таблицы имеют описанную систему пространственной привязки. При обмене всё равно необходимо контролировать CRS: корректный контейнер не спасёт от неверно подготовленных исходных данных.
Практический пример
Для района подготовлены слой ориентиров, дорожная сеть и отдельные полигоны. Вместо трёх разных файлов GIS-проект экспортирует их в один GeoPackage. На другом устройстве совместимая программа открывает слои из этого контейнера.
Преимущества
Один переносимый файл, отсутствие необходимости в сервере базы данных, поддержка нескольких наборов данных и открытый стандарт делают GeoPackage удобным для автономного обмена.
Ограничения
Навигационные приложения поддерживают GeoPackage не одинаково. Одно может читать только тайлы, другое — векторные слои, третье — не поддерживать формат вообще. Перед маршрутом проверяется именно нужный сценарий.
Не путайте: GeoPackage — контейнер данных, а не конкретная карта. Чтобы понять его содержимое, нужно посмотреть, какие слои и таблицы находятся внутри.
Что запомнить
GeoPackage подходит для более сложных наборов геоданных, когда одного трека или одной картинки недостаточно. Для обычной передачи нескольких точек GPX проще; для многослойного автономного проекта GPKG может быть значительно удобнее.