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

Hamish hamish_nospam at yahoo.com
Thu Aug 31 22:52:26 EDT 2006


> 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.

Dylan Beaudette wrote:
> 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


If true N-S E-W grid is wanted, why not just run v.mkgrid in a lat-lon
location and reproject that to the target location with v.proj?

IIRC, v.mkgrid breaks the line ~ 3 times per box, so results can look
quite nice even when "curved". I think this is how Markus made this
screenshot?

http://grass.ibiblio.org/grass60/screenshots/images/etopo2_grass_laea_9_48N_0E.jpg



Hamish




More information about the grass-user mailing list