Description
noneFunction properties
| name | value |
|---|
| name | public.bdpolyfromtext |
| return type | public.geometry
|
| language | PLPGSQL |
| deterministic | YES |
Usage
result = public.bdpolyfromtext();
Code
CREATE FUNCTION bdpolyfromtext(text, integer) RETURNS geometry
AS $_$
DECLARE
geomtext alias for $1;
srid alias for $2;
mline geometry;
geom geometry;
BEGIN
mline := MultiLineStringFromText(geomtext, srid);
IF mline IS NULL
THEN
RAISE EXCEPTION 'Input is not a MultiLinestring';
END IF;
geom := BuildArea(mline);
IF GeometryType(geom) != 'POLYGON'
THEN
RAISE EXCEPTION 'Input returns more then a single polygon, try using BdMPolyFromText instead';
END IF;
RETURN geom;
END;
$_$
LANGUAGE plpgsql IMMUTABLE STRICT;