GeoJSON (.geojson)
IETF СтандартGeoJSON поширений у вебкартографії, але підтримка різниться. GitHub відображає сумісні файли з обмеженнями; RFC 7946 задає порядок довгота, широта.
Конвертувати з GEOJSON у KML
Безкоштовний конвертер з GEOJSON у KML у браузері. Миттєво конвертуйте файли на своєму пристрої.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли GeoJSON, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли GeoJSON, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 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 |
| Колірні простори | Не застосовується (географічні дані) |
| Канали та структура | Точки, багатоточкові об’єкти, лінії, багатолінійні об’єкти, полігони, багатополігональні об’єкти, колекції геометрій і користувацькі властивості |
| Максимальні розміри | Система координат 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) |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Точки на карті з'являються в океані поблизу Антарктиди замість їхнього справжнього розташування.
Першопричина: Значення широти й довготи були випадково перемішані місцями в масиві координат.
Відновлення: Поміняйте місцями позиції координат [lon, lat] за допомогою конвертера GeoJSON від File2File.app.
Аналіз безпеки та векторів атак на парсери
Властивості GeoJSON можуть містити довільні вхідні дані користувача, які необхідно очищати перед виведенням у спливні вікна карти для запобігання атакам XSS.
Відомі вектори атак
- Міжсайтовий скриптинг (XSS) через неекранований HTML у властивостях географічних об’єктів GeoJSON, відображених у підказках карти.
- Відмова в обслуговуванні через глибоко вкладені GeometryCollections або полігони з мільйонами вершин.
- Підробка запитів на серверну сторону (SSRF) через віддалене завантаження об'єктів GeoJSON.
Рекомендації щодо захисту: Перед вставленням у спливні вікна карти очищуйте всі текстові значення властивостей за допомогою DOMPurify.
Історичне походження та віхи
Основні переваги
- Вебстандарт: у бібліотеках карт для браузера (Mapbox GL JS, Leaflet) дані безпосередньо перетворюються на об’єкти JavaScript.
- Структура JSON, читана людиною, дозволяє без зусиль створювати, фільтрувати та виконувати налагодження програмним шляхом.
- Довільна схема властивостей: додавайте будь-які користувацькі метадані (кількість населення, назву, швидкість, дохід) безпосередньо до геометричних об’єктів.
Технічні обмеження та недоліки
- Текстова багатослівність: зберігає координати з рухомою комою як повторювані цифри ASCII, що призводить до більшого розміру файлів порівняно з бінарними Shapefile або FlatGeobuf.
- RFC 7946 суворо вимагає порядок [Довгота, Широта], що часто плутає розробників, звичних до «Широта, Довгота».
- Великі полігони з мільйонами вершин можуть спричинити сповільнення рендерингу DOM у веббраузері.
Цікаві технічні факти
- Офіційний стандарт GeoJSON впорядковує координати як [Довгота, Широта] (декартовий порядок X, Y), що є прямо протилежним до того, як зазвичай кажуть люди ('Широта, Довгота').
- GeoJSON поширений у вебкартографії, але підтримка різниться. GitHub відображає сумісні файли з обмеженнями; RFC 7946 задає порядок довгота, широта.
- RFC 7946 вимагає, щоб кільця меж полігонів відповідали «правилу правої руки»: зовнішні кільця мають бути спрямовані проти годинникової стрілки.
Поширені технічні запитання
Чому мої координати GeoJSON впорядковані як [довгота, широта] замість [широта, довгота]?
GeoJSON поширений у вебкартографії, але підтримка різниться. GitHub відображає сумісні файли з обмеженнями; RFC 7946 задає порядок довгота, широта.
Як конвертувати KML або Shapefile у GeoJSON?
Ви можете конвертувати файли Google Earth KML або Esri Shapefiles у чистий GeoJSON, готовий для вебвикористання, за лічені секунди за допомогою File2File.app безпосередньо у браузері.
У чому різниця між GeoJSON та Shapefile?
Shapefile досі широко використовують для обміну даними, і його підтримують ГІС-програми, проте багатофайлова структура й обмеження атрибутів можуть зробити GeoJSON або геобазу доречнішими для певних робочих процесів.
Пов'язані пари конвертації GeoJSON
Перетворення векторів GeoJSON у Google KML перетворює компактні масиви координат JSON на структуровані документи XML, адаптовані для Google Earth та Google Maps.
Конвертація файлів Google KML у формат GeoJSON перетворює ієрархічні географічні дані XML на легкий векторний JavaScript Object Notation для сучасних веб-карт.
Конвертація векторних даних GeoJSON у GPX перетворює стандартні географічні JSON-об'єкти у формат на основі XML, оптимізований для фізичних навігаційних пристроїв.