道路を使用してGPS位置を比較し、データにエラーがないことを確認する必要があります。
ローマ市の情報があるサイトからmap.osmをダウンロードし、Rの空間線に変換しました。
src <- osmsource_file(file = "rome.osm")
bb <- center_bbox(41.9, 12.3, 1000, 1000)
rome <- get_osm(bb, src)
ways <- find(rome, way(tags(k == "highway")))
ways <- find_down(rome, way(ways))
ways <- subset(rome, ids = ways)
hw_lines <- as_sp(ways, "lines")
したがって、空間線オブジェクトでdistm関数を使用しようとしましたが、空間オブジェクトを使用できない(適切な形式ではない)と非難されています。
OSMを使用して、RのGPSデータと比較できる道路のみの情報を取得する別の方法はありますか?
distm
Rのパッケージgeosphereからの関数で、ポイントからポイントまたは空間オブジェクトへのポイント間の距離を計算し、2番目のケースで行列を返します。`a <-distm(c(taxi $ lat [1]、taxi $ lon [1])、hw_lines、fun = distHaversine)`エラーは「Error in .pointsToMatrix(y):points should be vectors of length 2、 2列の行列、またはSpatialPoints *オブジェクトから継承。as_sp
osmarパッケージから、読み込まれたOSMオブジェクトを空間オブジェクトに変換します。> class(hw_lines)
[1] "SpatialLinesDataFrame"
attr(,"package")
[1] "sp"
distm
の機能は?何を試したかとエラーメッセージを表示できますか?道路網上のいくつかのポイントから最も近いポイントまでの距離を計算しようとしていますか?