Read/Write polygon and contour information from/to a text file.
read.polyfile(filename, nohole = TRUE)
write.polyfile(poly, filename = "GPCpoly.txt")
the name of the file (a character string) from/to which data should be read/written.
Is this a polygon without holes?
an object of class "gpc.poly"
If nohole
is TRUE
(the default) read.polyfile
returns an object of class "gpc.poly.nohole"
. This object has
the hole flag set to FALSE
for all contours. If nohole
is
FALSE
, then an object of class "gpc.poly"
is
returned.
write.polyfile
does not return anything useful.
The text file representation of a polygon is of the following format:
<number of contours> <number of points in first contour> x1 y1 x2 y2 ... <number of points in second contour> x1 y1 x2 y2 ...
For example, a data file for a polygon with 2 contours (a four-sided object and a triangle) might look like:
2 4 1.0 1.0 1.0 2.0 3.4 3.21 10 11.2 3 21.0 11.2 22.3 99.2 4.5 5.4
The vertices of the polygon can be ordered either clockwise or counter-clockwise.
If a polygon has contours which are holes, then the format is slightly different. Basically, a flag is set to indicate that a particular contour is a hole. The format is
<number of contours> <number of points in first contour> <hole flag> x1 y1 x2 y2 ... <number of points in second contour> <hole flag> x1 y1 x2 y2 ...
The hole flag is either 1 to indicate a hole, or 0 for a regular contour. For example, a four-sided polygon with a triangular hole would be written as:
2 3 1 4.0 4.0 6.0 5.0 5.0 6.0 4 0 2.0 1.0 8.0 2.0 7.0 9.0 1.0 7.0
# NOT RUN {
## None right now.
# }
Run the code above in your browser using DataLab