| ===== |
| ---- QUERY |
| select ST_Area(ST_BinEnvelope(1.0, ST_Bin(1.0, ST_Point(0, 0)))); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_BinEnvelope(1.0, ST_Bin(1.0, ST_Point(0, 0)))); |
| ---- TYPES |
| STRING |
| ---- RESULTS |
| 'POLYGON ((-0.5 -0.5, 0.5 -0.5, 0.5 0.5, -0.5 0.5, -0.5 -0.5))' |
| ===== |
| ---- QUERY |
| select ST_GeometryType(ST_Point(0, 0)); |
| ---- RESULTS |
| 'ST_POINT' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_Point('point (10.02 20.01)')); |
| ---- RESULTS |
| 'ST_POINT' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_Point('point z (10.02 20.01 2)')); |
| ---- RESULTS |
| 'ST_POINT' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_MultiPoint('multipoint ((1 2))')); |
| ---- RESULTS |
| 'ST_MULTIPOINT' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_Linestring(10,10, 20,20)); |
| ---- RESULTS |
| 'ST_LINESTRING' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_Linestring('linestring (10 10, 20 20)')); |
| ---- RESULTS |
| 'ST_LINESTRING' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_Linestring('linestring z (10 10 2, 20 20 4)')); |
| ---- RESULTS |
| 'ST_LINESTRING' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_GeomFromText('polygon ((0 0, 0 10, 10 0, 0 0))')); |
| ---- RESULTS |
| 'ST_POLYGON' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_Polygon('polygon ((0 0, 0 10, 10 0, 0 0))')); |
| ---- RESULTS |
| 'ST_POLYGON' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_Polygon(1,1, 1,4, 4,1)); |
| ---- RESULTS |
| 'ST_POLYGON' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_Polygon(1,1, 4,1, 1,4)); |
| ---- RESULTS |
| 'ST_POLYGON' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_Polygon(1,1, 1,4, 4,1, 1,1)); |
| ---- RESULTS |
| 'ST_POLYGON' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_Polygon(1,1, 4,1, 1,4, 1,1)); |
| ---- RESULTS |
| 'ST_POLYGON' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_GeomFromGeoJson('{"type":"Point", "coordinates":[1.2, 2.4]}')); |
| ---- RESULTS |
| 'ST_POINT' |
| ==== |
| ---- QUERY |
| select ST_X(ST_GeomFromGeoJson('{"type":"Point", "coordinates":[1.2, 2.4]}')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.2 |
| ==== |
| ---- QUERY |
| select ST_Y(ST_GeomFromGeoJson('{"type":"Point", "coordinates":[1.2, 2.4]}')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 2.4 |
| ==== |
| ---- QUERY |
| select ST_MinY(ST_GeomFromGeoJson('{"type":"LineString", "coordinates":[[1,2], [3,4]]}')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 2.0 |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_GeomFromGeoJson(ST_AsGeoJson(ST_Point(1.2, 2.4)))); |
| ---- RESULTS |
| 'ST_POINT' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_GeomFromGeoJson(ST_AsGeoJson(ST_LineString(1,2, 3,4)))); |
| ---- RESULTS |
| 'ST_LINESTRING' |
| ==== |
| ---- QUERY |
| select ST_NumPoints(ST_Polygon(1.5,2.5, 3.0,2.2, 2.2,1.1)); |
| ---- RESULTS |
| 4 |
| ==== |
| ---- QUERY |
| select ST_NumPoints(ST_Polygon(1.5,2.5, 3.0,2.2, 2.2,1.1, 1.5, 2.5)); |
| ---- RESULTS |
| 4 |
| ==== |
| ---- QUERY |
| select ST_NumPoints(ST_Polygon(0.1,2.2, 3.0,2.2, 2.2,1.1, 0.1, 2.2)); |
| ---- RESULTS |
| 4 |
| ==== |
| ---- QUERY |
| select ST_NumPoints(ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- RESULTS |
| 5 |
| ==== |
| ---- QUERY |
| select ST_NumPoints(ST_Polygon(1,1, 1,4, 4,4, 4,1, 1,1)); |
| ---- RESULTS |
| 5 |
| ==== |
| ---- QUERY |
| select ST_IsEmpty(ST_Point(0,0)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsSimple(ST_Point(0,0)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_IsSimple(ST_LineString(1.5,2.5, 3.0,2.2)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_IsSimple(ST_LineString(0.,0., 1.,1., 0.,1., 1.,0.)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsSimple(ST_LineString(0.,0., 1.,1., 2.,2., 2.,0., 1.,1., 0.,2.)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsSimple(ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_IsSimple(ST_LineString(10,10, 20,20, 20,30, 10,30, 10,20, 20,10)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsSimple(ST_LineString(0.,0., 1.,0., 1.,1., 0.,2., 2.,2., 1.,1., 2.,0.)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsSimple(ST_MultiPoint(0,0, 2,2)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Dimension(ST_Point(0,0)); |
| ---- RESULTS |
| 0 |
| ==== |
| ---- QUERY |
| select ST_Dimension(ST_LineString(1.5,2.5, 3.0,2.2)); |
| ---- RESULTS |
| 1 |
| ==== |
| ---- QUERY |
| select ST_Dimension(ST_Polygon(1.5,2.5, 3.0,2.2, 2.2,1.1)); |
| ---- RESULTS |
| 2 |
| ==== |
| ---- QUERY |
| select ST_Dimension(ST_Polygon(1.5,2.5, 3.0,2.2, 2.2,1.1, 1.5,2.5)); |
| ---- RESULTS |
| 2 |
| ==== |
| ---- QUERY |
| select ST_Dimension(ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)); |
| ---- RESULTS |
| 2 |
| ==== |
| ---- QUERY |
| select ST_Dimension(ST_MultiPoint(0,0, 2,2)); |
| ---- RESULTS |
| 0 |
| ==== |
| ---- QUERY |
| select ST_X(ST_Point(1,2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_Y(ST_Point(1,2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 2.0 |
| ==== |
| ---- QUERY |
| select ST_MinX(ST_Point(1,2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_MinY(ST_Point(1,2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 2.0 |
| ==== |
| ---- QUERY |
| select ST_MaxX(ST_Point(1,2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_MaxY(ST_Point(1,2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 2.0 |
| ==== |
| ---- QUERY |
| select ST_MinX(ST_LineString(1.5,2.5, 3.0,2.2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.5 |
| ==== |
| ---- QUERY |
| select ST_MinY(ST_LineString(1.5,2.5, 3.0,2.2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 2.2 |
| ==== |
| ---- QUERY |
| select ST_MaxX(ST_LineString(1.5,2.5, 3.0,2.2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 3.0 |
| ==== |
| ---- QUERY |
| select ST_MaxY(ST_LineString(1.5,2.5, 3.0,2.2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 2.5 |
| ==== |
| ---- QUERY |
| select ST_MinX(ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_MinY(ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_MaxX(ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 4.0 |
| ==== |
| ---- QUERY |
| select ST_MaxY(ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 4.0 |
| ==== |
| ---- QUERY |
| select ST_MaxX(ST_MultiPoint(0,0, 2,2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 2.0 |
| ==== |
| ---- QUERY |
| select ST_MaxY(ST_MultiPoint(0,0, 2,2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 2.0 |
| ==== |
| ---- QUERY |
| select ST_MinX(ST_MultiPoint(0,0, 2,2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 0.0 |
| ==== |
| ---- QUERY |
| select ST_MinY(ST_MultiPoint(0,0, 2,2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 0.0 |
| ==== |
| ---- QUERY |
| select ST_Length(ST_LineString(1.5,2.5, 3.0,2.2)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.5297058540778354 |
| ==== |
| ---- QUERY |
| select ST_Length(ST_LineString(0.0,0.0, 3.0,4.0)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 5.0 |
| ==== |
| ---- QUERY |
| select ST_Length(ST_SetSRID(ST_LineString(0.0,0.0, 3.0,4.0), 0)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 5.0 |
| ==== |
| ---- QUERY |
| select ST_Area(ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 9.0 |
| ==== |
| ---- QUERY |
| select ST_Area(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 24.0 |
| ==== |
| ---- QUERY |
| select ST_GeodesicLengthWGS84(ST_GeomFromText('MultiLineString((0 80, 0.03 80.04))', 4326)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 4503.988488226892 |
| ==== |
| ---- QUERY |
| select ST_GeodesicLengthWGS84(ST_GeomFromText('LineString(0 0, 0.03 0.04)', 4326)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 5542.156362735362 |
| ==== |
| ---- QUERY |
| select ST_GeodesicLengthWGS84(ST_GeomFromText('MultiLineString((0 0, 0.03 0.04))', 4326)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 5542.156362735362 |
| ==== |
| ---- QUERY |
| select ST_GeodesicLengthWGS84(ST_GeomFromText('MultiLineString((0 80, 0.03 80.04))', 4326)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 4503.988488226892 |
| ==== |
| ---- QUERY |
| select ST_IsClosed(ST_LineString(0.,0., 3.,4.)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsClosed(ST_LineString(0.,0., 3.,4., 0.,4., 0.,0.)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_IsClosed(ST_MultiLineString('multilinestring ((0 0, 3 4, 2 2), (6 2, 7 8))')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsClosed(ST_MultiLineString('multilinestring ((0 0, 3 4, 2 2, 0 0), (6 2, 7 8))')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsClosed(ST_MultiLineString('multilinestring ((0 0, 3 4, 2 2, 0 0), (6 2, 7 5, 6 8, 6 2))')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Is3D(ST_Point(0., 3.)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Is3D(ST_PointZ(0., 3., 1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Is3D(ST_Point('pointzm (0. 3. 1. 2.)')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Is3D(ST_LineString(0.,0., 3.,4., 0.,4., 0.,0.)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Is3D(ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Is3D(ST_GeomFromText('linestring z (10 10 2, 20 20 4)')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Z(ST_PointZ(0., 3., 1)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_Z(ST_Point('pointzm (0. 3. 1. 2.)')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_Z(ST_GeomFromText('linestring z (10 10 2, 20 20 4)')); |
| ---- RESULTS |
| NULL |
| ==== |
| ---- QUERY |
| select ST_MinZ(ST_PointZ(0., 3., 1)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_MinZ(ST_GeomFromText('linestring z (10 10 2, 20 20 4)')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 2.0 |
| ==== |
| ---- QUERY |
| select ST_MinZ(ST_MultiPoint('multipoint z((0 0 1), (2 2 3))')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_MinZ(ST_GeomFromText('polygon z ((0 0 2, 8 0 4, 0 8 3, 0 0 2))')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 2.0 |
| ==== |
| ---- QUERY |
| select ST_MaxZ(ST_PointZ(0., 3., 1)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_MaxZ(ST_GeomFromText('linestring z (10 10 2, 20 20 4)')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 4.0 |
| ==== |
| ---- QUERY |
| select ST_MaxZ(ST_GeomFromText('polygon z ((0 0 2, 8 0 4, 0 8 3, 0 0 2))')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 4.0 |
| ==== |
| ---- QUERY |
| select ST_MaxZ(ST_MultiPoint('multipoint z((0 0 1), (2 2 3))')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 3.0 |
| ==== |
| ---- QUERY |
| select ST_IsMeasured(ST_Point(0., 3.)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsMeasured(ST_Point('point m(0. 3. 1)')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_IsMeasured(ST_Point('pointzm (0. 3. 1. 2.)')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_IsMeasured(ST_LineString(0.,0., 3.,4., 0.,4., 0.,0.)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsMeasured(ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsMeasured(ST_GeomFromText('linestring m (10 10 2, 20 20 4)')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_M(ST_Point('point m(0. 3. 1)')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_M(ST_Point('pointzm (0. 3. 1. 2.)')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 2.0 |
| ==== |
| ---- QUERY |
| select ST_M(ST_GeomFromText('linestring m (10 10 2, 20 20 4)')); |
| ---- RESULTS |
| NULL |
| ==== |
| ---- QUERY |
| select ST_MinM(ST_Point('point m(0. 3. 1)')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_MinM(ST_GeomFromText('linestring m (10 10 2, 20 20 4)')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 2.0 |
| ==== |
| ---- QUERY |
| select ST_MinM(ST_GeomFromText('polygon m ((0 0 5, 8 0 4, 0 8 3, 0 0 5))')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 3.0 |
| ==== |
| ---- QUERY |
| select ST_MinM(ST_MultiPoint('multipoint m((0 0 1), (2 2 3))')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_MaxM(ST_Point('point m(0. 3. 1)')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_MaxM(ST_GeomFromText('linestring m (10 10 2, 20 20 4)')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 4.0 |
| ==== |
| ---- QUERY |
| select ST_MaxM(ST_GeomFromText('polygon m ((0 0 5, 8 0 4, 0 8 3, 0 0 5))')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 5.0 |
| ==== |
| ---- QUERY |
| select ST_MaxM(ST_MultiPoint('multipoint m((0 0 1), (2 2 3))')); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 3.0 |
| ==== |
| ---- QUERY |
| select ST_CoordDim(ST_Point(0., 3.)); |
| ---- RESULTS |
| 2 |
| ==== |
| ---- QUERY |
| select ST_CoordDim(ST_PointZ(0., 3., 1)); |
| ---- RESULTS |
| 3 |
| ==== |
| ---- QUERY |
| select ST_CoordDim(ST_Point('point m(0. 3. 1)')); |
| ---- RESULTS |
| 3 |
| ==== |
| ---- QUERY |
| select ST_CoordDim(ST_Point('pointzm (0. 3. 1. 2.)')); |
| ---- RESULTS |
| 4 |
| ==== |
| ---- QUERY |
| select ST_CoordDim(ST_LineString(0.,0., 3.,4., 0.,4., 0.,0.)); |
| ---- RESULTS |
| 2 |
| ==== |
| ---- QUERY |
| select ST_CoordDim(ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)); |
| ---- RESULTS |
| 2 |
| ==== |
| ---- QUERY |
| select ST_CoordDim(ST_GeomFromText('linestring z (10 10 2, 20 20 4)')); |
| ---- RESULTS |
| 3 |
| ==== |
| ---- QUERY |
| select ST_CoordDim(ST_GeomFromText('linestring m (10 10 2, 20 20 4)')); |
| ---- RESULTS |
| 3 |
| ==== |
| ---- QUERY |
| select ST_NumPoints(ST_Point('point empty')); |
| ---- RESULTS |
| 0 |
| ==== |
| ---- QUERY |
| select ST_NumPoints(ST_Point(0., 3.)); |
| ---- RESULTS |
| 1 |
| ==== |
| ---- QUERY |
| select ST_NumPoints(ST_PointZ(0., 3., 1)); |
| ---- RESULTS |
| 1 |
| ==== |
| ---- QUERY |
| select ST_NumPoints(ST_LineString(0.,0., 3.,4.)); |
| ---- RESULTS |
| 2 |
| ==== |
| ---- QUERY |
| select ST_NumPoints(ST_LineString(0.,0., 3.,4., 0.,4., 0.,0.)); |
| ---- RESULTS |
| 4 |
| ==== |
| ---- QUERY |
| select ST_NumPoints(ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- RESULTS |
| 5 |
| ==== |
| ---- QUERY |
| select ST_NumPoints(ST_Polygon(1,1, 1,4, 4,4, 4,1, 1,1)); |
| ---- RESULTS |
| 5 |
| ==== |
| ---- QUERY |
| select ST_NumPoints(ST_GeomFromText('multilinestring ((2 4, 10 10), (20 20, 7 8))')); |
| ---- RESULTS |
| 4 |
| ==== |
| ---- QUERY |
| select ST_NumPoints(ST_GeomFromText('multipoint ((10 40), (40 30), (20 20), (30 10))', 0)); |
| ---- RESULTS |
| 4 |
| ==== |
| ---- QUERY |
| select ST_Contains(ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1), ST_Point(2, 3)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Contains(ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1), ST_Point(8, 8)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Within(ST_Point(2, 3), ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Within(ST_Point(8, 8), ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Touches(ST_Point(1, 3), ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Touches(ST_Point(8, 8), ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Overlaps(st_linestring(0,2, 2,3), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Overlaps(st_linestring(2,0, 2,3), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Overlaps(st_linestring(8,7, 7,8), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Overlaps(ST_Polygon(1,1, 1,4, 4,4, 4,1), st_linestring(2,0, 2,3)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Overlaps(st_polygon(2,0, 2,3, 3,0), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Overlaps(st_polygon(2,0, 2,1, 3,1), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Overlaps(st_linestring(2,0, 2,3), ST_linestring(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Overlaps(st_linestring(8,7, 7,8), ST_linestring(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Overlaps(st_linestring(0,0, 1,2, 1,5), ST_linestring(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Overlaps(st_point(1,1), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Overlaps(st_point(2,0), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Touches(st_polygon(2,0, 2,1, 3,1), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Crosses(st_linestring(0,2, 2,3), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Crosses(st_linestring(2,0, 2,3), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Crosses(st_linestring(8,7, 7,8), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Crosses(ST_Polygon(1,1, 1,4, 4,4, 4,1), st_linestring(2,0, 2,3)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Crosses(st_polygon(2,0, 2,3, 3,0), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Crosses(st_polygon(2,0, 2,1, 3,1), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Crosses(st_linestring(2,0, 2,3), ST_linestring(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Crosses(st_linestring(8,7, 7,8), ST_linestring(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Crosses(st_linestring(0,0, 1,2, 1,5), ST_linestring(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Crosses(st_point(1,1), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Crosses(st_point(2,0), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Crosses(ST_Linestring(0,0, 1,1), ST_Linestring(1,0, 0,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Crosses(ST_Linestring(1,0, 1,2), ST_Linestring(0,1, 2,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Crosses(ST_Linestring(0,0, 0,1), ST_Linestring(0,0, 1,0)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Crosses(ST_Linestring(0,0, 0,2), ST_Linestring(0,1, 1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring('linestring(0 0, 0 1)'), ST_linestring('linestring(0 0, 1 0)'), '*0*******'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring('linestring(0 0, 0 1)'), ST_linestring('linestring(0 0, 1 0)'), '***0*****'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring('linestring(0 0, 0 1)'), ST_linestring('linestring(0 0, 1 0)'), '****0****'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring('linestring(0 0, 0 1)'), ST_linestring('linestring(0 0, 1 0)'), 'FF*F0****'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring('linestring(0 0, 0 2)'), ST_linestring('linestring(0 1, 1 1)'), '*0*******'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring('linestring(0 0, 0 2)'), ST_linestring('linestring(0 1, 1 1)'), 'F0*FF****'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring('linestring(0 0, 0 2)'), ST_linestring('linestring(0 1, 1 1)'), '***0*****'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring('linestring(0 0, 0 1)'), ST_linestring('linestring(0 0, 1 0)'), 'T********'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring('linestring(0 0, 0 2)'), ST_linestring('linestring(0 1, 1 1)'), 'T********'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Equals(st_point(1,1), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Equals(st_point(2,0), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Equals(st_linestring(0,0, 1,2), ST_linestring(0,0, 1,2)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Equals(st_linestring(0,0, 1,2), ST_linestring(1,2, 0,0)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Equals(st_linestring(0,0, 1,2, 1,5), ST_linestring(1,1, 1,4, 4,4)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Equals(st_polygon(2,0, 2,1, 3,1), ST_Polygon(2,0, 2,1, 3,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Equals(st_polygon(2,0, 2,1, 3,1), ST_Polygon(3,1, 2,0, 2,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Equals(st_polygon(2,0, 8,1, 3,1), ST_Polygon(3,1, 2,0, 2,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Intersects(st_linestring(0,2, 2,3), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Intersects(st_linestring(2,0, 2,3), ST_Polygon(1,1, 4,1, 4,4, 1,4)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Intersects(ST_LineString(8,7, 7,8), ST_Polygon(1,1, 4,1, 4,4, 1,4)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Intersects(ST_Polygon(1,1, 1,4, 4,4, 4,1), st_linestring(2,0, 2,3)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Intersects(st_polygon(2,0, 2,3, 3,0), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Intersects(st_polygon(2,0, 2,1, 3,1), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Intersects(st_linestring(2,0, 2,3), ST_linestring(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Intersects(st_linestring(8,7, 7,8), ST_linestring(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Intersects(st_linestring(0,0, 1,2, 1,5), ST_linestring(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Intersects(st_linestring(0,0, 1,1), ST_linestring(0,1, 1,0)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Intersects(ST_Linestring(1,0, 1,2), ST_Linestring(0,1, 2,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Intersects(st_linestring(0,0, 0,1), ST_linestring(0,0, 1,0)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Intersects(st_linestring(0,0, 0,2), ST_linestring(0,1, 1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Intersects(st_point(1,1), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Intersects(st_point(2,0), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Touches(st_polygon(2,0, 2,1, 3,1), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Intersects(st_polygon(2,0, 2,1, 3,1), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Disjoint(st_polygon(2,0, 2,1, 3,1), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Disjoint(st_point(1,1), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Disjoint(st_point(2,0), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(ST_LineString(0,0, 1,1), ST_LineString(1,3, 2,2)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(ST_LineString(0,0, 2,2), ST_LineString(1,0, 3,2)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(st_linestring(0,2, 2,3), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(st_linestring(2,0, 2,3), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(st_linestring(8,7, 7,8), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(ST_Polygon(1,1, 1,4, 4,4, 4,1), st_linestring(2,0, 2,3)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(st_polygon(2,0, 2,3, 3,0), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(st_polygon(2,0, 2,1, 3,1), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(st_linestring(2,0, 2,3), ST_linestring(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(st_linestring(8,7, 7,8), ST_linestring(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(st_linestring(0,0, 1,2, 1,5), ST_linestring(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(st_linestring(0,0, 1,1), ST_linestring(0,1, 1,0)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(st_point(1,1), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(st_point(2,0), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_Envelope(ST_LineString(0,0, 2,2)), ST_Polygon(0,0, 2,0, 2,2, 0,2)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select st_AsText(ST_Envelope(ST_Polygon(1,1, 4,1, 4,4, 1,4))); |
| ---- RESULTS |
| 'POLYGON ((1 1, 4 1, 4 4, 1 4, 1 1))' |
| ==== |
| ---- QUERY |
| select st_AsText(ST_Envelope(st_polygon(2,0, 2,3, 3,0))); |
| ---- RESULTS |
| 'POLYGON ((2 0, 3 0, 3 3, 2 3, 2 0))' |
| ==== |
| ---- QUERY |
| select ST_Relate(st_point(2,0), ST_Point(1,1), "TFFF0FFF2"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_point(2,0), ST_Point(1,1), "****T****"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_point(1,1), ST_Point(1,1), "TFFF0FFF2"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_point(1,1), ST_Point(1,1), "****T****"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_point(1,1), ST_Point(1,1), "T********"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_polygon(2,0, 2,1, 3,1), ST_Polygon(1,1, 1,4, 4,4, 4,1), "T********"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_polygon(2,0, 2,1, 3,1), ST_Polygon(1,1, 1,4, 4,4, 4,1), "****T****"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_polygon(2,0, 2,1, 3,1), ST_Polygon(1,1, 1,4, 4,4, 4,1), "F***1****"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_polygon(2,0, 2,3, 3,1), ST_Polygon(1,1, 1,4, 4,4, 4,1), "2***0****"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_GeomFromText('polygon((2 0, 2 1, 3 1))'), St_GeomFromText('polygon((1 1, 1 4, 4 4, 4 1))'), "F***1****"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_GeomFromText('polygon((2 0, 2 3, 3 1))'), St_GeomFromText('Polygon((1 1, 1 4, 4 4, 4 1))'), "2***0****"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_GeomFromText('polygon((2 0, 2 1, 3 1, 2 0))'), St_GeomFromText('polygon((1 1, 1 4, 4 4, 4 1, 1 1))'), "FF*F1****"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_GeomFromText('polygon((2 0, 2 1, 3 1, 2 0))'), St_GeomFromText('polygon((1 1, 1 4, 4 4, 4 1, 1 1))'), "FF*F2****"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring(0,0, 3,3), ST_linestring(1,1, 4,4), "T********"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring(0,0, 3,3), ST_linestring(1,1, 4,4), "*T*******"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring(0,0, 3,3), ST_linestring(1,1, 4,4), "***T*****"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring(0,0, 3,3), ST_linestring(1,1, 4,4), "****T****"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring(2,0, 2,3), ST_linestring(1,1, 1,4, 4,4, 4,1), "T********"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring(2,0, 2,3), ST_linestring(1,1, 1,4, 4,4, 4,1), "*T*******"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring(2,0, 2,3), ST_linestring(1,1, 1,4, 4,4, 4,1), "***T*****"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring(2,0, 2,3), ST_linestring(1,1, 1,4, 4,4, 4,1), "****T****"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring(2,0, 2,3), ST_linestring(1,1, 1,4, 4,4, 4,1), "**T******"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring(2,0, 2,3), ST_linestring(1,1, 1,4, 4,4, 4,1), "*****T***"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring(2,0, 2,3), ST_linestring(1,1, 1,4, 4,4, 4,1), "******T**"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring(2,0, 2,3), ST_linestring(1,1, 1,4, 4,4, 4,1), "*******T*"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(st_linestring(2,0, 2,3), ST_linestring(1,1, 1,4, 4,4, 4,1), "********T"); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0))'), ST_Polygon('polygon ((1 1, 1 5, 5 1, 1 1))'), '2********'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0))'), ST_Polygon('polygon ((1 1, 1 5, 5 1, 1 1))'), '*F*******'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0))'), ST_Polygon('polygon ((1 1, 1 5, 5 1, 1 1))'), '*1*******'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0))'), ST_Polygon('polygon ((1 1, 1 5, 5 1, 1 1))'), '**2******'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0))'), ST_Polygon('polygon ((1 1, 1 5, 5 1, 1 1))'), '***F*****'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0))'), ST_Polygon('polygon ((1 1, 1 5, 5 1, 1 1))'), '****F****'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0))'), ST_Polygon('polygon ((1 1, 1 5, 5 1, 1 1))'), '*****1***'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0))'), ST_Polygon('polygon ((1 1, 1 5, 5 1, 1 1))'), '******F**'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0))'), ST_Polygon('polygon ((1 1, 1 5, 5 1, 1 1))'), '*******F*'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0))'), ST_Polygon('polygon ((1 1, 1 5, 5 1, 1 1))'), '********2'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0))'), ST_Polygon('polygon ((1 1, 1 5, 5 1, 1 1))'), '2F2FF1FF2'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0))'), ST_Polygon('polygon ((1 1, 1 5, 5 1, 1 1))'), '212FF1FF2'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_LineString('linestring(0 2, 2 3)'), ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4, 1 1))'), '**1******'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_LineString('linestring(0 2, 2 3)'), ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4, 1 1))'), '**2******'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_LineString('linestring(0 2, 2 3)'), ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4, 1 1))'), '******1**'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_LineString('linestring(0 2, 2 3)'), ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4, 1 1))'), '******2**'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4, 1 1))'), ST_LineString('linestring(0 2, 2 3)'), '**1******'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4, 1 1))'), ST_LineString('linestring(0 2, 2 3)'), '**2******'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4, 1 1))'), ST_LineString('linestring(0 2, 2 3)'), '******1**'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4, 1 1))'), ST_LineString('linestring(0 2, 2 3)'), '******2**'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon((1 0, 3 0, 1 2, 1 0))'), ST_Polygon('polygon((0 1, 2 1, 0 3, 0 1))'), '212111212'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon((3 0, 3 3, 0 3, 3 0))'), ST_Polygon('polygon((2 2, 5 2, 2 5, 2 2))'), '212101212'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon((2 0, 2 2, 0 2, 2 0))'), ST_Polygon('polygon((1 1, 3 1, 1 3, 1 1))'), '212101212'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon((0 0, 2 0, 0 2, 0 0))'), ST_Polygon('polygon((0 0, 1 0, 0 1, 0 0))'), '212F11FF2'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon((0 0, 3 0, 0 3, 0 0))'), ST_Polygon('polygon((1 1, 2 1, 1 2, 1 1))'), '212F11FF2'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon((0 0, 2 0, 0 2, 0 0))'), ST_Polygon('polygon((1 1, 1 0, 0 1, 1 1))'), '212F01FF2'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon((0 0, 1 0, 0 1, 0 0))'), ST_Polygon('polygon((0 0, 1 0, 0 1, 0 0))'), '2FFF1FFF2'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Relate(ST_Polygon('polygon((0 0, 3 0, 0 3, 0 0))'), ST_Polygon('polygon((2 2, 2 0, 3 0, 3 3, 0 3, 0 2, 2 2))'), '212111212'); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Distance(ST_Point(0.0,0.0), ST_Point(3.0,4.0)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 5.0 |
| ==== |
| ---- QUERY |
| select ST_Distance(ST_LineString(0,0, 1,1), ST_LineString(2,1, 3,0)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 1.0 |
| ==== |
| ---- QUERY |
| select ST_Area(ST_Buffer(ST_GeomFromText('polygon ((0 0, 3 0, 3 2, 5 2, 5 5, 2 5, 2 3, 0 3, 0 0))'), -1)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 2.0 |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_Buffer(ST_GeomFromText('polygon ((0 0, 3 0, 3 2, 5 2, 5 5, 2 5, 2 3, 0 3, 0 0))'), -1)); |
| ---- RESULTS |
| 'ST_MULTIPOLYGON' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_Buffer(ST_GeomFromText('point (0 0)'), 1)); |
| ---- RESULTS |
| 'ST_POLYGON' |
| ==== |
| ---- QUERY |
| select ST_Area(ST_Buffer(ST_GeomFromText('point (0 0)'), 1)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 3.13935020305 |
| ==== |
| ---- QUERY |
| select ST_IsEmpty(ST_Intersection(st_linestring(0,2, 2,3), ST_Polygon(1,1, 1,4, 4,4, 4,1))); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsEmpty(ST_Intersection(st_linestring(2,0, 2,3), ST_Polygon(1,1, 1,4, 4,4, 4,1))); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsEmpty(ST_Intersection(st_linestring(8,7, 7,8), ST_Polygon(1,1, 1,4, 4,4, 4,1))); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_IsEmpty(ST_Intersection(ST_Polygon(1,1, 1,4, 4,4, 4,1), st_linestring(2,0, 2,3))); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsEmpty(ST_Intersection(st_polygon(2,0, 2,3, 3,0), ST_Polygon(1,1, 1,4, 4,4, 4,1))); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsEmpty(ST_Intersection(st_linestring(2,0, 2,3), ST_linestring(1,1, 1,4, 4,4, 4,1))); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_IsEmpty(ST_Intersection(st_linestring(8,7, 7,8), ST_linestring(1,1, 1,4, 4,4, 4,1))); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_IsEmpty(ST_Intersection(st_linestring(0,0, 1,2, 1,5), ST_linestring(1,1, 1,4, 4,4, 4,1))); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsEmpty(ST_Intersection(st_linestring(0,0, 1,1), ST_linestring(2,2, 4,4))); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_IsEmpty(ST_Intersection(ST_LineString(0,2, 0,4), ST_Point(3,3))); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_IsEmpty(ST_Intersection(st_point(1,1), ST_Point(1,1))); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| select ST_IsEmpty(ST_Intersection(ST_Point(2,0), ST_Point(1,1))); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Dimension(ST_Intersection(st_linestring(0,2, 2,3), ST_Polygon(1,1, 1,4, 4,4, 4,1))); |
| ---- RESULTS |
| 1 |
| ==== |
| ---- QUERY |
| select ST_Dimension(ST_Intersection(st_linestring(2,0, 2,3), ST_Polygon(1,1, 1,4, 4,4, 4,1))); |
| ---- RESULTS |
| 1 |
| ==== |
| ---- QUERY |
| select ST_Dimension(ST_Intersection(ST_Polygon(1,1, 1,4, 4,4, 4,1), st_linestring(2,0, 2,3))); |
| ---- RESULTS |
| 1 |
| ==== |
| ---- QUERY |
| select ST_Dimension(ST_Intersection(st_polygon(2,0, 2,3, 3,0), ST_Polygon(1,1, 1,4, 4,4, 4,1))); |
| ---- RESULTS |
| 2 |
| ==== |
| ---- QUERY |
| select ST_Dimension(ST_Intersection(st_point(1,1), ST_Point(1,1))); |
| ---- RESULTS |
| 0 |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_Intersection(ST_Polygon(1,0, 3,0, 1,2), ST_Polygon(0,1, 2,1, 0,3)), ST_Polygon(1,1, 2,1, 1,2)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| SELECT ST_AsText(ST_SymmetricDiff(ST_Point('point(0 0)'), ST_Point('point(2 2)'))); |
| ---- RESULTS |
| 'MULTIPOINT ((0 0), (2 2))' |
| ==== |
| ---- QUERY |
| SELECT ST_AsText(ST_SymmetricDiff(ST_MultiPoint('multipoint((0 0))'), ST_MultiPoint('multipoint((2 2))'))); |
| ---- RESULTS |
| 'MULTIPOINT ((0 0), (2 2))' |
| ==== |
| ---- QUERY |
| SELECT ST_Equals(ST_SymmetricDiff(ST_LineString('linestring(0 2, 2 2)'), ST_LineString('linestring(1 2, 3 2)')), ST_GeomFromText('multilinestring((0 2, 1 2), (2 2, 3 2))')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| SELECT ST_Equals(ST_SymmetricDiff(ST_Polygon('polygon((0 0, 2 0, 2 2, 0 2, 0 0))'), ST_Polygon('polygon((1 1, 3 1, 3 3, 1 3, 1 1))')), ST_MultiPolygon('multipolygon(((0 0, 2 0, 2 1, 1 1, 1 2, 0 2, 0 0)), ((3 1, 3 3, 1 3, 1 2, 2 2, 2 1, 3 1)))')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_Boundary(ST_LineString(0,1, 1,0)), ST_MultiPoint('multipoint((1 0),(0 1))')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_Boundary(ST_Polygon(1,1, 4,1, 1,4))); |
| ---- RESULTS |
| 'ST_LINESTRING' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_Boundary(ST_Polygon(1,1, 4,1, 1,4)), ST_LineString(1,1, 4,1, 1,4, 1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_Boundary(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'))); |
| ---- RESULTS |
| 'ST_MULTILINESTRING' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_Boundary(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))')), ST_MultiLineString('multilinestring((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_ExteriorRing(ST_Polygon(1,1, 1,4, 4,1)), ST_LineString(1,1, 4,1, 1,4, 1,1)); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_ExteriorRing(ST_Polygon('polygon ((1 1, 4 1, 1 4))')), ST_LineString('linestring(1 1, 4 1, 1 4, 1 1)')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_ExteriorRing(ST_Polygon('polygon ((1 1, 4 1, 1 4))'))); |
| ---- RESULTS |
| 'ST_LINESTRING' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_ExteriorRing(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))')), ST_LineString('linestring (0 0, 8 0, 0 8, 0 0)')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_ExteriorRing(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'))); |
| ---- RESULTS |
| 'ST_LINESTRING' |
| ==== |
| ---- QUERY |
| select ST_NumGeometries(ST_GeomFromText('multipoint (10 40, 40 30, 20 20, 30 10)', 0)); |
| ---- RESULTS |
| 4 |
| ==== |
| ---- QUERY |
| select ST_NumGeometries(ST_GeomFromText('multipoint ((10 40), (40 30))', 0)); |
| ---- RESULTS |
| 2 |
| ==== |
| ---- QUERY |
| select ST_NumGeometries(ST_GeomFromText('multilinestring ((2 4, 10 10), (20 20, 7 8))', 0)); |
| ---- RESULTS |
| 2 |
| ==== |
| ---- QUERY |
| select ST_NumGeometries(ST_GeomFromText('multilinestring ((2 4, 10 10, 20 20, 7 8))', 0)); |
| ---- RESULTS |
| 1 |
| ==== |
| ---- QUERY |
| select ST_NumGeometries(ST_GeomFromText('multipolygon (((3 3, 4 6, 5 3, 3 3)),((8 24, 1 28, 9 25, 8 24)), ((13 33, 7 36, 1 40, 10 43, 13 33)))')); |
| ---- RESULTS |
| 3 |
| ==== |
| ---- QUERY |
| select ST_NumGeometries(ST_GeomFromText('multipolygon (((3 3, 4 6, 5 3, 3 3)))')); |
| ---- RESULTS |
| 1 |
| ==== |
| ---- QUERY |
| select ST_NumGeometries(ST_GeomFromText('multipolygon (((0 0, 9 0, 9 9, 0 9, 0 0),(1 2, 1 7, 5 7, 1 2), (2 1, 7 5, 7 1, 2 1)))')); |
| ---- RESULTS |
| 1 |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_GeometryN(ST_GeomFromText('multipoint (10 40, 40 30, 20 20, 30 10)'), 3)); |
| ---- RESULTS |
| 'ST_POINT' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_GeometryN(ST_GeomFromText('multipoint (10 40, 40 30, 20 20, 30 10)'), 3), ST_GeomFromText('point (20 20)')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_GeometryN(ST_GeomFromText('multilinestring ((2 4, 10 10), (20 20, 7 8))'), 2)); |
| ---- RESULTS |
| 'ST_LINESTRING' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_GeometryN(ST_GeomFromText('multilinestring ((2 4, 10 10), (20 20, 7 8))'), 2), ST_GeomFromText('linestring (20 20, 7 8)')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_InteriorRingN(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'), 1)); |
| ---- RESULTS |
| 'ST_LINESTRING' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_InteriorRingN(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'), 1), ST_LineString('linestring(1 1, 5 1, 1 5, 1 1)')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_GeomFromWKB(ST_AsBinary(ST_GeomFromText('point (10.02 20.01)')))); |
| ---- RESULTS |
| 'ST_POINT' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_GeomFromWKB(ST_AsBinary(ST_GeomFromText('point (10.02 20.01)'))),ST_GeomFromText('point (10.02 20.01)')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_GeomFromWKB(ST_AsBinary(ST_GeomFromText('linestring (10 10, 20 20)')))); |
| ---- RESULTS |
| 'ST_LINESTRING' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_GeomFromWKB(ST_AsBinary(ST_GeomFromText('linestring (10 10, 20 20)'))), ST_GeomFromText('linestring (10 10, 20 20)')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_GeomFromWKB(ST_AsBinary(ST_GeomFromText('polygon ((0 0, 0 10, 10 10, 0 0))')))); |
| ---- RESULTS |
| 'ST_POLYGON' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_GeomFromWKB(ST_AsBinary(ST_GeomFromText('polygon ((0 0, 0 10, 10 10, 0 0))'))), ST_GeomFromText('polygon ((0 0, 0 10, 10 10, 0 0))')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_GeomFromWKB(ST_AsBinary(ST_GeomFromText('MULTIPOINT ((10 40), (40 30), (20 20), (30 10))')))); |
| ---- RESULTS |
| 'ST_MULTIPOINT' |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_PointFromWKB(ST_AsBinary(ST_GeomFromText('point (10 10)')))); |
| ---- RESULTS |
| 'ST_POINT' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_PointFromWKB(ST_AsBinary(ST_GeomFromText('point (10 10)'))), ST_GeomFromText('point (10 10)')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_LineFromWKB(ST_AsBinary(ST_GeomFromText('linestring (10 10, 20 20)')))); |
| ---- RESULTS |
| 'ST_LINESTRING' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_LineFromWKB(ST_AsBinary(ST_GeomFromText('linestring (10 10, 20 20)'))), ST_GeomFromText('linestring (10 10, 20 20)')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_PolyFromWKB(ST_AsBinary(ST_GeomFromText('polygon ((0 0, 1 0, 0 1, 0 0))')))); |
| ---- RESULTS |
| 'ST_POLYGON' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_PolyFromWKB(ST_AsBinary(ST_GeomFromText('polygon ((0 0, 1 0, 0 1, 0 0))'))), ST_GeomFromText('polygon ((0 0, 1 0, 0 1, 0 0))')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_MPointFromWKB(ST_AsBinary(ST_GeomFromText('multipoint ((10 10), (20 20))')))); |
| ---- RESULTS |
| 'ST_MULTIPOINT' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_MPointFromWKB(ST_AsBinary(ST_GeomFromText('multipoint ((10 10), (20 20))'))), ST_GeomFromText('multipoint ((10 10), (20 20))')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_MLineFromWKB(ST_AsBinary(ST_GeomFromText('multilinestring ((1 2, 2 1),(10 10, 20 20))')))); |
| ---- RESULTS |
| 'ST_MULTILINESTRING' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_MLineFromWKB(ST_AsBinary(ST_GeomFromText('multilinestring ((1 2, 2 1),(10 10, 20 20))'))), ST_GeomFromText('multilinestring ((1 2, 2 1),(10 10, 20 20))')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ==== |
| ---- QUERY |
| select ST_GeometryType(ST_MPolyFromWKB(ST_AsBinary(ST_GeomFromText('multipolygon (((0 0, 1 0, 0 1, 0 0)), ((2 2, 1 2, 2 1, 2 2)))')))); |
| ---- RESULTS |
| 'ST_MULTIPOLYGON' |
| ==== |
| ---- QUERY |
| select ST_Equals(ST_MPolyFromWKB(ST_AsBinary(ST_GeomFromText('multipolygon (((0 0, 1 0, 0 1, 0 0)), ((2 2, 1 2, 2 1, 2 2)))'))), ST_GeomFromText('multipolygon (((0 0, 1 0, 0 1)), ((2 2, 1 2, 2 1)))')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| true |
| ===== |
| ---- QUERY |
| select ST_Length(ST_Linestring(1,1, 1,2, 2,2, 2,1)), ST_Length(ST_Linestring(1,1, 1,4, 4,4, 4,1)), ST_Length(ST_Linestring(1,1, 1,7, 7,7, 7,1)); |
| ---- TYPES |
| DOUBLE, DOUBLE, DOUBLE |
| ---- RESULTS |
| 3.0,9.0,18.0 |
| ==== |
| ---- QUERY |
| select ST_Area(ST_Polygon(1,1, 1,2, 2,2, 2,1)), ST_Area(ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| DOUBLE, DOUBLE |
| ---- RESULTS |
| 1.0,9.0 |
| ==== |
| ---- QUERY |
| select ST_Contains(ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1), ST_Point(2, 3)), ST_Contains(ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1), ST_Point(8, 8)); |
| ---- TYPES |
| BOOLEAN, BOOLEAN |
| ---- RESULTS |
| true,false |
| ==== |
| ---- QUERY |
| select ST_CoordDim(ST_Point(0., 3.)), ST_CoordDim(ST_PointZ(0., 3., 1)); |
| ---- TYPES |
| INT, INT |
| ---- RESULTS |
| 2,3 |
| ==== |
| ---- QUERY |
| select ST_Crosses(st_linestring(2,0, 2,3), ST_Polygon(1,1, 1,4, 4,4, 4,1)), ST_Crosses(st_linestring(8,7, 7,8), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN, BOOLEAN |
| ---- RESULTS |
| true,false |
| ==== |
| ---- QUERY |
| select ST_Dimension(ST_Point(0,0)), ST_Dimension(ST_LineString(1.5,2.5, 3.0,2.2)); |
| ---- TYPES |
| INT, INT |
| ---- RESULTS |
| 0,1 |
| ==== |
| ---- QUERY |
| select ST_Disjoint(st_point(1,1), ST_Point(1,1)), ST_Disjoint(st_point(2,0), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN, BOOLEAN |
| ---- RESULTS |
| false,true |
| ==== |
| ---- QUERY |
| select ST_EnvIntersects(st_point(1,1), ST_Point(1,1)), ST_EnvIntersects(st_point(2,0), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN, BOOLEAN |
| ---- RESULTS |
| true,false |
| ==== |
| ---- QUERY |
| select ST_Equals(st_point(1,1), ST_Point(1,1)), ST_Equals(st_point(2,0), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN, BOOLEAN |
| ---- RESULTS |
| true,false |
| ==== |
| ---- QUERY |
| select ST_Intersects(st_point(1,1), ST_Point(1,1)), ST_Intersects(st_point(2,0), ST_Point(1,1)); |
| ---- TYPES |
| BOOLEAN, BOOLEAN |
| ---- RESULTS |
| true,false |
| ==== |
| ---- QUERY |
| select ST_Is3D(ST_Point(0., 3.)), ST_Is3D(ST_PointZ(0., 3., 1)); |
| ---- TYPES |
| BOOLEAN, BOOLEAN |
| ---- RESULTS |
| false,true |
| ==== |
| ---- QUERY |
| select ST_Overlaps(st_polygon(2,0, 2,3, 3,0), ST_Polygon(1,1, 1,4, 4,4, 4,1)), ST_Overlaps(st_polygon(2,0, 2,1, 3,1), ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- TYPES |
| BOOLEAN, BOOLEAN |
| ---- RESULTS |
| true,false |
| ==== |
| ---- QUERY |
| select ST_Touches(ST_Point(1, 3), ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)), ST_Touches(ST_Point(8, 8), ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)); |
| ---- TYPES |
| BOOLEAN, BOOLEAN |
| ---- RESULTS |
| true,false |
| ==== |
| ---- QUERY |
| select ST_Within(ST_Point(2, 3), ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)), ST_Within(ST_Point(8, 8), ST_Polygon(1, 1, 1, 4, 4, 4, 4, 1)); |
| ---- TYPES |
| BOOLEAN, BOOLEAN |
| ---- RESULTS |
| true,false |
| ==== |
| ---- QUERY |
| SELECT ST_Intersects(ST_GeomFromGeoJson('{"type": "LineString", "coordinates": [[2.5,2.5], [8.0,0.0]]}'), ST_GeomFromGeoJson('{"type": "LineString", "coordinates": [[1.5,1.5], [0.0,7.0]]}')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ==== |
| ---- QUERY |
| SELECT ST_Intersects(ST_GeomFromJson('{"paths":[[[2.5,2.5],[8,0]]],"spatialReference":{"wkid":4326}}'), ST_GeomFromJson('{"paths":[[[1.5,1.5],[0,7]]],"spatialReference":{"wkid":4326}}')); |
| ---- TYPES |
| BOOLEAN |
| ---- RESULTS |
| false |
| ===== |
| ---- QUERY |
| select ST_AsJson(ST_Polygon(1.5,2.5, 3.0,2.2, 2.2,1.1)); |
| ---- RESULTS |
| '{"rings":[[[1.5,2.5],[3,2.2],[2.2,1.1],[1.5,2.5]]]}' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_Polygon(1.5,2.5, 3.0,2.2, 2.2,1.1, 1.5, 2.5)); |
| ---- RESULTS |
| '{"rings":[[[1.5,2.5],[3,2.2],[2.2,1.1],[1.5,2.5]]]}' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_Polygon(0.1,2.2, 3.0,2.2, 2.2,1.1, 0.1, 2.2)); |
| ---- RESULTS |
| '{"rings":[[[0.1,2.2],[3,2.2],[2.2,1.1],[0.1,2.2]]]}' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_Polygon(1,1, 1,4, 4,4, 4,1)); |
| ---- RESULTS |
| '{"rings":[[[1,1],[1,4],[4,4],[4,1],[1,1]]]}' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Polygon(1,1, 1,4, 4,1)); |
| ---- RESULTS |
| 'POLYGON ((1 1, 4 1, 1 4, 1 1))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Polygon(1,1, 4,1, 1,4)); |
| ---- RESULTS |
| 'POLYGON ((1 1, 4 1, 1 4, 1 1))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Polygon(1,1, 1,4, 4,1, 1,1)); |
| ---- RESULTS |
| 'POLYGON ((1 1, 4 1, 1 4, 1 1))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Polygon(1,1, 4,1, 1,4, 1,1)); |
| ---- RESULTS |
| 'POLYGON ((1 1, 4 1, 1 4, 1 1))' |
| ==== |
| ---- QUERY |
| select st_AsText(ST_Envelope(ST_LineString(0,0, 2,2))); |
| ---- RESULTS |
| 'POLYGON ((0 0, 2 0, 2 2, 0 2, 0 0))' |
| ==== |
| ---- QUERY |
| select st_AsText(ST_Envelope(ST_Polygon(1,1, 4,1, 4,4, 1,4))); |
| ---- RESULTS |
| 'POLYGON ((1 1, 4 1, 4 4, 1 4, 1 1))' |
| ==== |
| ---- QUERY |
| select st_AsText(ST_Envelope(st_polygon(2,0, 2,3, 3,0))); |
| ---- RESULTS |
| 'POLYGON ((2 0, 3 0, 3 3, 2 3, 2 0))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_Point(1,1), ST_Point(1,1))); |
| ---- RESULTS |
| 'POINT (1 1)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_LineString(0,2, 0,4), ST_Point(0,3))); |
| ---- RESULTS |
| 'POINT (0 3)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_GeomFromText('linestring(0 2, 0 0, 2 0)'), ST_GeomFromText('linestring(0 3, 0 1, 1 0, 3 0)'))); |
| ---- RESULTS |
| 'MULTILINESTRING ((1 0, 2 0), (0 2, 0 1))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_LineString(0,2, 0,4), ST_LineString(0,2, 0,4))); |
| ---- RESULTS |
| 'LINESTRING (0 2, 0 4)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_LineString(0,2, 0,4), ST_LineString(0,3, 0,5))); |
| ---- RESULTS |
| 'LINESTRING (0 3, 0 4)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_LineString(0,2, 0,5), ST_LineString(1,3, 0,3, 0,4, 1,4))); |
| ---- RESULTS |
| 'LINESTRING (0 3, 0 4)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_LineString(0,2, 2,3), ST_Polygon(1,1, 4,1, 4,4, 1,4))); |
| ---- RESULTS |
| 'LINESTRING (1 2.5, 2 3)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_Polygon(1,1, 1,4, 4,4, 4,1), ST_LineString(1,1, 1,4))); |
| ---- RESULTS |
| 'LINESTRING (1 1, 1 4)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_Polygon(1,1, 1,4, 4,4, 4,1), ST_LineString(1,3, 1,4, 0,4))); |
| ---- RESULTS |
| 'LINESTRING (1 3, 1 4)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_Polygon(2,0, 2,3, 3,0), ST_Polygon(1,1, 4,1, 4,4, 1,4))); |
| ---- RESULTS |
| 'POLYGON ((2 1, 2.6666666666666665 1, 2 3, 2 1))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_Polygon(1,0, 3,0, 1,2), ST_Polygon(0,1, 2,1, 0,3))); |
| ---- RESULTS |
| 'POLYGON ((1 1, 2 1, 1 2, 1 1))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_Polygon('polygon((1 0, 3 0, 1 2, 1 0))'), ST_Polygon('polygon((0 1, 2 1, 0 3, 0 1))'))); |
| ---- RESULTS |
| 'POLYGON ((1 1, 2 1, 1 2, 1 1))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_Polygon('polygon((3 0, 3 3, 0 3, 3 0))'), ST_Polygon('polygon((2 2, 5 2, 2 5, 2 2))'))); |
| ---- RESULTS |
| 'POLYGON ((2 2, 3 2, 3 3, 2 3, 2 2))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_Polygon('polygon((2 0, 2 2, 0 2, 2 0))'), ST_Polygon('polygon((1 1, 3 1, 1 3, 1 1))'))); |
| ---- RESULTS |
| 'POLYGON ((1 1, 2 1, 2 2, 1 2, 1 1))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_Polygon('polygon((0 0, 2 0, 0 2, 0 0))'), ST_Polygon('polygon((0 0, 1 0, 0 1, 0 0))'))); |
| ---- RESULTS |
| 'POLYGON ((0 0, 1 0, 0 1, 0 0))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_Polygon('polygon((0 0, 3 0, 0 3, 0 0))'), ST_Polygon('polygon((1 1, 2 1, 1 2, 1 1))'))); |
| ---- RESULTS |
| 'POLYGON ((1 1, 2 1, 1 2, 1 1))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_Polygon('polygon((0 0, 2 0, 0 2, 0 0))'), ST_Polygon('polygon((1 1, 1 0, 0 1, 1 1))'))); |
| ---- RESULTS |
| 'POLYGON ((1 0, 1 1, 0 1, 1 0))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_Polygon('polygon((0 0, 1 0, 0 1, 0 0))'), ST_Polygon('polygon((0 0, 1 0, 0 1, 0 0))'))); |
| ---- RESULTS |
| 'POLYGON ((0 0, 1 0, 0 1, 0 0))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Intersection(ST_Polygon('polygon((0 0, 3 0, 0 3, 0 0))'), ST_Polygon('polygon((2 2, 2 0, 3 0, 3 3, 0 3, 0 2, 2 2))'))); |
| ---- RESULTS |
| 'MULTIPOLYGON (((2 0, 3 0, 2 1, 2 0)), ((0 2, 1 2, 0 3, 0 2)))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Centroid(ST_Point(2, 3))); |
| ---- RESULTS |
| 'POINT (2 3)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Centroid(ST_GeomFromText('multipoint ((0 0), (1 1), (1 -1), (6 0))'))); |
| ---- RESULTS |
| 'POINT (2 0)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Centroid(ST_GeomFromText('linestring (0 0, 6 0)'))); |
| ---- RESULTS |
| 'POINT (3 0)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Centroid(ST_GeomFromText('polygon ((0 0, 0 8, 8 8, 8 0, 0 0))'))); |
| ---- RESULTS |
| 'POINT (4 4)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Centroid(ST_GeomFromText('polygon ((1 1, 5 1, 3 4))'))); |
| ---- RESULTS |
| 'POINT (3 2)' |
| ==== |
| ---- QUERY |
| select ST_Area(ST_Buffer(ST_GeomFromText('point (0 0)'), 1)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 3.139350203046865 |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Buffer(ST_GeomFromText('polygon ((0 0, 3 0, 3 2, 5 2, 5 5, 2 5, 2 3, 0 3, 0 0))'), -1)); |
| ---- RESULTS |
| 'MULTIPOLYGON (((3 3, 4 3, 4 4, 3 4, 3 3)), ((1 1, 2 1, 2 2, 1 2, 1 1)))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Centroid(ST_GeomFromText('polygon ((0 0, 3 6, 6 0, 0 0))'))); |
| ---- RESULTS |
| 'POINT (3 2)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Centroid(ST_GeomFromText('polygon ((0 0, 0 8, 8 0, 0 0))'))); |
| ---- RESULTS |
| 'POINT (2.6666666666666665 2.6666666666666665)' |
| ==== |
| ---- QUERY |
| SELECT ST_AsText(ST_Difference(ST_MultiPoint(1, 1, 1.5, 1.5, 2, 2), ST_Point(1.5, 1.5))); |
| ---- RESULTS |
| 'MULTIPOINT ((1 1), (2 2))' |
| ==== |
| ---- QUERY |
| SELECT ST_AsText(ST_Difference(ST_Polygon(0, 0, 0, 10, 10, 10, 10, 0), ST_Polygon(0, 0, 0, 5, 5, 5, 5, 0))); |
| ---- RESULTS |
| 'POLYGON ((5 0, 10 0, 10 10, 0 10, 0 5, 5 5, 5 0))' |
| ==== |
| ---- QUERY |
| SELECT ST_AsText(ST_SymmetricDiff(ST_Point('point(0 0)'), ST_Point('point(2 2)'))); |
| ---- RESULTS |
| 'MULTIPOINT ((0 0), (2 2))' |
| ==== |
| ---- QUERY |
| SELECT ST_AsText(ST_SymmetricDiff(ST_MultiPoint('multipoint((0 0))'), ST_MultiPoint('multipoint((2 2))'))); |
| ---- RESULTS |
| 'MULTIPOINT ((0 0), (2 2))' |
| ==== |
| ---- QUERY |
| SELECT ST_AsText(ST_SymmetricDiff(ST_LineString('linestring(0 2, 2 2)'), ST_LineString('linestring(1 2, 3 2)'))); |
| ---- RESULTS |
| 'MULTILINESTRING ((0 2, 1 2), (2 2, 3 2))' |
| ==== |
| ---- QUERY |
| SELECT ST_AsText(ST_SymmetricDiff(ST_Polygon('polygon((0 0, 2 0, 2 2, 0 2, 0 0))'), ST_Polygon('polygon((1 1, 3 1, 3 3, 1 3, 1 1))'))); |
| ---- RESULTS |
| 'MULTIPOLYGON (((0 0, 2 0, 2 1, 1 1, 1 2, 0 2, 0 0)), ((2 1, 3 1, 3 3, 1 3, 1 2, 2 2, 2 1)))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_GeomFromText('MultiLineString((0 80, 0.03 80.04))', 4326)); |
| ---- RESULTS |
| 'MULTILINESTRING ((0 80, 0.03 80.04))' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_Intersection(ST_Linestring(0,0, 1,1), ST_Linestring(2,2, 3,3))); |
| ---- RESULTS |
| '{"rings":[]}' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_GeomFromJson('{"x":0.0,"y":0.0}')); |
| ---- RESULTS |
| '{"x":0,"y":0}' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_GeomFromGeoJson('{"type":"Point", "coordinates":[1.2, 2.4]}')); |
| ---- RESULTS |
| 'POINT (1.2 2.4)' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_GeomFromGeoJson('{"type":"Point", "coordinates":[1.2, 2.4]}')); |
| ---- RESULTS |
| '{"x":1.2,"y":2.4,"spatialReference":{"wkid":4326}}' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_GeomFromGeoJson('{"type":"LineString", "coordinates":[[1,2], [3,4]]}')); |
| ---- RESULTS |
| 'LINESTRING (1 2, 3 4)' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_GeomFromJson('{"x":1.2,"y":2.4,"spatialReference":{"wkid":4326}}')); |
| ---- RESULTS |
| '{"x":1.2,"y":2.4,"spatialReference":{"wkid":4326}}' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_GeomFromJson('{"x":1.2,"y":2.4,"spatialReference":{"wkid": 0}}')); |
| ---- RESULTS |
| '{"x":1.2,"y":2.4}' |
| ==== |
| ---- QUERY |
| select ST_AsGeoJson(ST_GeomFromJson('{"x":1.2,"y":2.4,"spatialReference":{"wkid":4326}}')); |
| ---- RESULTS |
| '{"type":"Point","coordinates":[1.2,2.4],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}}' |
| ==== |
| ---- QUERY |
| select ST_AsGeoJson(ST_GeomFromJson('{"x":1.2,"y":2.4,"spatialReference":{"wkid": 0}}')); |
| ---- RESULTS |
| '{"type":"Point","coordinates":[1.2,2.4],"crs":null}' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_GeomFromGeoJson(ST_AsGeoJson(ST_Point(1.2, 2.4)))); |
| ---- RESULTS |
| 'POINT (1.2 2.4)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_GeomFromGeoJson(ST_AsGeoJson(ST_LineString(1,2, 3,4)))); |
| ---- RESULTS |
| 'LINESTRING (1 2, 3 4)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Boundary(ST_LineString(0,1, 1,0))); |
| ---- RESULTS |
| 'MULTIPOINT ((0 1), (1 0))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Boundary(ST_Polygon(1,1, 4,1, 1,4))); |
| ---- RESULTS |
| 'LINESTRING (1 1, 4 1, 1 4, 1 1)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_Boundary(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'))); |
| ---- RESULTS |
| 'MULTILINESTRING ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_PointN(ST_GeomFromText('multipoint ((10 40), (40 30), (20 20), (30 10))', 0), 0)); |
| ---- RESULTS |
| '{"x":10,"y":40}' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_PointN(ST_GeomFromText('multipoint ((10 40), (40 30), (20 20), (30 10))', 0), 1)); |
| ---- RESULTS |
| '{"x":10,"y":40}' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_PointN(ST_GeomFromText('multipoint ((10 40), (40 30), (20 20), (30 10))', 0), 2)); |
| ---- RESULTS |
| '{"x":40,"y":30}' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_PointN(ST_GeomFromText('multipoint ((10 40), (40 30), (20 20), (30 10))', 0), 4)); |
| ---- RESULTS |
| '{"x":30,"y":10}' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_PointN(ST_GeomFromText('linestring (10.02 20.01, 10.32 23.98, 11.92 25.64)'), 0)); |
| ---- RESULTS |
| '{"x":10.02,"y":20.01}' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_PointN(ST_GeomFromText('linestring (10.02 20.01, 10.32 23.98, 11.92 25.64)'), 1)); |
| ---- RESULTS |
| '{"x":10.02,"y":20.01}' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_PointN(ST_GeomFromText('linestring (10.02 20.01, 10.32 23.98, 11.92 25.64)'), 2)); |
| ---- RESULTS |
| '{"x":10.32,"y":23.98}' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_PointN(ST_GeomFromText('linestring (10.02 20.01, 10.32 23.98, 11.92 25.64)'), 3)); |
| ---- RESULTS |
| '{"x":11.92,"y":25.64}' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_ExteriorRing(ST_Polygon(1,1, 1,4, 4,1))); |
| ---- RESULTS |
| 'LINESTRING (1 1, 4 1, 1 4, 1 1)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_ExteriorRing(ST_Polygon('polygon ((1 1, 4 1, 1 4))'))); |
| ---- RESULTS |
| 'LINESTRING (1 1, 4 1, 1 4, 1 1)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_ExteriorRing(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'))); |
| ---- RESULTS |
| 'LINESTRING (0 0, 8 0, 0 8, 0 0)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_GeometryN(ST_GeomFromText('multipoint (10 40, 40 30, 20 20, 30 10)'), 3)); |
| ---- RESULTS |
| 'POINT (20 20)' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_GeometryN(ST_GeomFromText('multilinestring ((2 4, 10 10), (20 20, 7 8))'), 2)); |
| ---- RESULTS |
| 'LINESTRING (20 20, 7 8)' |
| ==== |
| ---- QUERY |
| select ST_AsJson(ST_GeometryN(ST_GeomFromText('multilinestring ((2 4, 10 10), (20 20, 7 8))'), 2)); |
| ---- RESULTS |
| '{"paths":[[[20,20],[7,8]]]}' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_GeometryN(ST_GeomFromText('multipolygon (((3 3, 4 6, 5 3, 3 3)),((8 24, 1 28, 9 25, 8 24)), ((13 33, 7 36, 1 40, 10 43, 13 33)))'), 1)); |
| ---- RESULTS |
| 'POLYGON ((3 3, 5 3, 4 6, 3 3))' |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_InteriorRingN(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'), 1)); |
| ---- RESULTS |
| 'LINESTRING (1 1, 1 5, 5 1, 1 1)' |
| ===== |
| ---- QUERY |
| select ST_GeodesicLengthWGS84(ST_SetSRID(ST_LineString(0,80, 0.03, 80.04), 4326)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 4503.988488226892 |
| ==== |
| ---- QUERY |
| select ST_GeodesicLengthWGS84(ST_SetSRID(ST_GeomFromText('MultiLineString((0 80, 0.03 80.04))'), 4326)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 4503.988488226892 |
| ==== |
| ---- QUERY |
| select ST_GeodesicLengthWGS84(ST_SetSRID(ST_LineString(179.98,-80, -179.98, -80.03), 4326)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 3438.190416575652 |
| ==== |
| ---- QUERY |
| select ST_GeodesicLengthWGS84(ST_SetSRID(ST_LineString(179.98,80, -179.98, 80.03), 4326)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 3438.190416575652 |
| ==== |
| ---- QUERY |
| select ST_GeodesicLengthWGS84(ST_SetSRID(ST_LineString(179.98,-0.01, -179.98, 0.02), 4326)); |
| ---- TYPES |
| DOUBLE |
| ---- RESULTS |
| 5552.589421311623 |
| ==== |
| ---- QUERY |
| select ST_AsText(ST_SetSRID(ST_GeomFromText('MultiLineString((0 80, 0.03 80.04))'), 4326)); |
| ---- RESULTS |
| 'MULTILINESTRING ((0 80, 0.03 80.04))' |
| ==== |
| ---- QUERY |
| # TODO: move these new tests to geospatial-esri-extra? |
| # NOTE: Due to HIVE-29323 ESRI returns MULTIPOLYGON EMPTY for single point |
| # PostGIS would return: POINT (1 2) |
| select ST_AsText(ST_ConvexHull(ST_Point(1, 2))); |
| ---- RESULTS |
| 'MULTIPOLYGON EMPTY' |
| ==== |
| ---- QUERY |
| # Collinear points - ESRI returns NULL instead of LINESTRING |
| # ESRI behavior: Returns NULL for degenerate convex hulls |
| # PostGIS would return: LINESTRING (0 0, 3 3) |
| select ST_AsText(ST_ConvexHull(ST_GeomFromText('multipoint ((0 0), (1 1), (2 2), (3 3))'))); |
| ---- RESULTS |
| 'NULL' |
| ==== |
| ---- QUERY |
| # ESRI wraps result in MULTIPOLYGON even for simple polygons |
| select ST_AsText(ST_ConvexHull(ST_GeomFromText('multipoint ((0 0), (1 0), (1 1), (0 1))'))); |
| ---- RESULTS |
| 'MULTIPOLYGON (((0 0, 1 0, 1 1, 0 1, 0 0)))' |
| ==== |
| ---- QUERY |
| # Interior point (1,1) does not affect the convex hull boundary |
| select ST_AsText(ST_ConvexHull(ST_GeomFromText('multipoint ((0 0), (2 0), (2 2), (0 2), (1 1))'))); |
| ---- RESULTS |
| 'MULTIPOLYGON (((0 0, 2 0, 2 2, 0 2, 0 0)))' |
| ==== |
| ---- QUERY |
| # Convex hull "wraps" around the concave parts to form smallest convex shape |
| select ST_AsText(ST_ConvexHull(ST_GeomFromText('polygon ((0 0, 3 0, 3 2, 5 2, 5 5, 2 5, 2 3, 0 3, 0 0))'))); |
| ---- RESULTS |
| 'MULTIPOLYGON (((0 0, 3 0, 5 2, 5 5, 2 5, 0 3, 0 0)))' |
| ==== |
| ---- QUERY |
| # Convex hull forms polygon encompassing all line vertices |
| select ST_AsText(ST_ConvexHull(ST_GeomFromText('linestring (0 0, 1 1, 2 0, 3 1, 4 0)'))); |
| ---- RESULTS |
| 'MULTIPOLYGON (((0 0, 4 0, 3 1, 1 1, 0 0)))' |
| ==== |
| ---- QUERY |
| # ESRI returns MULTIPOLYGON EMPTY for empty input |
| select ST_AsText(ST_ConvexHull(ST_GeomFromText('point empty'))); |
| ---- RESULTS |
| 'MULTIPOLYGON EMPTY' |
| ==== |
| ---- QUERY |
| # Two points - ESRI returns NULL instead of LINESTRING |
| # PostGIS would return: LINESTRING (0 0, 3 4) |
| select ST_AsText(ST_ConvexHull(ST_Point(0, 0), ST_Point(3, 4))); |
| ---- RESULTS |
| 'NULL' |
| ==== |
| ---- QUERY |
| # Three non-collinear points (forms a triangle) |
| select ST_AsText(ST_ConvexHull(ST_Point(0, 0), ST_Point(4, 0), ST_Point(2, 3))); |
| ---- RESULTS |
| 'MULTIPOLYGON (((0 0, 4 0, 2 3, 0 0)))' |
| ==== |
| ---- QUERY |
| # Four points (forms a square) |
| select ST_AsText(ST_ConvexHull(ST_Point(0, 0), ST_Point(2, 0), ST_Point(2, 2), ST_Point(0, 2))); |
| ---- RESULTS |
| 'MULTIPOLYGON (((0 0, 2 0, 2 2, 0 2, 0 0)))' |
| ==== |
| ---- QUERY |
| # Five points with one interior point |
| # Point (2,2) is inside the square formed by the other four points |
| select ST_AsText(ST_ConvexHull(ST_Point(0, 0), ST_Point(4, 0), ST_Point(4, 4), ST_Point(0, 4), ST_Point(2, 2))); |
| ---- RESULTS |
| 'MULTIPOLYGON (((0 0, 4 0, 4 4, 0 4, 0 0)))' |
| ==== |
| ---- QUERY |
| # Six arguments with mixed geometry types |
| # Combines points and linestring, then computes convex hull of all vertices |
| # Note: Point (6,3) creates an additional vertex in the convex hull |
| select ST_AsText(ST_ConvexHull(ST_Point(0, 0), ST_Point(5, 0), ST_Point(5, 5), ST_Point(0, 5), ST_LineString(1, 1, 4, 4), ST_Point(6, 3))); |
| ---- RESULTS |
| 'MULTIPOLYGON (((0 0, 5 0, 6 3, 5 5, 0 5, 0 0)))' |
| ==== |
| ---- QUERY |
| # Seven points with one interior point |
| select ST_AsText(ST_ConvexHull(ST_Point(0, 0), ST_Point(1, 0), ST_Point(2, 1), ST_Point(3, 0), ST_Point(3, 3), ST_Point(0, 3), ST_Point(1.5, 1.5))); |
| ---- RESULTS |
| 'MULTIPOLYGON (((0 0, 3 0, 3 3, 0 3, 0 0)))' |
| ==== |
| ---- QUERY |
| # Eight arguments (maximum supported by wrapper) |
| # Tests upper bound of generated wrapper methods |
| select ST_AsText(ST_ConvexHull(ST_Point(0, 0), ST_Point(2, 0), ST_Point(4, 0), ST_Point(4, 2), ST_Point(4, 4), ST_Point(2, 4), ST_Point(0, 4), ST_Point(0, 2))); |
| ---- RESULTS |
| 'MULTIPOLYGON (((0 0, 4 0, 4 4, 0 4, 0 0)))' |
| ==== |
| ---- QUERY |
| # No arguments provided (should fail) |
| select ST_ConvexHull(); |
| ---- CATCH |
| AnalysisException: No matching function with signature: st_convexhull() |
| ==== |
| ---- QUERY |
| # Wrong type - STRING instead of BINARY |
| select ST_ConvexHull('invalid geometry'); |
| ---- CATCH |
| AnalysisException: No matching function with signature: st_convexhull(STRING) |
| ==== |
| ---- QUERY |
| # Wrong type - INTEGER instead of BINARY |
| select ST_ConvexHull(123); |
| ---- CATCH |
| AnalysisException: No matching function with signature: st_convexhull(TINYINT) |
| ==== |
| ---- QUERY |
| # Wrapper only generates overloads for 1-8 arguments |
| select ST_ConvexHull(ST_Point(0,0), ST_Point(1,1), ST_Point(2,2), ST_Point(3,3), ST_Point(4,4), ST_Point(5,5), ST_Point(6,6), ST_Point(7,7), ST_Point(8,8)); |
| ---- CATCH |
| AnalysisException: No matching function with signature: st_convexhull(BINARY, BINARY, BINARY, BINARY, BINARY, BINARY, BINARY, BINARY, BINARY) |
| ==== |
| ---- QUERY |
| # NULL Handling |
| select ST_ConvexHull(NULL); |
| ---- RESULTS |
| 'NULL' |
| ==== |