Я получаю данные из REST API, в результате чего получается список наборов данных. Некоторые из этих наборов данных содержат координаты, которые я хочу проецировать на карту. Чтобы спроецировать координаты, мне нужно преобразовать вывод JSON в GeoJSON. В то время как преобразование идет хорошо для большей части данных. Я борюсь с длинным массивом, содержащим координаты х и у. Это 4+ точки, объединенные в полигоны (5-ая конечная точка = начальная точка отсутствует).
Как я могу преобразовать этот массив с 4+ XY координатами в правильный формат, добавив при этом последний, который должен соответствовать первой точке?
Я думал о разбиении массива на новые для каждой точки, но это привело бы к слишком большой работе для полигонов с более чем 20 точками.
Пример JSON:
"footprint": {
"epsgId": 4326,
"data": [
[
5.785569964298996,
50.94215924789526,
5.934953425435474,
50.94154873163077,
5.9341556116101595,
50.87413533708443,
5.784989651500041,
50.87474468292546
]
],
},
Вот так должно выглядеть после преобразования в GeoJSON. Я сам записал это, но мне нужен код JavaScript, чтобы сделать это автоматически при циклическом просмотре результатов.
{
"type": "Feature",
"properties": {
"name": "name"
"id" : "id"
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[5.785569964298996, 50.94215924789526],
[5.934953425435474, 50.94154873163077],
[5.9341556116101595, 50.87413533708443],
[5.784989651500041, 50.87474468292546],
[5.785569964298996, 50.94215924789526]
]
]
}
}