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()
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
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
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
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
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