-- Einen Punkt erzeugen SELECT ST_AsText(ST_GeometryFromText('POINT(7.77777 7.77777)', 4326)); -- Ein Kreis um einen Punkt zeichnen SELECT ST_AsText(ST_Buffer(ST_GeometryFromText('POINT(-30 -50)', 4326), 10)); -- Schnittmenge zweier kreisförmiger Polygone SELECT ST_AsText( ST_Intersection( ST_Buffer(ST_GeometryFromText('POINT(40 30)', 4326), 10), ST_Buffer(ST_GeometryFromText('POINT(30 40)', 4326), 10) ) ); -- Eine Multigeometrie mit Loch SELECT ST_AsText( ST_Union( ST_Difference( ST_Buffer(ST_GeometryFromText('POINT(0 0)', 4326), 30), ST_Envelope( ST_Buffer(ST_GeometryFromText('POINT(0 0)', 4326), 10) ) ), ST_Envelope( ST_Buffer(ST_GeometryFromText('POINT(-55 -55)', 4326), 10) ) ) ); -- Einen LineString SELECT ST_AsText( ST_MakeLine( subselect.point ) ) FROM ( SELECT ST_MakePoint(r1, r2) AS point FROM generate_series(-45, 45) AS r1, generate_series(0, 2) AS r2 ) as subselect ; -- Ein einfaches Polygon mit Loch SELECT 'POLYGON((0 0, 0 20, 20 20, 20 0, 0 0), (5 5, 5 15, 15 15, 15 5, 5 5))'; -- Informationsabfrage zu obigem Polygon SELECT ST_Area( 'POLYGON((0 0, 0 20, 20 20, 20 0, 0 0), (5 5, 5 15, 15 15, 15 5, 5 5))'::geometry ); -- Rotiere obiges Loch-Polygon SELECT ST_AsText( ST_Rotate( 'POLYGON((0 0, 0 20, 20 20, 20 0, 0 0), (5 5, 5 15, 15 15, 15 5, 5 5))'::geometry, radians(315.0))) ; -- 1000 Zufallspunkte zeichnen (kann ein bisschen dauern) SELECT ST_AsText( ST_Collect( ST_MakePoint( CASE WHEN random() > 0.5 THEN 1 ELSE -1 END * random() * 180, CASE WHEN random() > 0.5 THEN 1 ELSE -1 END * random() * 90 ) ) ) FROM generate_series(1, 1000); -- Zugriff auf in der Datenbank vorgehaltene Liste an Geometrien ${A} --> ${K} SELECT ST_AsText( ST_Collect(subselect.the_geom) ) FROM ( SELECT ${A} AS the_geom UNION SELECT ${B} UNION SELECT ${C} UNION SELECT ${D} UNION SELECT ${E} UNION SELECT ${F} UNION SELECT ${G} UNION SELECT ${H} UNION SELECT ${I} UNION SELECT ${J} UNION SELECT ${K} ) AS subselect;