I am trying to add a bunch of school boundary files into the database. The boundary files are inconsistent. They are processed by `DataSource` as either `Polygon`, `MultiPolygon`, or `GeometryCollection`.
class School(models.Model):
boundaries = models.MultiPolygonField()
---
from django.contrib.gis.geos import Polygon, MultiPolygon
from django.contrib.gis.geos.collections import GeometryCollection
ds = DataSource('school_boundaries.aspx')
feature = ds[0][0]
geom_geos = feature.geom.geos
if isinstance(geom_geos, Polygon):
geom_geos = MultiPolygon(geom_geos)
elif isinstance(geom_geos, GeometryCollection):
geom_geos = MultiPolygon(GeometryCollection) #This does not work
school = School(boundaries = geom_geos)
school.save()
Is there some way to convert `GeometryField` to `MultiPolygon` in GeoDjango?