[R-sig-Geo] speed problem with %over% function

Bastien.Ferland-Raymond at mrnf.gouv.qc.ca Bastien.Ferland-Raymond at mrnf.gouv.qc.ca
Mon Feb 27 15:54:39 CET 2012


Dear geo-list,

I'm just starting using R and the rgdal package to manage and create some shapes and I am hitting some speed issues while using the %over% function. R is significantly slower than ArcGIS.

Here is what I'm doing (I've shorten the code to make it easier to follow, I don't expect it to be reproducible).

# I first load a shape giving the perimeter of the territory of interest
terr <- readOGR("D:\\Couches GIS\\06152\\contour", "contour_carto06152_Project")

# I then want to make a grid of points.  The grid is very dense and rectangular
# to do so, I first make a gridtopology
grille.plac.temp1 <- GridTopology(...)

# and get all the coordinates from the grid
grille.plac.temp2 <- coordinates(grille.plac.temp1)

# and finally transform it to a SpatialPointsDataFrame object
grille.plac <- SpatialPointsDataFrame(grille.plac.temp2,data.frame(1:nrow(grille.plac.temp2)),proj4string =CRS(proj4string(terr)))

# The grid is very big as it is a rectangle in which you can fit the territory shape
# (which is of irregular shape). I then want to reduce it's size by keeping only
# to points from the grid that are in the territory.  I use the %over% function to do
# that.  This is the slow part.
system.time(plac.dans.contour<-grille.plac%over%contour)
   user  system elapsed
1420.23    9.57 1435.17

# I then make a new shape with only the points from the grid that are in the territory
grille.plac.reduce <- grille.plac[as.vector(!is.na(plac.dans.contour)),]


This code works fine and produce what I want it to produce. However, the %over% functions takes 24 minutes to run, while ArcGIS can run it in less than 1 minute with the intersect tool.  Is there a more efficient function than %over% to do what I want?  Is it normal that ArcGIS is that much faster than R in that case?

Thanks for your help,

Bastien Ferland-Raymond, M.Sc. Stat., M.Sc. Biol.
Division des orientations et projets spéciaux
Direction des inventaires forestiers
Ministère des Ressources naturelles et de la Faune du Québec



More information about the R-sig-Geo mailing list