【R】逆ジオコーディング

ふと、逆ジオコーディングしたくなったのですが、いろいろ試行錯誤した結果、Rでは、rev_geocode_SOMを使うのが一番簡単なのではと思いました。

library(tmaptools)
library(tmap)

data(metro)

five_cities <- metro[sample(length(metro), 5), ]

addresses <- rev_geocode_OSM(five_cities, zoom = 6)
> addresses
          x         y                                            name  place_id
1 151.20732 -33.86785                      New South Wales, Australia 258358609
2 144.96332 -37.81400                             Victoria, Australia 258485852
3 -60.63932 -32.94682       Departamento Rosario, Santa Fe, Argentina 258774388
4 -64.18105 -31.41350 Departamento Capital, Cordoba, X5000, Argentina 297910991
5 153.02809 -27.46794                           Queensland, Australia 258653091
  osm_type  osm_id                  ref       lat       lon   lat_min    lat_max
1 relation 2316593                  NSW -31.87598 147.28695 -37.52801 -28.141526
2 relation 2316741                  VIC -36.59861 144.67801 -39.19849 -33.980797
3 relation 3442021 Departamento Rosario -33.09741 -60.71363 -33.36220 -32.829403
4 relation 1862787 Departamento Capital -31.41113 -64.18369 -31.52513 -31.307525
5 relation 2316595                  QLD -22.16468 144.58449 -29.17927  -9.088012
    lon_min   lon_max   country country_code postcode           state
1 140.99926 159.33903 Australia           au     <NA> New South Wales
2 140.96190 150.03328 Australia           au     <NA>        Victoria
3 -61.00171 -60.37153 Argentina           ar     <NA>        Santa Fe
4 -64.31010 -64.05725 Argentina           ar    X5000         Cordoba
5 137.99465 153.61160 Australia           au     <NA>      Queensland
        state_district
1                 <NA>
2                 <NA>
3 Departamento Rosario
4 Departamento Capital
5                 <NA>

こちらのページにあるように、以下の4つほど候補があるようですが、僕の使い方では、tmaptoolsで十分かと。

  • Google Maps API
  • Photon
  • Maps Package
  • sp and rgdal Packages

時間があれば、他も試してみたい。できれば無料のサービスがいいなあ。

Add a Comment

メールアドレスが公開されることはありません。