Locate polygons on the current plot (using the locator
function).
locatePolys (pdata, n = 512, type = "o", ...)
PolySet with projection
attribute equal to the map's
projection. The function does not set the zone
attribute.
PolyData (optional) with
columns PID
and SID
(optional), with two more
optional columns n
and type
.
maximum number of points to locate.
one of "n"
, "p"
, "l"
, or
"o"
. If "p"
or "o"
, then the points are
plotted; if "l"
or "o"
, then the points are joined by
lines.
Nicholas M. Boers, Staff Software Engineer
Jobber, Edmonton AB
Last modified Rd: 2007-06-06
This function allows its user to define polygons with mouse clicks on
the current plot via the locator
function. The
arguments n
and type
are the usual parameters for the
locator
function, but the user can specify them for each
individual (PID
, SID
) in a pdata
object.
If a pdata
object exists, the function ignores columns other
than PID
, SID
, n
, and type
. If pdata
includes n
, then an outer boundary has n > 0
and an
inner boundary has n < 0
.
On exit from locator
, suppose the user defined m
vertices for a given polygon. For that polygon, the X
and
Y
columns will contain NA
s where POS =
(
m+1):n
for outer-boundaries and POS =
(|n|-
m):1
for inner-boundaries. The
na.omit
function can remove rows with NA
s.
If a pdata
object does not exist, the output contains only one
polygon with a PID
equal to 1. One inner-boundary polygon
(POS
goes from n
to 1
) can be generated by
supplying a negative n
.
If type = "o"
or type = "l"
, the function draws a line
connecting the last and first vertices.
addPolys
,
appendPolys
,
clipPolys
,
closePolys
,
findCells
,
findPolys
,
fixPOS
,
joinPolys
,
plotMap
,
plotPolys
,
thickenPolys
,
thinPolys
.
#--- define one polygon with up to 5 vertices on the current plot
if (FALSE) polys <- locatePolys(n = 5)
Run the code above in your browser using DataLab