ST_MakeGridPoints
Signature
TABLE[NODE_GEOM, ID, ID_COL, ID_ROW]
ST_MakeGridPoints(GEOMETRY geom,
DOUBLE deltaX, DOUBLE deltaY);
TABLE[NODE_GEOM, ID, ID_COL, ID_ROW]
ST_MakeGridPoints(VARCHAR tableName,
DOUBLE deltaX, DOUBLE deltaY);
Description
Calculates a regular grid of POINTs based on a single Geometry
geom or a table tableName of Geometries with deltaX and
deltaY as offsets in the Cartesian plane.
Examples
Using a Geometry
CREATE TABLE grid AS SELECT * FROM
ST_MakeGridPoints('POLYGON((0 0, 2 0, 2 2, 0 0))'::GEOMETRY, 1, 1);
SELECT * FROM grid;
Answer:
NODE_GEOM |
ID |
ID_COL |
ID_ROW |
|---|---|---|---|
POINT(0.5 0.5) |
0 |
1 |
1 |
POINT(1.5 0.5) |
1 |
2 |
1 |
POINT(0.5 1.5) |
2 |
1 |
2 |
POINT(1.5 1.5) |
3 |
2 |
2 |
Using a table
CREATE TABLE TEST(THE_GEOM GEOMETRY);
INSERT INTO TEST VALUES ('POLYGON((0 0, 2 0, 2 2, 0 0))');
CREATE TABLE grid AS SELECT * FROM
ST_MakeGridPoints('TEST', 1, 1);
SELECT * FROM grid;
Answer:
NODE_GEOM |
ID |
ID_COL |
ID_ROW |
|---|---|---|---|
POINT(0.5 0.5) |
0 |
1 |
1 |
POINT(1.5 0.5) |
1 |
2 |
1 |
POINT(0.5 1.5) |
2 |
1 |
2 |
POINT(1.5 1.5) |
3 |
2 |
2 |
Using a subquery to construct a Geometry
CREATE TABLE TEST2(THE_GEOM GEOMETRY);
INSERT INTO TEST2 VALUES
('POLYGON((0 0, 2 0, 2 2, 0 0))'),
('POLYGON((1 1, 2 2, 1 2, 1 1))');
CREATE TABLE grid AS SELECT * FROM
ST_MakeGridPoints(
(SELECT ST_Union(ST_Accum(THE_GEOM)) FROM TEST2), 1, 1);
SELECT * FROM grid;
Answer:
NODE_GEOM |
ID |
ID_COL |
ID_ROW |
|---|---|---|---|
POINT(0.5 0.5) |
0 |
1 |
1 |
POINT(1.5 0.5) |
1 |
2 |
1 |
POINT(0.5 1.5) |
2 |
1 |
2 |
POINT(1.5 1.5) |
3 |
2 |
2 |
