def interpret_geometry(self, original_entry):
        """
        Extract Native geospatial to geojson geometry object.
        """
        geometry = CreateGeometryFromWkt(
            original_entry.get(self.mappings.GEOMETRY))

        return geometry.ExportToJson(), geometry.GetEnvelope()
Exemple #2
0
def transform_shape(shape, ssrs, tsrs):
    """ Transform shape from ssrs to tsrs (all wkt) and return as wkt """
    ogrgeom = CreateGeometryFromWkt(shape)
    trans = CoordinateTransformation(SpatialReference(ssrs),
                                     SpatialReference(tsrs))
    ogrgeom.Transform(trans)
    wkt = ogrgeom.ExportToWkt()
    ogrgeom = None
    return wkt
Exemple #3
0
def compare_curve(geometry_x, geometry_y):
    """Compare whether 2 curve geometries is 'equal'."""
    arct = CreateGeometryFromWkt(geometry_x)
    pgis = CreateGeometryFromWkt(geometry_y)

    intersection_length = Geometry.Length(Geometry.Intersection(arct, pgis))
    arct_length = Geometry.Length(arct)
    pgis_length = Geometry.Length(pgis)
    # result = compare_float(intersection_length, arct_length, pgis_length,EPOCH_CURVE)
    result = compare3float_relative(pgis_length, arct_length,
                                    intersection_length, EPOCH_CURVE_RELATIVE)
    return result
Exemple #4
0
def compare_surface(geometry_x, geometry_y):
    """Compare whether 2 surface geometries is 'equal'."""
    arct = CreateGeometryFromWkt(geometry_x)
    pgis = CreateGeometryFromWkt(geometry_y)

    intersection_area = Geometry.Area(Geometry.Intersection(arct, pgis))
    arct_area = Geometry.Area(arct)
    pgis_area = Geometry.Area(pgis)

    result = compare3float_relative(pgis_area, arct_area, intersection_area,
                                    EPOCH_SURFACE_RELATIVE)
    # result = compare_float(intersection_area, arct_area, pgis_area, EPOCH_SURFACE)
    return result
Exemple #5
0
def compare_area(geometry_x, geometry_y):
    """Compare area of 2 geometry types."""
    arct = CreateGeometryFromWkt(geometry_x)
    pgis = CreateGeometryFromWkt(geometry_y)

    intersection_area = Geometry.Area(Geometry.Intersection(arct, pgis))
    arct_area = Geometry.Area(arct)
    pgis_area = Geometry.Area(pgis)

    # print('arctern area: %s, postgis area: %s, intersection area: %s' %
    #       (str(arct_area), str(pgis_area), str(intersection_area)))
    # result = compare_float(intersection_area, arct_area, pgis_area, EPOCH_SURFACE)
    result = compare3float_relative(pgis_area, arct_area, intersection_area,
                                    EPOCH_SURFACE_RELATIVE)
    return result
Exemple #6
0
def compare_length(geometry_x, geometry_y):
    """Compare length of 2 geometry types."""
    arct = CreateGeometryFromWkt(geometry_x)
    pgis = CreateGeometryFromWkt(geometry_y)

    intersection_length = Geometry.Length(Geometry.Intersection(arct, pgis))
    arct_length = Geometry.Length(arct)
    pgis_length = Geometry.Length(pgis)

    # print('arctern length: %s, postgis length: %s, intersection length: %s' %
    #       (str(arct_length), str(pgis_length), str(intersection_length)))
    # result = compare_float(intersection_length, arct_length, pgis_length, EPOCH_CURVE)
    result = compare3float_relative(pgis_length, arct_length,
                                    intersection_length, EPOCH_CURVE_RELATIVE)
    return result