Файл GeoJSON (.geojson)
IETF СтандартGeographic JavaScript Object Notation (GeoJSON) - это универсальный веб-стандарт для кодирования географических структур данных, широко применяемый в современном веб-картографировании (Leaflet, Mapbox, OpenLayers) и геоинформационных системах.
Конвертировать из GEOJSON в KML
Бесплатный конвертер из GEOJSON в KML прямо в браузере. Конвертируйте файлы мгновенно на вашем устройстве.
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы GeoJSON по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (Magic Bytes)
Операционные системы и анализаторы файлов идентифицируют файлы GeoJSON по начальной двоичной последовательности байтов:
HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):
7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65ПРЕДСТАВЛЕНИЕ ASCII: {\n "type": "Feature
Стандартизация: IETF RFC 7946
Технические спецификации
| Архитектура контейнера | JSON-документ, соответствующий стандарту RFC 7946, представляющий географические объекты (Features, FeatureCollections и Geometries) |
| Сжатие | Несжатый текст (легко сжимается по протоколу HTTP с помощью Gzip или Brotli) |
| Порядок байтов (Endianness) | Текстовый поток UTF-8 |
| Цветовые пространства | Н/Д (географические данные) |
| Каналы и структура | Points, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections и пользовательские свойства |
| Макс. габариты | Система координат Всемирной геодезической системы 1984 года (WGS 84): долгота (от -180 до +180), широта (от -90 до +90) |
| Прозрачность | Отсутствует |
| Потоковая передача и прогрессивная загрузка | GeoJSON с разделителями строк (GeoJSONL / GeoJSONSeq) обеспечивает непрерывную потоковую передачу миллионов объектов |
Техническая матрица сравнения: GeoJSON против конкурентов
| Технический атрибут | GeoJSON (Текущий) | KML | GPX | SHP |
|---|---|---|---|---|
| Распространение в веб-картах | 100% универсальный стандарт для веб-ГИС по умолчанию | Стандарт Google Earth по умолчанию | Стандарт для GPS-устройств и фитнеса по умолчанию | Устаревший стандарт настольных ГИС |
| Порядок координат | [Долгота, Широта] (X, Y) | Долгота, Широта, Высота | Широта, Долгота | Координаты X, Y |
| Стиль синтаксиса | Чистые пары ключ-значение в JSON | Громоздкие теги XML (<kml>) | Громоздкие теги XML (<gpx>) | Многофайловый бинарный формат (.shp, .shx, .dbf) |
| Схема свойств | Произвольный объект свойств JSON | Теги схемы ExtendedData | Фиксированная схема тегов GPX | Фиксированные столбцы dBase IV (.dbf) |
Типичные режимы повреждения и руководство по восстановлению в HEX
Точки на карте отображаются в океане возле Антарктиды вместо своего истинного местоположения.
Первопричина: Значения широты и долготы были случайно перепутаны местами в массиве координат.
Восстановление: Поменяйте местами порядок координат [долгота, широта] с помощью конвертера GeoJSON от File2File.
Анализ безопасности и векторы атак на парсер
Свойства GeoJSON могут содержать произвольный пользовательский ввод, который необходимо очищать перед выводом во всплывающих окнах карт для предотвращения XSS-атак.
Известные векторы атак
- Межсайтовый скриптинг (XSS) через незаэкранированный HTML в свойствах объектов GeoJSON, отображаемых во всплывающих подсказках карт.
- Отказ в обслуживании (DoS) из-за глубоко вложенных коллекций геометрий (GeometryCollections) или полигонов с миллионами вершин.
- Подделка запросов на стороне сервера (SSRF) через удаленную загрузку объектов GeoJSON.
Защитные лучшие практики: Очищайте все текстовые строки свойств с помощью DOMPurify перед вставкой их во всплывающие окна карт.
Исторические истоки и вехи
Ключевые преимущества и плюсы
- Встроенный веб-стандарт: напрямую преобразуется в объекты JavaScript в библиотеках картографирования для браузеров (Mapbox GL JS, Leaflet).
- Читаемая человеком структура JSON позволяет легко создавать, фильтровать и отлаживать данные программным путем.
- Произвольная схема свойств: позволяет привязывать любые пользовательские метаданные (численность населения, название, скорость, доход) непосредственно к геометрическим фигурам.
Технические ограничения и минусы
- Избыточность текста: координаты с плавающей запятой хранятся в виде повторяющихся символов ASCII, что приводит к большему размеру файлов по сравнению с бинарными Shapefiles или FlatGeobuf.
- Стандарт RFC 7946 строго предписывает порядок [Долгота, Широта], что часто путает разработчиков, привыкших к порядку «Широта/Долгота».
- Крупные полигоны с миллионами вершин могут вызывать замедление рендеринга DOM в веб-браузерах.
Интересные технические факты
- Официальный стандарт GeoJSON задает порядок координат как [Долгота, Широта] (декартов порядок X, Y), что прямо противоположно разговорному порядку («Широта, Долгота»).
- Если вы добавите файл .geojson в репозиторий GitHub, он автоматически отобразится в виде интерактивной карты, с которой можно взаимодействовать.
- RFC 7946 требует, чтобы границы полигонов следовали «правилу правой руки»: внешние кольца должны обходиться против часовой стрелки.
Часто задаваемые технические вопросы
Почему мои координаты в GeoJSON упорядочены как [долгота, широта], а не [широта, долгота]?
Потому что в математике и компьютерной графике координаты всегда задаются в порядке (X, Y). Долгота представляет собой горизонтальную ось X, а Широта - вертикальную ось Y.
Как конвертировать KML или Shapefile в GeoJSON?
Вы можете за считанные секунды преобразовать файлы KML от Google Earth или файлы Shapefile от Esri в чистый, готовый для веба формат GeoJSON с помощью File2File.app прямо в браузере.
В чем разница между GeoJSON и Shapefile?
Shapefile - это устаревший многофайловый бинарный формат из 1990-х годов (.shp, .shx, .dbf). GeoJSON - это современный универсальный открытый веб-формат, записанный в понятном JSON.
Связанные пары конвертации GeoJSON
Конвертация векторных данных GeoJSON в Google KML переводит легковесные массивы координат JSON в структурированные XML-документы, оптимизированные для Google Earth и Google Maps.
Конвертация файлов Google KML в формат GeoJSON преобразует иерархические географические данные XML в легкий векторный формат JavaScript Object Notation для современных веб-карт.
Конвертация векторных данных GeoJSON в формат GPX преобразует стандартные географические объекты JSON в формат на базе XML, оптимизированный для физических навигационных устройств.