GSERIALIZED* result;
GEOSGeometry* input_geos;
GEOSGeometry* result_geos;
+ int srid;
initGEOS(lwpgnotice, lwgeom_geos_error);
input = PG_GETARG_GSERIALIZED_P(0);
+ srid = gserialized_get_srid(input);
input_geos = POSTGIS2GEOS(input);
if (!input_geos) /* exception thrown at construction */
{
PG_RETURN_NULL();
}
+ GEOSSetSRID(result_geos, srid);
result = GEOS2POSTGIS(result_geos, LW_FALSE);
GEOSGeom_destroy(result_geos);
--- /dev/null
+SELECT 't1', ST_MinimumClearance(NULL::geometry) IS NULL;
+SELECT 't2', ST_MinimumClearanceLine(NULL::geometry) IS NULL;
+SELECT 't3', ST_MinimumClearance('POINT (0 0)') = 'Infinity';
+SELECT 't4', ST_Equals(ST_MinimumClearanceLine('POINT (0 0)'), 'LINESTRING EMPTY');
+SELECT 't5', ST_MinimumClearance('POLYGON ((0 0, 1 0, 1 1, 0.5 3.2e-4, 0 0))')=0.00032;
+SELECT 't6', ST_Equals(ST_MinimumClearanceLine('POLYGON ((0 0, 1 0, 1 1, 0.5 3.2e-4, 0 0))'), 'LINESTRING (0.5 0.00032, 0.5 0)');
+SELECT 't7', ST_MinimumClearance('POLYGON EMPTY') = 'Infinity';
+SELECT 't8', ST_MinimumClearanceLine('POLYGON EMPTY') = 'LINESTRING EMPTY';
+SELECT 't9', ST_SRID(ST_MinimumClearanceLine('SRID=3857;LINESTRING (0 0, 1 1)'))=3857;