예제 #1
0
def wrap_geos_geometry(geometry):
    if geometry.geom_type == "Polygon":
        return MultiPolygon(geometry)
    elif geometry.geom_type == "LineString":
        return MultiLineString(geometry)
    else:
        return geometry
예제 #2
0
def wrapGEOSGeometry(geometry):
    print geometry.GetGeometryName()
    if geometry.GetGeometryName() == "POLYGON":
        #    return MultiPolygon (geometry.ExportToWkt () )
        return MultiPolygon(
            modGEOSGeometry.GEOSGeometry(geometry.ExportToWkt()))
    if geometry.GetGeometryName() == "LINESTRING":
        print "returning linestring"
        return MultiLineString(
            modGEOSGeometry.GEOSGeometry(geometry.ExportToWkt()))
#    return MultiLineString (geometry.ExportToWkt () )
    return modGEOSGeometry.GEOSGeometry(geometry.ExportToWkt())
def wrapGEOSGeometry(geometry):
    """ Wrap the given GEOSGeometry object if required.

        If the given geometry object is a Polygon, we wrap the polygon in a
        MultiPolygon object.  Similarly, if the geometry is a LineString, we
        wrap it in a MultiLineString.

        This is used to ensure that imported Polygon and LineString objects can
        be stored into the appropriate field of the Feature database object.
        See the definition of the calcGeometryField() function, above, to see
        why this is necessary.

        Upon completion, we return the wrapped object, or the object unchanged
        if it does not need to be wrapped.
    """
    if geometry.geom_type == "Polygon":
        return MultiPolygon(geometry)
    elif geometry.geom_type == "LineString":
        return MultiLineString(geometry)
    else:
        return geometry