Файл GeoJSON (.geojson)

IETF Стандарт

Geographic JavaScript Object Notation (GeoJSON) - это универсальный веб-стандарт для кодирования географических структур данных, широко применяемый в современном веб-картографировании (Leaflet, Mapbox, OpenLayers) и геоинформационных системах.

Конвертировать из GEOJSON в KML

Бесплатный конвертер из GEOJSON в KML прямо в браузере. Конвертируйте файлы мгновенно на вашем устройстве.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы GeoJSON по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

100% конфиденциальное преобразование в браузере - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполняется локально в песочнице вашего браузера.

Сигнатура заголовка на уровне байтов (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 (Текущий)KMLGPXSHP
Распространение в веб-картах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 перед вставкой их во всплывающие окна карт.

Исторические истоки и вехи

2016IETF официально стандартизирует формат GeoJSON как RFC 7946, закрепив обязательное использование систем координат WGS 84.
2014GitHub внедряет встроенный интерактивный визуальный рендеринг карт для всех файлов .geojson.
2008Ховард Батлер, Шон Гиллис и сообщество разработчиков открытого ГИС-ПО публикуют первоначальную спецификацию GeoJSON 1.0.

Ключевые преимущества и плюсы

  • Встроенный веб-стандарт: напрямую преобразуется в объекты 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.