Point Patterns of New Brunswick Forest Fires

Point patterns created from yearly records, provided by the New Brunswick Department of Natural Resources, of all fires falling under their jurisdiction for the years 1987 to 2003 inclusive (with the year 1988 omitted until further notice).

datasets, spatial

The coordinates of the fire locations were provided in terms of latitude and longitude, to the nearest minute of arc. These were converted to New Brunswick stereographic projection coordinates (Thomson, Mephan and Steeves, 1977) which was the coordinate system in which the map of New Brunswick --- which constitutes the observation window for the pattern --- was obtained. The conversion was done using a C program kindly provided by Jonathan Beaudoin of the Department of Geodesy and Geomatics, University of New Brunswick. Finally the data and window were rescaled since the use of the New Brunswick stereographic projection coordinate system resulted in having to deal with coordinates which are expressed as very large integers with a bewildering number of digits. Amongst other things, these huge numbers tended to create very untidy axis labels on graphs. The width of the bounding box of the window was made equal to 1000 (nameless) units. In addition the lower left hand corner of this bounding box was shifted to the origin. The height of the bounding box was changed proportionately, resulting in a value of approximately 959. The window for the fire patterns comprises 6 polygonal components, consisting of mainland New Brunswick and the 5 largest islands. Some lakes which should form holes in the mainland component are currently missing; this problem may be remedied in future releases. The window was formed by simplifying the map that was originally obtained. The simplification consisted in reducing (using an interactive visual technique) the number of polygon edges in each component. For instance the number of edges in the mainland component was reduced from over 138,000 to 500. For some purposes it is probably better to use a discretized (mask type) window. See Examples. Because of the coarseness of the coordinates of the original data (1 minute of longitude is approximately 1 kilometer at the latitude of New Brunswick), data entry errors, and the simplification of the observation window, many of the original fire locations appeared to be outside of the window. This problem was addressed by shifting the location of the outsider points slightly, or deleting them, as seemed appropriate. The columns of the data frame comprising the marks of nbfires are: [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object] Note that due to data entry errors some of the out dates and out times in the original data sets were actually earlier than the corresponding discovery dates and discover times. In such cases all corresponding entries of the marks data frame (i.e. dis.date, dis.julian, out.date, and out.julian) were set equal to NA. Also, some of the dates and times were missing (equal to NA) in the original data sets. The ignition source data were given as integer codes in the original data sets. The code book that I obtained gave interpretations for codes 1, 2, ..., 15. However the actually also contained codes of 0, 16, 17, 18, and in one instance 44. These may simply be data entry errors. These uninterpretable values were assigned the level unknown. Many of the years had most, or sometimes all, of the ignition source codes equal to 0 (hence turning out as unknown, and many of the years had many missing values as well. These were also assigned the level unknown. Of the 7108 fires in nbfires, 4354 had an unknown ignition source. This variable is hence unlikely to be very useful. There are also anomalies between cause and ign.src, e.g. cause being unknown but ign.src being cigs, burn.no.perm, mach.spark, hot.flakes, dump.fire or ashes. Particularly worrisome is the fact that the cause ltning (!!!) is associate with sources of ignition cigs, burn.w.perm, presc.burn, and wood.spark.


Executing data(nbfires) creates two objects: nbfires and nbw.rect. The object nbfires is a marked point pattern (an object of class "ppp") consisting of all of the fires in the years 1987 to 2003 inclusive, with the omission of 1988. The marks consist of a data frame of auxiliary information about the fires; see Details. Patterns for individual years can be extracted using the function split.ppp(). (See Examples.) The object nbw.rect is a rectangular window which covers central New Brunswick. It is provided for use in illustrative and practice calculations inasmuch as the use of a rectangular window simplifies some computations considerably.


The data were kindly provided by the New Brunswick Department of Natural Resources. Special thanks are due to Jefferey Betts for a great deal of assistance.


Turner, Rolf. Point patterns of forest fire locations. Environmental and Ecological Statistics 16 (2009) 197 -- 223, doi:10.1007/s10651-007-0085-1. Thomson, D. B., Mephan, M. P., and Steeves, R. R. (1977) The stereographic double projection. Technical Report 46, University of New Brunswick, Fredericton, N. B., Canada URL: gge.unb.ca/Pubs/Pubs.html.

  • nbfires
  • nbextras
  • nbw.rect
# Get the year 2000 data.
X <- split(nbfires,"year")
Y.00 <- X[["2000"]]
# Plot all of the year 2000 data, marked by fire type.
# Cut back to forest and grass fires.
Y.00 <- Y.00[marks(Y.00)$fire.type %in% c("forest","grass")]
# Plot the year 2000 forest and grass fires marked by fire duration time.
stt  <- marks(Y.00)$dis.julian
fin  <- marks(Y.00)$out.julian
marks(Y.00) <- cbind(marks(Y.00),dur=fin-stt)
# Look at just the rectangular subwindow (superimposed on the entire window).
nbw.mask <- as.mask(nbfires$window, dimyx=500)
plot(nbw.mask, col=c("green", "white"))
plot(nbfires$window, border="red", add=TRUE)
# Look at the K function for the year 2000 forest and grass fires.
K.00 <- Kest(Y.00)
Documentation reproduced from package spatstat, version 1.23-3, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.