Страница 1 из 1
Как разбить прямоугольный полигон?
Добавлено: 02 окт 2011, 17:20
VolandF
Здравствуйте!! Имеется полигон (долгота.широта), храниться в postgis 1.5 .
Как разбить его на квадратные полигоны с определённым шагом ?
Re: Как разбить прямоугольный полигон?
Добавлено: 02 окт 2011, 20:23
Aleksandr Dezhin
Можно например так:
Код: Выделить всё
SELECT ST_Intersection(test.geom, box.geom)
FROM test INNER JOIN
(
SELECT ST_SetSRID(ST_MakeBox2D(ST_Point(x,y), ST_Point(x+1, y+1)), 4326) AS geom
FROM generate_series(-180, 180-1, 1) x, generate_series(-90, 90-1, 1) y
) box ON ST_Intersects(test.geom, box.geom)
То есть вначале собираем сетку из полигонов 1x1 гр, и поэлементно вычисляем пересечение с исходным полигоном(в примере он берется из таблички test).
Re: Как разбить прямоугольный полигон?
Добавлено: 02 окт 2011, 21:40
VolandF
Спасибо за ответ, но сетка должна быть 0,5 х 0,5 гр.,
поэтому заюзал st_translate('POLYGON', 0.5, 0.5)).