R trying to find latitude/longitude data for cities in europe and getting geocode error messege

后端 未结 4 592
情书的邮戳
情书的邮戳 2021-02-04 09:46

I recently posted a question regarding plotting postions on cities in europe as points on a map. See R, get longitude/latitude data for cities and add it to my dataframe

4条回答
  •  醉话见心
    2021-02-04 10:10

    You have to geocode just the cities column (it's a little confusing that you have a data frame called cities, and within it a column called cities). When in doubt, try breaking things down into smaller chunks.

    For example, try them one at a time ...

    cities <- c("ARNHEM","ATHENS","BAAR","CAMBRIDGESHIRE")
    library(ggmap)
    geocode(cities[1])
    ##       lon     lat
    ## 1 5.89873 51.9851
    geocode(cities[2])
    ## just checking ...
    geocode("ATHENS GEORGIA")
    ##         lon   lat
    ## 1 -83.38333 33.95
    

    Now try the vector all at once:

    geocode(cities)
    ##          lon      lat
    ## 1  5.8987296 51.98510
    ## 2 23.7293097 37.98372
    ## 3  8.5286332 47.19585
    ## 4  0.0965375 52.27619
    

    Now try with a data frame:

    mydat <- read.csv(textConnection("
       cities,Freq,lon,lat
       ARNHEM,1.00,NA,NA
       ATHENS,3.25,NA,NA
       BAAR,1.00,NA,NA
       BAD VILBEL,1.00,NA,NA
       BILTHOVEN,1.00,NA,NA
       BOGUS_PLACE,2,NA,NA"))
    
    
    geocodes <- geocode(as.character(mydat$cities))
    mydat <- data.frame(mydat[,1:2],geocodes)
    
    ##               cities Freq        lon      lat
    ## 1             ARNHEM 1.00   5.898730 51.98510
    ## 2             ATHENS 3.25  23.729310 37.98372
    ## 3               BAAR 1.00   8.528633 47.19585
    ## 4         BAD VILBEL 1.00   8.739480 50.18234
    ## 5          BILTHOVEN 1.00   5.210381 52.13653
    ## 6        BOGUS_PLACE 2.00 -92.201158 44.49091
    

    I don't know what the result for BOGUS_PLACE means ...!!

提交回复
热议问题