I need to create transect lines across polygons for planning aerial surveys for musk oxen and caribous in Greenland.
1. In QGIS I have made polygons of the polygon zones for each survey. Each polygon hold an attribute of spacing value, e.g. 5, 10 and 20 km.
2. Lines must be equally spaced and parallel.
3. Lines must be perpendicular to the polygon centerline.
4. Centerline must run at the longest distance across the polygon - and consequently the transects run as the shorter distances.
I've attached a hand made sketch, which display the concept.
I've tried this query
SELECT GENERATE_SERIES(FLOOR(ST_YMin(the_polygon))::int , CEILING(ST_YMax(the_polygon))::int,200) y_value, ST_XMin(the_polygon) x_min, ST_XMax(the_polygon) x_max from
(SELECT the_geom AS the_polygon FROM lakes) l
SELECT ST_Intersection(the_geom, the_polygon) AS the_geom FROM
(SELECT the_polygon, ST_Setsrid(ST_MakeLine(ST_MakePoint(x_min, y_value),ST_MakePoint(x_max, y_value) ), ST_Srid(the_polygon)) AS the_geom FROM
(SELECT the_polygon, GENERATE_SERIES(FLOOR(ST_YMin(the_polygon))::int , CEILING(ST_YMax(the_polygon))::int,200) y_value, ST_XMin(the_polygon) x_min, ST_XMax(the_polygon) x_max from
(SELECT the_geom AS the_polygon FROM lakes) l
)c
) lines
however these transects runs horisontally and don't seem to take into account the shape and rotation of the polygon centerline.
Should I be able to change the query or should take a different approach?
Karl Zinglersen