Learn R Programming

SDraw (version 2.1.13)

srs.line: Draw a Simple Random Sample (SRS) from a linear resource.

Description

Draws a simple random sample from a SpatialLines* object. The SpatialLines* object represents a 2-dimensional line resource, such as a river, highway, or coastline.

Usage

srs.line(x, n)

Arguments

x

A SpatialLines or SpatialLinesDataFrame object. This object must contain at least 1 line.

n

Sample size. Number of points to draw from the set of all lines contained in x.

Value

A SpatialPointsDataFrame containing locations in the SRS sample, in order along the amalgamated line. Those on line 1 appear first, those on line 2 second, etc. Attributes of the sample points (in the embedded data frame) are as follows:

  • sampleID: A unique identifier for every sample point. sampleID starts with 1 at the first point and increments by one for each. sampleID orders sample points along the amalgamated line.

  • geometryID: The ID of the lines object in x on which each sample point falls. The ID of lines in x are row.names(geometry(x)).

  • Any attributes of the original lines (in x) on which each sample point falls.

Additional attributes of the output object, beyond those which make it a SpatialPointsDataFrame, are:

  • frame: Name of the input sampling frame.

  • frame.type: Type of resource in sampling frame. (i.e., "line").

  • sample.type: Type of sample drawn. (i.e., "SRS").

Details

If x contains multiple lines, the lines are amalgamated before sampling. Conceptually, under amalgamation the lines in x are "stretched" straight and laid end-to-end in order of appearance in x. The simple random sample is then drawn from the amalgamated line. Once drawn from the 1-D amalgamated line, sample points are mapped back to 2-dimensional space to fall on the lines in x.

Note that the line is not discretized prior to sampling. The sample points are selected from the set of continuous lines that contain an infinite number of points (up to machine precision anyway).

See Also

srs.polygon, srs.point, sdraw

Examples

Run this code
# NOT RUN {
# Draw fixed number of equi-distant points
HI.samp <- srs.line( HI.coast, 100 )   
plot( HI.coast, col=rainbow(length(HI.coast)) )
points( HI.samp, col="red", pch=16 )

# Inspect attributes of points with HI.samp@data

# }

Run the code above in your browser using DataLab