[GRASS-user] Working with USA Public Land Survey System

Dylan Beaudette dylan.beaudette at gmail.com
Thu Aug 31 12:54:17 EDT 2006


On Wednesday 30 August 2006 18:14, Henry House wrote:
> I have a set of surveyed-section boundaries* for northern California
> from the United States Public Land Survey System and would like to use
> GRASS to find geometric fractions of these roughly square sections.
> For example, I would like to divide a particular section into equal
> quarters by bisecting it east-west and north-south and then save the
> northwest quarter for further analysis. Can anyone suggest a method to
> do this acurately?
>
> * Used for legal descriptions of parcels given in terms of townships and
>   ranges.

Hi Henry,

I think that the approach suggested by Hamish will work, but only when using a 
projection where the PLSS sections area oriented _exactly_ NS and EW. For 
example, looking at the PLSS data in the AEA projection that we use for many 
things, the sections are _not_ oriented as such:

http://169.237.35.250/~dylan/temp/plss1.png

However, there is an 'angle' operator in the v.mkgrid module, which may be 
able to account for this- although I cannot think of an _automated_ approach 
to deriving this angle.

I have extracted a single section, marked red in the above image, like this:

v.extract in=pls out=pls1 list=80800

where 80800 is the cat, or feature id, of the section of interest. Zooming to 
the extents of this section:

g.region vect=pls1

http://169.237.35.250/~dylan/temp/plss2.png

looking at the options for v.mkgrid:

Parameters:
       map   name of vector map
      grid   number of ROWS and COLUMNS in grid
  position   Where to place the grid:
        region - current region
        coor - use 'coor' and 'box' options
             options: region,coor
             default: region
      coor   lower left EASTING and NORTHING coordinates of map
       box   WIDTH and HEIGHT of boxes in grid
     angle   angle of rotation (in degrees counter-clockwise)
             default: 0

.... it looks like we might be able to define the grid in terms of a 
lower-left point, and the width and height of grid cells, and an angle of 
rotation.

this will require some math, but might easily be accomplished with some right 
triangle-based trig.

fitting the region to _exactly_ that of the bounding box of our extracted 
section: 
 g.region `v.info -g pls1  | awk ' {gsub("north","n"); gsub("south","s") ; 
gsub("east","e") ; gsub("west","w"); gsub("top","t") ; gsub("bottom","b")} 
$1 !~ /b|t/ {print $0}' | tr "\n" " "` -p

extracting vertices of selected section: can do this with v.out.ascii and awk, 
or with v.to.points

will post some more ideas later.

good luck!

cheers,

Dylan







-- 
Dylan Beaudette
Soils and Biogeochemistry Graduate Group
University of California at Davis
530.754.7341




More information about the grass-user mailing list