Страница 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)).