Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

GeoJSON [1] - это открытый стандартный формат, разработанный для представления простых географических объектов вместе с их непространственными атрибутами. Он основан на формате JSON .

К функциям относятся точки (следовательно, адреса и местоположения), линейные строки (т.е. улицы, шоссе и границы), многоугольники (страны, провинции, участки земли) и составные части этих типов. Функции GeoJSON не обязательно должны представлять объекты только физического мира; например, мобильные приложения для маршрутизации и навигации могут описывать покрытие своих услуг с помощью GeoJSON. [2]

Формат GeoJSON отличается от других стандартов ГИС тем, что он был написан и поддерживается не официальной организацией по стандартизации, а рабочей группой разработчиков в Интернете. [3]

Заметным потомком GeoJSON является TopoJSON , расширение GeoJSON, которое кодирует геопространственную топологию и обычно обеспечивает файлы меньшего размера.

История [ править ]

Рабочая группа и обсуждение формата GeoJSON были начаты в марте 2007 года [4], а спецификация формата была завершена в июне 2008 года.

В апреле 2015 года Инженерная группа Интернета учредила рабочую группу Geographic JSON [5], которая выпустила GeoJSON как RFC 7946 в августе 2016 года.

Пример [ править ]

{  "type" :  "FeatureCollection" ,  "features" :  [  {  "type" :  "Feature" ,  "geometry" :  {  "type" :  "Point" ,  "координаты" :  [ 102.0 ,  0.5 ]  },  "properties" :  {  "prop0" :  "value0"  }  },  {  "type" :  "Feature" ,  "geometry" :  {  "тип " :  " LineString " ,  " координаты " : [  [ 102.0 ,  0.0 ],  [ 103.0 ,  1.0 ],  [ 104.0 ,  0.0 ],  [ 105.0 ,  1.0 ]  ]  },  "properties" :  {  "prop0" :  "value0" ,  "prop1" :  0.0  }  },  {  " тип " :  " Объект " ,  " геометрия " :  {  " тип " :  " Многоугольник " ,  " координаты " : [  [  [ 100,0,  0.0 ],  [ 101.0 ,  0.0 ],  [ 101.0 ,  1.0 ],  [ 100.0 ,  1.0 ],  [ 100.0 ,  0.0 ]  ]  ]  },  "properties" :  {  "prop0" :  "value0" ,  "prop1" :  {  " this " :  " that "  }  }  }  ] }

Геометрия [ править ]

TopoJSON [ править ]

TopoJSON - это расширение GeoJSON, которое кодирует топологию . Вместо того, чтобы представлять геометрию дискретно, геометрия в файлах TopoJSON сшивается из общих линейных сегментов, называемых дугами . [6] Дуги - это последовательности точек, а линейные цепочки и многоугольники - это последовательности дуг. Каждая дуга определяется только один раз, но на нее можно ссылаться несколько раз разными формами, что снижает избыточность и размер файла. [7] Кроме того, TopoJSON облегчает приложения, использующие топологию, такую ​​как упрощение формы с сохранением топологии, автоматическая раскраска карт и картограммы .

Эталонная реализация спецификации TopoJSON доступна в виде инструмента командной строки для кодирования TopoJSON из GeoJSON (или ESRI Shapefiles) и библиотеки JavaScript на стороне клиента для повторного декодирования TopoJSON обратно в GeoJSON. TopoJSON также поддерживается популярным инструментом OGR с версии 1.11 [8] и PostGIS с версии 2.1.0. [9]

Схема TopoJSON [ править ]

Для данной формы ГИС с координатами 0 ° широты и 0 ° долготы простой, но действительный и полный файл topojson, содержащий все метаданные, Polygon , LineString , элементы Point , дуги и свойства , определяется следующим образом:

Фигуры Топойсона
{  "тип" : "Топология" ,  "преобразование" : {  "масштаб" :  [ 1 , 1 ],  "перевод" :  [ 0 , 0 ]  },  "объекты" : {  "два квадрата" : {  "тип" :  "GeometryCollection" ,  "geometries" : [  { "type" :  "Polygon" ,  "arcs" : [[ 0 , 1 ]],"properties" :  {"name" :  "Left_Polygon"  }},  { "type" :  "Polygon" ,  "arcs" : [[ 2 , - 1 ]], "properties" :  { "name" :  "Right_Polygon"  }}  ]  },  " однострочный " :  {  " тип " : " GeometryCollection " ,  " геометрия " : [  { " тип " :  " LineString " ,  " дуги " : [ 3 ], "properties" : { "name": "Under_LineString" }}  ]  },  "два места" : {  "тип" : "GeometryCollection" ,  "геометрии" : [  { "тип" : "Точка" , "координаты" : [ 0 , 0 ], "свойства " : { " name " : " Origine_Point " }},  { " type " : " Point " , " координаты " : [ 0 ,- 1 ], "свойства" : {"name" : "Under_Point" }}  ]  }  },  "arcs" :  [  [[ 1 , 2 ], [ 0 , - 2 ]]],  [[ 1 , 0 ], [ - 1 , 0 ], [ 0 , 2 ], [ 1 , 0 ]],  [[ 1 , 2 ], [ 1 , 0 ], [ 0 , - 2 ], [ - 1 , 0 ]],  [[0 , - 1 ], [ 2 , 0 ]]  ] }

См. Также [ править ]

  • Язык разметки географии
  • Формат векторных файлов ГИС

Ссылки [ править ]

  1. ^ a b Батлер, Ховард; Дэли, Мартин; Дойл, Аллан; Гиллис, Шон; Хаген, Стефан; Шауб, Тим (август 2016 г.). RFC 7946 . IETF . DOI : 10,17487 / RFC7946 .
  2. ^ «Обеспечение направлений» . developer.apple.com .
  3. ^ "Информационная страница GeoJSON" . lists.geojson.org .
  4. ^ "GeoJSON, март 2007 г. Архив по ветке" . lists.geojson.org .
  5. ^ "Географический JSON (geojson) -" . datatracker.ietf.org .
  6. ^ "топойсон / топойсон-спецификация" . 11 декабря 2020 г. - через GitHub.
  7. ^ "топойсон / топойсон" . GitHub .
  8. ^ "Релиз / 1.11.0-Новости - ГДАЛ" . trac.osgeo.org .
  9. ^ "AsTopoJSON" . postgis.net .

Источники [ править ]

  • Эндрюс, Кристофер (18 сентября 2007 г.). «Новые технологии: AJAX и GeoJSON» . Архивировано из оригинального 22 мая 2009 года.
  • «Geoweb Guru: Технический обзор: GeoJSON» . 16 февраля 2009 года в архив с оригинала на 2009-02-21.
  • Ламберт, Крис (4 мая 2009 г.). «Блог разработчиков Google Geo: создавайте свои общедоступные данные в Локаторе с помощью GeoJSON и KML» .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • topojson / topojson
  • topojson / topojson-спецификация