Что такое формат файла GEOJSON?
Файл .geojson содержит географические данные, закодированные в текстовом формате JSON. Файл может хранить информацию о местоположениях (точках), линиях, полигонах или других типах геометрии. Его содержимое может представлять реальные объекты - например, линия может обозначать дорогу или линию электропередачи, а полигон - контур здания или административную границу.
Документ .geojson структурирован вокруг поля верхнего уровня type, чаще всего "FeatureCollection", которое содержит массив объектов Feature. Каждый объект Feature связывает геометрию (координаты) с объектом properties произвольной формы для атрибутивных данных, таких как название, численность населения или категория. Формат был впервые определен сообществом в 2008 году и стандартизирован как IETF RFC 7946 в 2016 году, который закрепил систему координат WGS 84 и предписал порядок координат «долгота перед широтой» - частый источник ошибок, когда инструменты предполагают обратное.
Файлы .geojson не обязательно хранят только традиционные картографические данные, такие как границы стран или дороги. Такие файлы также используются для абстрактных пространственных данных, например, карты покрытия сигнала GSM или навигационных путевых точек. Поскольку формат представляет собой обычный текст UTF-8, построенный на JSON, данные можно легко передавать между приложениями, и они нативно поддерживаются библиотеками веб-картографии, такими как Leaflet, Mapbox GL и OpenLayers. Для больших наборов данных существуют более компактные альтернативы, такие как TopoJSON, предлагающие меньший размер файла, но .geojson остается стандартным форматом обмена для веб-карт. Связанные геопространственные форматы включают .kml и .gpx.
Безопасность и защита
РИСК: LOWGeoJSON - это обычный текст JSON без исполняемого кода, поэтому сам файл безопасен для открытия в любом редакторе. Два нюанса: очень большие файлы GeoJSON могут привести к зависанию браузерного просмотрщика (используйте QGIS или конвертируйте в бинарный/топологический формат для больших данных), а данные могут быть конфиденциальными - координаты могут раскрыть местоположение дома, маршрута или активов, поэтому проверяйте «properties» перед публичным доступом. Следите за порядком «долгота-широта» при передаче данных инструментам, ожидающим «широта-долгота», иначе объекты окажутся не в том месте.
Детали формата
в двух словахПрограммы, открывающие файлы GEOJSON
ogrinfo data.geojson или конвертация с помощью ogr2ogr out.shp data.geojson. Движок, стоящий за большинством конвертаций ГИС. ogrinfo data.geojson или конвертация с помощью ogr2ogr out.shp data.geojson. Движок, стоящий за большинством конвертаций ГИС. Технические подробности
глубокая спецификация| MIME-тип | application/geo+json (зарегистрирован RFC 7946); устаревший: application/vnd.geo+json |
| Кодировка текста | UTF-8 без BOM (предписано RFC 7946; BOM запрещен для обмена данными) |
| Базовый формат | JSON (обычный текст); может быть обработан любой стандартной библиотекой JSON без специального парсера ГИС |
| Система координат | WGS 84 (EPSG:4326), зафиксирована RFC 7946; альтернативные декларации CRS в соответствующих стандарту файлах не допускаются |
| Порядок осей координат | Долгота, широта (затем опционально высота в метрах); противоположно конвенции широта,долгота, используемой во многих инструментах ГИС - частая причина неверного отображения точек |
| Поддерживаемые типы геометрии | Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection |
| Структура документа | Объект JSON верхнего уровня с элементом «type»; FeatureCollection содержит массив «features» из объектов Feature, каждый с ключами «geometry» и «properties» |
| Идентификатор файла | Бинарные сигнатуры отсутствуют; идентифицируется по объекту JSON, чье значение «type» верхнего уровня соответствует имени типа GeoJSON (например, FeatureCollection, Point) |
| Сжатие | Встроенное отсутствует; обычно передается со сжатием gzip по HTTP через Content-Encoding; может уменьшить размер на 60-90% для текстовых файлов |
| Типичный размер файла | От нескольких КБ (несколько точек) до сотен МБ (границы полигонов высокого разрешения); избыточен по сравнению с бинарными форматами ГИС, такими как FlatGeobuf |
| Совместимость до RFC 7946 | Файлы спецификации сообщества 2008 года могут включать элемент «crs» и bbox на любом уровне геометрии; RFC 7946 полностью удалил декларации CRS |
| Целостность / контрольные суммы | Встроенные отсутствуют; целостность управляется транспортным уровнем (TLS) или системами контроля версий (Git) |
| Вариант с разделителями строк | GeoJSONL / NDJSON (`.geojsonl`): один объект GeoJSON Feature на строку, что позволяет осуществлять потоковую загрузку и частичное чтение больших наборов данных |
| Применение в вебе и ГИС | Нативный формат ввода для Leaflet, Mapbox GL JS и OpenLayers; браузер репозиториев GitHub автоматически отображает файлы `.geojson` как интерактивные карты |
| Выпущен | 2008 (community GeoJSON spec); IETF RFC 7946 published August 2016 |
| Последняя версия | RFC 7946 (August 2016) |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.rfc-editor.org |
Конвертации GEOJSON
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах GEOJSON.
Часто задаваемые вопросы
Как открыть файл GeoJSON?
В чем разница между GeoJSON и JSON?
Почему мои точки GeoJSON находятся не в том месте или в океане?
Как конвертировать GeoJSON в Shapefile?
ogr2ogr -f "ESRI Shapefile" out.shp in.geojson. Помните, что Shapefile состоит из нескольких файлов (.shp/.shx/.dbf) и сокращает имена полей.Как конвертировать GeoJSON в KML?
ogr2ogr -f KML out.kml in.geojson. KML позволяет просматривать данные в Google Earth или импортировать их в Google My Maps.