Jump to content
Ornithology Exchange (brought to you by the Ornithological Council)

Exporting FlightR's plot_util_distr to ArcGIS

Recommended Posts

#Package FLightR version 0.4.6


I have been using FlightR to analyze geolocator data for Grasshopper Sparrows, and I have been really pleased. I am wondering, however, if there is a way to export the kernel density results from the plot_util_distr command into ArcGIS. 


Exporting the median (w/ 95% CRI) lat/long values for use in ArcGIS (via "add XY data") is easy enough: 



But what about exporting the utilization distributions to ArcGIS for replotting and further manipulation?


plot_util_distr(particle.filter.results, dates=data.frame(as.POSIXct('2015-12-01'), as.POSIXct('2016-02-01')),

                percentiles=c(0.5,0.9), save.options = list(filename="winter.pdf"))


I've tried saving or converting the plot object to a SpatialPolygonsDataFrame but I don't know of a way to coerce a 'list' into a SpatialPolygonsDataFrame.


I suppose that I could draw the winter.pdf file with a blank background (then geo-reference the winter.pdf file) and bring that file into ArcGIS with the georeference toolbar. That would not be a parsimonious option for my 30+ birds and I still couldn't manipulate the results in ArcGIS (I could only view them).

Thanks for your help and suggestions everyone,




Link to comment
Share on other sites

  Hi Jason,

I have changed the function and it produces spatialpoygonsdataframe now. So update the package to github version and try

writeOGR(tmp$res_buffers, ".", "result", driver="ESRI Shapefile")

  Hope this helps,



Link to comment
Share on other sites

  • 2 weeks later...

I'm getting a new-to-me error message now with the plot_util_distr and map.FLightR.ggmap commands using the newly-updated version of FLightR:








produce the same error

Error in get("f", environment(CoordMap$train)) : object 'f' not found


Tried installing newest version of ggplot and ggmap

Tried installing development version of those packages using


No difference.

This appears to be a known issue with ggmap



Solution: reinstall version 2.6.1, don't know why this fixes it.

install.versions('ggmap', '2.6.1')
Link to comment
Share on other sites

Eldar, Definitely not a fault with FLightR but thank you very much for the offer of help. I think this is a Grid x ggmap x ggplot2 problem that I have worked around somehow. I have found that manually loading the grid graphics engine (library(grid)), before running the ggmap command, often makes these errors go away. I have no idea why. Problem solved for now.

Link to comment
Share on other sites

  Good, I have submitted suggestion for correction of this issue to ggmap. Will see when they will reply. For now one should either type


before using ggmap related functions or install my ggmap version


  Thanks for solving the issue.

Link to comment
Share on other sites

  • 2 weeks later...

Dear Eldar,


I have a possibly related error message when running the plotting function:


Error: longitude of center must be between -180 and 180 degrees. note ggmap uses lon/lat, not lat/lon.
In addition: Warning message:
In min(Result$Results$Quantiles$Medianlon[twilights.index][Result$Results$Quantiles$Medianlon[twilights.index] >  :
  no non-missing arguments to min; returning Inf



Interestingly this only happens when using certain grid boundaries for the spatial extent.

So far I could trigger the error as soon as I extended the right boundary above lon -160 e.g.,


Grid<-make.grid(left=160, bottom=-80, right=-140, top=-10,
                distance.from.land.allowed.to.use=c(-Inf, Inf),
                distance.from.land.allowed.to.stay=c(-Inf, Inf))


will trigger it while


Grid<-make.grid(left=160, bottom=-80, right=-160, top=-10,
                distance.from.land.allowed.to.use=c(-Inf, Inf),
                distance.from.land.allowed.to.stay=c(-Inf, Inf))


does not produce an error.

UPDATE: It actually seems only to occur when a position with longitude >-160 (e.g., -140) is plotted!



My feel is that this is also a ggmap related issue.


I don't think it is related as it is a sp error, but I get an error message when running plot_util_distr:


+                 dates=data.frame(as.POSIXct('2016-03-03'), as.POSIXct('2016-08-07')),
+                 add.scale.bar=TRUE, percentiles=0.5)
function will plot 308 twilights
Error in sp::CRS(aeqd) : major axis or radius = 0 or not given


I am very thankful about your comments on this.


All the best and keep up the great work Eldar!,



Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...