ST_CreateFishnet2B çokgen geometrileri ızgarası oluşturan bir set döndürme işlevi :
CREATE OR REPLACE FUNCTION ST_CreateFishnet(
nrow integer, ncol integer,
xsize float8, ysize float8,
x0 float8 DEFAULT 0, y0 float8 DEFAULT 0,
OUT "row" integer, OUT col integer,
OUT geom geometry)
RETURNS SETOF record AS
$$
SELECT i + 1 AS row, j + 1 AS col, ST_Translate(cell, j * $3 + $5, i * $4 + $6) AS geom
FROM generate_series(0, $1 - 1) AS i,
generate_series(0, $2 - 1) AS j,
(
SELECT ('POLYGON((0 0, 0 '||$4||', '||$3||' '||$4||', '||$3||' 0,0 0))')::geometry AS cell
) AS foo;
$$ LANGUAGE sql IMMUTABLE STRICT;
burada nrowve ncolsatır ve sütun sayısıdır, xsizeve ysizehücre boyutu uzunlukları ve isteğe bağlı x0ve y0alt sol köşesinde koordinatları vardır.
Sonucudur rowve colsayılar, sol alt köşede, ve en 1'den başlayarak geom, her bir hücre için dikdörtgen çokgen. Yani örneğin:
SELECT *
FROM ST_CreateFishnet(4, 6, 10, 10) AS cells;
row | col | geom
-----+-----+--------------------------------
1 | 1 | 0103000000010000000500000000...
2 | 1 | 0103000000010000000500000000...
3 | 1 | 0103000000010000000500000000...
4 | 1 | 0103000000010000000500000000...
1 | 2 | 0103000000010000000500000000...
2 | 2 | 0103000000010000000500000000...
...
3 | 6 | 0103000000010000000500000000...
4 | 6 | 0103000000010000000500000000...
(24 rows)
Veya tüm ızgara için tek bir geometri koleksiyonu yapmak için:
SELECT ST_Collect(cells.geom)
FROM ST_CreateFishnet(4, 6, 10, 10) AS cells;

x0/ y0Origin ofsetlerini ekleyebilirsiniz (bunlar varsayılan olarak sıfırdır).