Я хочу генерировать динамически geoJSON с переменным количеством полигонов. Пример 2 многоугольников:Создание GeoJSON с Python
{
"type": "FeatureCollection",
"features": [
{"geometry": {
"type": "GeometryCollection",
"geometries": [
{
"type": "Polygon",
"coordinates":
[[11.0878902207, 45.1602390564],
[0.8251953125, 41.0986328125],
[7.63671875, 48.96484375],
[15.01953125, 48.1298828125]]
},
{
"type": "Polygon",
"coordinates":
[[11.0878902207, 45.1602390564],
[14.931640625, 40.9228515625],
[11.0878902207, 45.1602390564]]
}
]
},
"type": "Feature",
"properties": {}}
]
}
У меня есть функция, которая дает мне список координат для каждого полигона, так что я могу создать список полигонов, так что я смог построить GeoJSON итерации его для цикла ,
Проблема в том, что я не вижу, как это сделать легко (я думал, например, возвращать список как строку, но построение geoJSON в виде строки выглядит плохой идеей).
Я предложил это очень вещую идею:
geo_json = [ {"type": "Feature",,
"geometry": {
"type": "Point",
"coordinates": [lon,lat] }}
for lon,lat in zip(ListOfLong,ListOfLat) ]
Но так как я добавляю переменное число многоугольников вместо списка точек, это решение не кажется подходящим. Или, по крайней мере, я не знаю, как его адаптировать.
Я мог бы построить его как строку, но я хотел бы сделать это умнее. Есть идеи?
Существует одна проблема с этим подходом: я не знаю, сколько полигонов будет создано для каждого вызова. Насколько я исследовал GeometryCollection, нельзя создать пустым. Что мне делать? –
просто сбрасывайте свои полигоны в списке и подавайте его в GeometryCollection. – monkut
Я попытался передать GeometryCollection список полигонов, но это не сработало. Он работает, если я создаю GeometryCollection с первым полигоном, а затем добавлю остальные, но выглядит уродливым. Я принимаю ваш ответ, но, пожалуйста, предоставьте и пример того, как подавать список, если вы можете –