Создание одного шейп файла объектов из мультиполигона геоджон

Я пытаюсь создать шейп-файл, используя файл 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

0 ответов

Другие вопросы по тегам