GeoJSON (.geojson)

IETF Стандарт

GeoJSON е често използван във Web картите, но поддръжката варира. GitHub показва съвместими файлове с ограничения; RFC 7946 задава ред дължина, ширина.

Конвертиране от GEOJSON към KML

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

Проверка и метаданни

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

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

Операционните системи и файловите анализатори идентифицират 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, който представя географски обекти Feature, FeatureCollection и Geometry
КомпресияНекомпресиран текст (лесно се компресира по HTTP с Gzip или Brotli)
Поредност на байтовете (Endianness)Текстов поток UTF-8
Цветови пространстваНе се прилага (географски данни)
Канали и структураОбекти Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection и потребителски свойства
Максимални размериКоординатно пространство на World Geodetic System 1984 (WGS 84): дължина от -180 до +180, ширина от -90 до +90
ПрозрачностНяма
Поточно предаване и прогресивно зарежданеGeoJSON с разделяне по редове (GeoJSONL / GeoJSONSeq) позволява непрекъснато поточно предаване на милиони обекти

Техническа сравнителна матрица: GeoJSON спрямо конкуренти

Технически атрибутGeoJSON (Текущ)KMLGPXSHP
Възприемане в уеб картитеШироко използван в уеб картографията; поддръжката зависи от приложениетоСтандарт по подразбиране за 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, преди да ги вмъкнете в изскачащи прозорци на карти.

Исторически произход и етапи

2016IETF официално стандартизира формата GeoJSON с RFC 7946, който изисква координатна система WGS 84.
2014GeoJSON е често използван във Web картите, но поддръжката варира. GitHub показва съвместими файлове с ограничения; RFC 7946 задава ред дължина, ширина.
2008Хауърд Бътлър, Шон Гилис и общността за ГИС с отворен код публикуват първоначалната спецификация GeoJSON 1.0.

Основни предимства

  • Стандарт за уеб среда: преобразува се директно в JavaScript обекти в библиотеките за карти в браузъра (Mapbox GL JS, Leaflet).
  • Лесна за четене JSON структура позволява лесно програмно създаване, филтриране и отстраняване на грешки.
  • Произволна схема от свойства: прикрепяйте всякакви потребителски дефинирани метаданни (население, име, скорост, приходи) директно към геометрични форми.

Технически ограничения и минуси

  • Обемност на текста: координатите с плаваща запетая се съхраняват като поредици от ASCII цифри, което води до по-големи файлови размери от бинарните Shapefiles или FlatGeobuf.
  • RFC 7946 изисква строг ред [Географска дължина, Географска ширина], което често обърква разработчиците, свикнали с „Ширина/Дължина".
  • Големи полигони с милиони върхове могат да доведат до забавяне на изобразяването на DOM в уеб браузъра.

Интересни технически факти

  • Официалният стандарт GeoJSON подрежда координатите като [Географска дължина, Географска ширина] (Декартов ред X, Y), което е точно обратното на обичайния човешки начин на изразяване („Географска ширина, Географска дължина").
  • GeoJSON е често използван във Web картите, но поддръжката варира. GitHub показва съвместими файлове с ограничения; RFC 7946 задава ред дължина, ширина.
  • RFC 7946 изисква граничните пръстени на полигоните да следват „правилото на дясната ръка": външните пръстени трябва да са ориентирани обратно на часовниковата стрелка.

Често задавани технически въпроси

Защо моите GeoJSON координати са подредени като [географска дължина, географска ширина] вместо [географска ширина, географска дължина]?

GeoJSON е често използван във Web картите, но поддръжката варира. GitHub показва съвместими файлове с ограничения; RFC 7946 задава ред дължина, ширина.

Как мога да конвертирам KML или Shapefile в GeoJSON?

Можете директно в браузъра си да преобразувате за секунди файлове Google Earth KML или Esri Shapefile в чист GeoJSON, готов за уеб, с File2File.app.

Каква е разликата между GeoJSON и Shapefile?

Shapefile продължава да се използва широко за обмен на данни и се поддържа от ГИС софтуер, но структурата му от няколко файла и ограниченията за атрибутите могат да направят GeoJSON или геобаза данни по-подходящи за някои работни процеси.