Sei sulla pagina 1di 2

PostGIS 1.5.

1 Manual
232 / 315

FROM country
INNER JOIN trails
ON ST_Intersects(country.the_geom, trails.the_geom))
WHERE ST_Dimension(clipped.clipped_geom) = 1 ;

As clipped

--For polys e.g. polygon landmarks, you can also use the sometimes faster hack that buffering anything by 0.0
-- except a polygon results in an empty geometry collection
--(so a geometry collection containing polys, lines and points)
-- buffered by 0.0 would only leave the polygons and dissolve the collection shell
SELECT poly.gid, ST_Multi(ST_Buffer(
ST_Intersection(country.the_geom, poly.the_geom),
0.0)
) As clipped_geom
FROM country
INNER JOIN poly
ON ST_Intersects(country.the_geom, poly.the_geom)
WHERE Not ST_IsEmpty(ST_Buffer(ST_Intersection(country.the_geom, poly.the_geom),0.0));

See Also
ST_Dimension, ST_Dump, ST_Intersects, ST_Multi

7.9.11 ST_LineToCurve
Name
ST_LineToCurve Converts a LINESTRING/POLYGON to a CIRCULARSTRING, CURVED POLYGON

Synopsis
geometry ST_LineToCurve(geometry geomANoncircular);

Description
Converts plain LINESTRING/POLYGONS to CIRCULAR STRINGs and Curved Polygons. Note much fewer points are needed
to describe the curved equivalent.
Availability: 1.2.2?
This function supports 3d and will not drop the z-index.
This method supports Circular Strings and Curves

Examples
SELECT ST_AsText(ST_LineToCurve(foo.the_geom)) As curvedastext,ST_AsText(foo.the_geom) As
non_curvedastext
FROM (SELECT ST_Buffer(POINT(1 3)::geometry, 3) As the_geom) As foo;
curvedatext
non_curvedastext
------------------------------------------------------------------| -----------------------------------------------------------------

PostGIS 1.5.1 Manual


233 / 315

CURVEPOLYGON(CIRCULARSTRING(4 3,3.12132034355964 0.878679656440359, | POLYGON((4 3,3.94235584120969 2.41472903395162,3.77163859753386 1.85194970290473


1 0,-1.12132034355965 5.12132034355963,4 3))
| ,3.49440883690764 1.33328930094119,3.12132034355964 0.878679656440359,
|
2.66671069905881 0.505591163092366,2.14805029709527 0.228361402466141,
|
1.58527096604839 0.0576441587903094,1 0,
|
0.414729033951621 0.0576441587903077,-0.148050297095264 0.228361402466137,
|
-0.666710699058802 0.505591163092361,-1.12132034355964 0.878679656440353,
|
-1.49440883690763 1.33328930094119,-1.77163859753386 1.85194970290472
|
--ETC-- ,3.94235584120969 3.58527096604839,4 3))
--3D example
SELECT ST_AsEWKT(ST_LineToCurve(ST_GeomFromEWKT(LINESTRING(1 2 3, 3 4 8, 5 6 4, 7 8 4, 9 10 4))));
st_asewkt
-----------------------------------CIRCULARSTRING(1 2 3,5 6 4,9 10 4)

See Also
ST_CurveToLine

7.9.12 ST_MemUnion
Name
ST_MemUnion Same as ST_Union, only memory-friendly (uses less memory and more processor time).

Synopsis
geometry ST_MemUnion(geometry set geomfield);

Description
Some useful description here.
Note
Same as ST_Union, only memory-friendly (uses less memory and more processor time). This aggregate function works
by unioning the geometries one at a time to previous result as opposed to ST_Union aggregate which first creates an
array and then unions

This function supports 3d and will not drop the z-index.

Examples
See ST_Union

Potrebbero piacerti anche