Я нахожусь в процессе построения полигонов с координатами, поступающими из базы данных.Я подписался на Observable, чтобы получить все координаты (это массив).Я нажимаю каждый массив координат в верхнем массиве, чтобы иметь возможность строить свои полигоны:
this.customerApi.getLocations(this.currentUser.id)
.subscribe((response) => {
this.locations = response;
this.polygonsArray.push(this.locations);
this.locations.forEach(element
=> {this.polygons.push(element.geoDefinition.features['0'].geometry.coordinates);
});
getLocations возвращает 3 массива:
и я помещаю эти массивы в верхний, называемый this.polygons:
Моя проблема в том, что когда я звоню const varpolygon = turf.polygon(this.polygons);
Я получаю следующую ошибку:
Uncaught (in promise): Error: Each LinearRing of a Polygon must have 4 or more Positions.
Error: Each LinearRing of a Polygon must have 4 or more Positions.
Я думаю, что моя структура массива в порядке, так как полигоны - это массив массивов координат.Тип это число [] [] [] как turf.polygon.
Структура моего проверено GEOJSON:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
5.379856000000018,
43.252967
],
[
5.422988000000032,
43.249466
],
[
5.425048000000061,
43.245153
],
[
5.383804000000055,
43.239838
],
[
5.399856,
43.212967
],
[
5.379856000000018,
43.252967
]
]
]
},
"properties": {}
},
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
5.390139999999974,
43.279295
],
[
5.393068999999969,
43.279249
],
[
5.391814000000068,
43.278421
],
[
5.390709000000015,
43.278749
],
[
5.390899999999988,
43.2785
],
[
5.390139999999974,
43.279295
]
]
]
},
"properties": {}
},
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-0.6070509999999558,
44.840753
],
[
-0.5437080000000378,
44.832962
],
[
-0.5222499999999854,
44.820544
],
[
-0.5663670000000138,
44.808853
],
[
-0.5863669999999956,
44.788853
],
[
-0.6070509999999558,
44.840753
]
]
]
},
"properties": {}
}
]
}
Может кто-нибудь сказать мне, что я сделалне так, если это так и помочь мне?
Заранее благодарю за помощь.