2017-02-27 3 views
1

ggmapのroute()関数を使用してマップ上にオーバーレイできるgeomを作成しようとしています。ggmap route関数を使用したリストエラー

私は、「緯度、経度」形式でリストされた場所のリストをチェックポイントというリストに持っています。 1-2からすなわち順番に場​​所の各セットにルート機能を実行しようとしている

list("40.775912, -74.012619", "40.775912, -74.012619", "40.782669, -74.008143", 
"40.788587, -74.000447", "40.805952, -73.991671", "40.821177, -73.987895", 
"40.836634, -73.978271", "40.845806, -73.971319", "40.855106, -73.967628", 
"40.859186, -73.972037", "40.862502, -73.969255", "40.863977, -73.968383", 
"40.860894, -73.968126", "40.856154, -73.972603", "40.852727, -73.965511", 
"40.850897, -73.965913", "40.850939, -73.968064", "40.846506, -73.970819", 
"40.836634, -73.978271", "40.821177, -73.987895", "40.806622, -73.991894", 
"40.788587, -74.000447", "40.782669, -74.008143", "40.775912, -74.012619") 

イムその後、2-3 ...

routes <- lapply(2:length(checkpoints), 
      function(x) route(from = checkpoints[[x-1]], 
           to = checkpoints[[x]], 
           mode = "driving", 
           output = "simple")) 

コードは10ステップまでのすべての時間を実行しますその後、私はこのエラーを取得する:

Error: (list) object cannot be coerced to type 'integer' 

私はルートデータの10のエントリ私は、それ何も望むようのリストを巻きます。 Iveはapply関数内のチェックポイントリストのリストを解除しようとしましたが、それでも何らかの理由で10番目のステップを過ぎていません。どんな助けもありがとう。また形式や礼儀の間違いをお許しください。これは基本的に私の最初の質問です。

+0

seconding @Axeman、私はここで見るためのデータセットを含めるだろう。第10列を印刷して、それについて特別なことを見ることもできます。最後に;このような場合、私は常に不正行為をお勧めします。リストをチェックポイント< - as.data.table(as.character(checkpoints))のデータテーブルに強制的に移動してから、もう一度実行します。 – ike

答えて

1

エラーはあまり有益ではありませんが、これは、この種の情報に対してGoogleのAPIを呼び出す頻度に制限があるためです。また、あなたは非常に多くのクエリにあなたがggmap::routeQueryCheck()に確認することができます日を、のみを行うことができますのでご注意

lapply(2:nrow(checkpoints), 
     function(x) { 
      Sys.sleep(1) 
      ggmap::route(from = checkpoints[[x-1]], 
         to = checkpoints[[x]], 
         mode = "driving", 
         output = "simple") 
      }) 

:私たちは、それが正常に動作せスリープコマンドを使用して、私たちのコールレートを制限することができます。

+1

ありがとうございました – Zaqq

関連する問題