[R-sig-Geo] Difference in coordinates to country conversion

Miluji Sb milujisb at gmail.com
Thu Jan 12 17:07:36 CET 2017


I have a set of coordinates at 1° x 1°  which look like this:

structure(list(longitude = c(-179L, -178L, -177L, -177L, -177L,
-176L), latitude = c(-15L, -15L, -14L, 51L, 52L, -22L)), .Names =
c("longitude",
"latitude"), row.names = c("1", "2", "3", "4", "5", "6"), class =
"data.frame")

I am trying to obtain country names for them and tried the following two
methods. There are some difference (mostly between USA and Canada). While
sometimes method 1 provides a country name but method 2 cannot.

Is there a way to say if either of the methods are more accurate? Or
another more accurate method? Or am I doing something wrong?

Thanks!

Sincerely,

Shouro

library(raster)
library(tmap)
library(rworldmap)
library(countrycode)

# Method 1

{
  countriesSP <- getMap(resolution='low')
  #countriesSP <- getMap(resolution='high') #you could use high res map
from rworldxtra if you were concerned about detail

  # convert our list of points to a SpatialPoints object

  # pointsSP = SpatialPoints(points, proj4string=CRS(" +proj=longlat
+ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0"))

  #setting CRS directly to that from rworldmap
  pointsSP = SpatialPoints(coord_dams,
proj4string=CRS(proj4string(countriesSP)))


  # use 'over' to get indices of the Polygons object containing each point
  indices = over(pointsSP, countriesSP)

  # return the ADMIN names of each country
  indices$ADMIN
  #indices$ISO3 # returns the ISO3 code
  #indices$continent   # returns the continent (6 continent model)
  #indices$REGION   # returns the continent (7 continent model)
}

# Method 2
pts_dams <- SpatialPoints(coord_dams,proj4string=CRS(proj4string(worldmap)))
indices_dams <- over(pts_dams, worldmap,na.rm=TRUE)
indices <- cbind(indices_dams, coord_dams)

#Keep only ISO3, log, lat
foo_dams<-indices[,c(3,12,13)]

	[[alternative HTML version deleted]]



More information about the R-sig-Geo mailing list