Jump to content

GeoJSON

GeoJSON
Расширения имен файлов .json, .geojson
Тип интернет-СМИ application/geo+json[1]
Тип формата Формат файла ГИС
Расширено с JSON
Стандартный RFC   7946
Открытый формат ? да
Веб-сайт геоджсон .org

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

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

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

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

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

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

{  "type": "FeatureCollection",  "features": [    {      "type": "Feature",      "geometry": {        "type": "Point",        "coordinates": [102.0, 0.5]      },      "properties": {        "prop0": "value0"      }    },    {      "type": "Feature",      "geometry": {        "type": "LineString",        "coordinates": [          [102.0, 0.0],          [103.0, 1.0],          [104.0, 0.0],          [105.0, 1.0]        ]      },      "properties": {        "prop0": "value0",        "prop1": 0.0      }    },    {      "type": "Feature",      "geometry": {        "type": "Polygon",        "coordinates": [          [            [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" }      }    }  ]}

Геометрии

[ редактировать ]

Точки — это [x, y] или [x, y, z]. Это могут быть [долгота, широта] или [восток, север] . Высота, в метрах, [6] необязательное третье число. Это десятичные числа. [7]

Например, Лондон (51,5074° северной широты, 0,1278° западной долготы) равен [-0,1278, 51,5074]

Примитивы геометрии
Тип Примеры
Точка
{    "type": "Point",     "coordinates": [30.0, 10.0]}
ЛинияСтрока
{    "type": "LineString",     "coordinates": [        [30.0, 10.0],        [10.0, 30.0],        [40.0, 40.0]    ]}
Полигон
{    "type": "Polygon",     "coordinates": [        [            [30.0, 10.0],            [40.0, 40.0],            [20.0, 40.0],            [10.0, 20.0],            [30.0, 10.0]        ]    ]}
{    "type": "Polygon",     "coordinates": [        [            [35.0, 10.0],            [45.0, 45.0],            [15.0, 40.0],            [10.0, 20.0],            [35.0, 10.0]        ],        [            [20.0, 30.0],            [35.0, 35.0],            [30.0, 20.0],            [20.0, 30.0]        ]    ]}
Многочастные геометрии
Тип Примеры
Многоточечный
{    "type": "MultiPoint",     "coordinates": [        [10.0, 40.0],        [40.0, 30.0],        [20.0, 20.0],        [30.0, 10.0]    ]}
Мультилинейная строка
{    "type": "MultiLineString",     "coordinates": [        [            [10.0, 10.0],            [20.0, 20.0],            [10.0, 40.0]        ],        [            [40.0, 40.0],            [30.0, 30.0],            [40.0, 20.0],            [30.0, 10.0]        ]    ]}
Мультиполигон
{    "type": "MultiPolygon",     "coordinates": [        [            [                [30.0, 20.0],                [45.0, 40.0],                [10.0, 40.0],                [30.0, 20.0]            ]        ],         [            [                [15.0, 5.0],                [40.0, 10.0],                [10.0, 20.0],                [5.0, 10.0],                [15.0, 5.0]            ]        ]    ]}
{    "type": "MultiPolygon",     "coordinates": [        [            [                [40.0, 40.0],                [20.0, 45.0],                [45.0, 30.0],                [40.0, 40.0]            ]        ],         [            [                [20.0, 35.0],                [10.0, 30.0],                [10.0, 10.0],                [30.0, 5.0],                [45.0, 20.0],                [20.0, 35.0]            ],            [                [30.0, 20.0],                [20.0, 15.0],                [20.0, 25.0],                [30.0, 20.0]            ]        ]    ]}
ГеометрияКоллекция
{    "type": "GeometryCollection",    "geometries": [        {            "type": "Point",            "coordinates": [40.0, 10.0]        },        {            "type": "LineString",            "coordinates": [                [10.0, 10.0],                [20.0, 20.0],                [10.0, 40.0]            ]        },        {            "type": "Polygon",            "coordinates": [                [                    [40.0, 40.0],                    [20.0, 45.0],                    [45.0, 30.0],                    [40.0, 40.0]                ]            ]        }    ]}

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

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

Схема TopoJSON

[ редактировать ]

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

Формы Топойсона
{  "type":"Topology",  "transform":{    "scale": [1,1],    "translate": [0,0]  },  "objects":{     "two-squares":{      "type": "GeometryCollection",      "geometries":[        {"type": "Polygon", "arcs":[[0,1]],"properties": {"name": "Left_Polygon" }},        {"type": "Polygon", "arcs":[[2,-1]],"properties": {"name": "Right_Polygon" }}      ]    },    "one-line": {      "type":"GeometryCollection",      "geometries":[        {"type": "LineString", "arcs": [3],"properties":{"name":"Under_LineString"}}      ]    },    "two-places":{      "type":"GeometryCollection",      "geometries":[        {"type":"Point","coordinates":[0,0],"properties":{"name":"Origine_Point"}},        {"type":"Point","coordinates":[0,-1],"properties":{"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. ^ Перейти обратно: а б Батлер, Ховард; Дейли, Мартин; Дойл, Аллан; Гиллис, Шон; Хаген, Стефан; Шауб, Тим (август 2016 г.). РФК 7946 . IETF . дои : 10.17487/RFC7946 .
  2. ^ «Указание направления» . разработчик.apple.com .
  3. ^ «Информационная страница GeoJSON» . lists.geojson.org .
  4. ^ «Архив GeoJSON за март 2007 г. по веткам» . lists.geojson.org .
  5. ^ «Географический JSON (geojson) —» . datatracker.ietf.org .
  6. ^ Батлер, Х.; Дейли, М.; Дойл, А.; Гиллис, Шон; Шауб, Т.; Хаген, Стефан (август 2016 г.). Формат GeoJSON (отчет). Рабочая группа по интернет-инжинирингу.
  7. ^ Батлер, Х.; Дейли, М.; Дойл, А.; Гиллис, Шон; Шауб, Т.; Хаген, Стефан (август 2016 г.). «GeoJSON RFC #3.1.1» .
  8. ^ "topojson/topojson-спецификация" . 11 декабря 2020 г. – через GitHub.
  9. ^ "топойсон/топойсон" . Гитхаб .
  10. ^ «Релиз/1.11.0-Новости – GDAL» . trac.osgeo.org .
  11. ^ «АстопоJSON» . postgis.net .

Источники

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a09c302fed7b6009377f0af8f2285034__1716861000
URL1:https://arc.ask3.ru/arc/aa/a0/34/a09c302fed7b6009377f0af8f2285034.html
Заголовок, (Title) документа по адресу, URL1:
GeoJSON - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)