В предыдущей статье мы разобрались, что такое базовые блоки GeoJSON. А теперь пришло время разобрать наиболее важные и наиболее часто используемые типы объектов.
Как мы уже помним в GeoJSON есть такие типы:
- Point 🔵
- LineString 📈
- Polygon 🟥
- MultiPoint 🔵🔴
- MultiLineString 📉📈
- Мультиполигон 🟥 🟦
Особенность 🏞
Функция в GeoJSON — это объект, который содержит геометрическую форму (например, типы выше ^) и свойства (например, имя, тип и т. д.) для этой формы.
Чтобы проиллюстрировать это, представьте, что вы рисуете карту города. Вы бы начали с рисования различных фигур на карте, например, или многоугольников для представления зданий или парков. Затем вы добавите информацию о каждой фигуре, например, название парка или тип здания.
Предположим, у нас есть данные о границах городского парка, и мы хотим представить эти данные в формате GeoJSON. Мы можем создать Feature для этого полигона и сохранить название и размер парка в качестве дополнительной информации.
{ "type": "Feature", "properties": { "name": "Olympic Park", "size": "85 hectares" }, "geometry": { "coordinates": [ [ [ 11.539417624693925, 48.17613313877797 ], [ 11.538077298468238, 48.168150074081154 ], [ 11.561556116500725, 48.1685970352552 ], [ 11.558505718881861, 48.1759482169781 ], [ 11.539417624693925, 48.17613313877797 ] ] ], "type": "Polygon" } }
Эта «Функция» состоит из трех основных компонентов:
- тип: указывает тип объекта GeoJSON, в данном случае это «Функция».
- геометрия: определяет геометрическую форму объекта. В данном примере это многоугольник, заданный списком координат вершин многоугольника.
- Свойства: содержит свойства объекта, такие как название и размер парка. Если вам нужно сохранить дополнительную информацию о функции, сохраните ее здесь.
FeatureCollection 🏞 🏝🏔
FeatureCollection — это набор географических объектов, каждый из которых представлен объектом Feature. Давайте представим, что у нас есть город Мюнхен, и мы хотим создать коллекцию FeatureCollection для всех парков города.
Вот как может выглядеть пример FeatureCollection для города Мюнхена и его парков. Как видите, FeatureCollection — это просто «массив» FeatureCollection с дополнительными полями. .
{ "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "name": "Olympic Park", "size": "85 hectares" }, "geometry": { "coordinates": [ [...] ], "type": "Polygon" } }, { "type": "Feature", "properties": { "name": "English garden", "size": "384 hectares", } , "geometry": { "coordinates": [ [...] ], "type": "Polygon" } }, { "type": "Feature", "properties": { "name": "Hirschgarten", "size": "40 hectares", }, "geometry": { "coordinates": [ [...] ], "type": "Polygon" } }, ....
Вот основные поля объекта FeatureCollection:
- «type»: в этом поле указывается тип объекта, который в данном случае будет «FeatureCollection», что означает, что это набор функций.
- «функции»: это поле содержит массив функций.
- «bbox»: это поле является необязательным ограничивающим прямоугольником, представляющим минимальный ограничивающий прямоугольник, содержащий все объекты в коллекции. Он представлен в виде массива из четырех чисел, где первые два представляют нижний левый угол ограничивающей рамки, а последние два представляют верхний правый угол.
- «метаданные»: это поле также является необязательным и содержит дополнительные метаданные или информацию о FeatureCollection. По сути, это объект JSON, который может содержать любое количество полей в зависимости от приложения или варианта использования.
Вы можете хранить все виды информации и добавлять дополнительные поля к корневым объектам Feature и FeatureCollection, но если вы сделаете это, ваши данные больше не будут соответствовать стандартам GeoJSON, хотя ваш код или приложение могут по-прежнему работать.
Также хотелось бы напомнить об очень удобном инструменте для изучения формата GeoJSON -› geojson.io. Там вы можете рисовать и видеть необработанные данные любого формата, описанного выше.
Это все на сегодня! Следите за обновлениями!
Свяжитесь со мной в LinkedIn 🚀