def input_to_point(inp: WPSInput) -> Any: """ Convert input to point """ g = input_to_geometry(inp) if isinstance(g, QgsReferencedGeometry): g = QgsReferencedPointXY(g.centroid().asPoint(), g.crs()) return g
def input_to_point( inp: WPSInput ): """ Handle point from complex input """ data_format = inp.data_format geom = None if data_format.mime_type == FORMATS.GEOJSON.mime_type: geom = ogr.CreateGeometryFromJson(inp.data) elif data_format.mime_type == FORMATS.GML.mime_type: geom = ogr.CreateGeometryFromGML(inp.data) if geom: srs = geom.GetSpatialReference() geom = QgsGeometry.fromWkt(geom.ExportToWkt()) if srs: srs = QgsCoordinateReferenceSystem.fromWkt(srs.ExportToWkt()) if srs and srs.isValid(): geom = QgsReferencedPointXY( geom.centroid().asPoint(), srs ) return geom raise NoApplicableCode("Unsupported data format: %s" % data_format)