2017-05-26 20 views
0

座標:緯度と経度は、R

coordinates 
(-73.2566,44.51513) 

私はフォーマット

lat  long 
73.2566 44.51512 

を取得しようとしています私は、これはのように思える知っています比較的簡単な質問ですが、解決策を見つけることができません。私はgsub()関数を使用しようとしましたが、それはかっこを取り除きません。

+1

は、 'pattern =" \\(| \\ "'、gsubの場合は 'replacement =" "'、 '' '' '' '' strsplit'の場合に使用します。 – din

+0

を脇に(あなたが 'google-maps'でこの質問にタグを付けたので)私は[googleway](https://cran.r-project.org/web/packages/googleway/googleway.pdf)を作りました。 )パッケージを使ってGoogle Maps APIにアクセスします。例については、[the vignette](https://cran.r-project.org/web/packages/googleway/vignettes/googleway-vignette.html)を参照してください。 – SymbolixAU

答えて

1
> library(stringr) 
> library(magrittr) 
> "(-73.2566, 44.51513)" %>% # take coord as string 
+ str_replace_all("[()]", "") %>% # replace parantheses 
+ str_split_fixed(", ", n=2) %>% # split up based on comma and space after 
+ as.data.frame %>% # turn this to a data frame 
+ transmute(lat=V1, long=V2) # rename the variables 
     lat  long 
1 -73.2566 44.51513 

あなたは、これらの値のベクトルを持っている場合、それは簡単にbind_rowsのようなものを使用して最後にdata.frameが繰り返しデータセットに追加されます。このfor (i in coords)を行うことによって適合させることができます。この単純な機能(GoogleのAPIを使用する必要が)と

+0

ありがとう、これは非常に役立った、私はそれが私がそれがハハだと思ったよりも簡単だったことを知っていた。 – Bryant

2

試し:グーグルを使用して

google_api <- "https://maps.googleapis.com/maps/api/geocode/json" 
geocode <- function(address, verbose=FALSE) { 
library(httr) 
r <- GET(google_api, query=list(address=address)) 
stop_for_status(r) 
result <- content(r) 
first <- result$results[[1]] 
df <- as.data.frame(list(lat=first$geometry$location$lat, 
lon=first$geometry$location$lng)) 
return(df) 
} 

#example 
geocode("Suzhou New Matro") 
     lat  lon 
1 31.31015 120.6221 

これはほんの少しであるかもしれない関数に各都市のgeocode()戻りますが

+0

私はすでに提供されているポイントを使用することにもっと関心を持っていましたが、この便利な機能をお世話になり、ありがとうございました。 – Bryant

+0

ロレンツォ、あなたの天才! –

1

を要求形式で座標をAPIあまりにも単純だが

> coordinates=c(-73.2566,44.51513) 
> coordinates 
[1] -73.25660 44.51513 
> lat=coordinates[1] 
> lat 
[1] -73.2566 
> long=coordinates[2] 
> long 
[1] 44.51513 

https://www.nceas.ucsb.edu/~frazier/RSpatialGuides/ggmap/ggmapCheatsheet.pdf

でggmapパッケージがあります
+0

偉大なチートシートは、後で参考にするために私のデスクトップに保存していただきありがとうございます! – Bryant