Создание одного шейп файла объектов из мультиполигона геоджон
Я пытаюсь создать шейп-файл, используя файл geojson, из геосервера, но постоянно получаю сообщение об ошибке при переборе функций Multipolygon для создания шейп-файла объединения. Может кто-нибудь определить, где я иду не так?
Моя ошибка:
ValueError: LinearRing должен иметь как минимум 3 кортежа координат
import geoserver_filtered as gs
import fiona, imaplib, geopy, pygeoj, geojson, gdal
from fiona.crs import from_epsg
from shapely.geometry import mapping, Polygon
from shapely.geometry import collection
from shapely.geometry import *
from shapely.ops import cascaded_union
import json
PARAMS_1 = {
"host": "mf2.dit.ie:8080",
"layer": "cso:ctygeom",
"srs_code": 29902,
"properties": ["countyname", ],
"geom_field": "geom",
"filter_property": "county",
"filter_values": ["05", "15", "03"]
}
#get variables
polygon_geojson = gs.PARAMS_1
f = gs.main()
for feature in f['features']:
polygons = Polygon(['geometry'])
def make_union():
nwpoly = polygon_geojson
pol_list =[]
for feature in nwpoly['features']:
polygons = shape(feature['geometry'])
pol_list.append(polygons)
merged_shapes = cascaded_union(pol_list)
return merged_shapes
def mk_union_shp():
union_shp = make_union()
try:
schema = {'geometry': 'MultiPolygon', 'properties': {'name': 'str'}}
with fiona.collection("union.shp", mode="w", driver="ESRI Shapefile", schema=schema, crs=from_epsg(4326)) as output:
output.write({'properties': {'name': 'union_shp'}, 'geometry': mapping(union_shp)})
except:
None