0

Rのosmarパッケージには、demo("navigator"). パッケージの機能と機能を説明するために提供されています。スクリプトを実行すると、次の行とエラーが表示されます。

R> muc <- get_osm(muc_bbox, src)
sh: osmosis: command not found
Error in file(con, "r") : cannot open the connection
In addition: Warning message:
In file(con, "r") :
  cannot open file '/var/folders/81/4k487q0969q1d8rfd1pyhyr40000gs/T//RtmpdgZSOy/file13a473cb904c': No such file or directory

このコマンドは、osmosisデータ オブジェクトをオブジェクトに変換するためのosmarものです。MacOSX 用の osmosis を適切にインストールし、bash シェルのパス定義を更新して、osmosis 実行可能ファイルを指すようにしました。

エラー メッセージが何を意味し、どのように対応すればよいかわかりません。どんな助けでもブラッドに感謝

4

2 に答える 2

1

ねえ、私はこのことを機能させました。問題は、osmosis のシステム パス変数にはありません。これは、「gzip」アプリケーションを使用して、以前にダウンロードした .gz ファイルを解凍するスクリプトが作成するシステム コールと一緒です。そのため、マシンに gzip がインストールされていないか、gzip がシステム パス変数にない場合、エラーが発生します。したがって、gzip をインストールしてパス変数に追加すると、このエラーが軽減されます。または、ファイルを手動で同じパスに解凍し、スクリプトを再度実行することもできます。

于 2012-12-24T15:51:26.097 に答える
1

Rを再起動しましたか?あなたはそれを設定したと述べていますが、浸透はあなたの道にないようです。ターミナルで osmosis コマンドのいずれかを実行できることを確認してください。

osmosis  --read-xml SloveniaGarmin.osm --tee 4 --bounding-box left=15 top=46 --write-xml SloveniaGarminSE.osm --bounding-box left=15 bottom=46 --write-xml SloveniaGarminNE.osm --bounding-box right=15 top=46 --write-xml SloveniaGarminSW.osm --bounding-box right=15 bottom=46 --write-xml SloveniaGarminNW.osm 

osmosisこの例は、ファイルが見つからないことを示していない限り、無関係です。

また、gzipパスにあることを確認してください。デフォルトであることはほぼ確実ですが、demoパッケージはこれに依存して実行されます。ターミナルを開いて入力gzipするだけで、そこにあることを確認できます。

最後に、これをデバッグする必要がある場合は、次を実行します。

library(osmar)
download.file("http://osmar.r-forge.r-project.org/muenchen.osm.gz","muenchen.osm.gz")
system("gzip -d muenchen.osm.gz")
# At this point, check the directory listed by getwd(). It should contain muenchen.osm.
src <- osmsource_osmosis(file = "muenchen.osm",osmosis = "osmosis")
muc_bbox <- center_bbox(11.575278, 48.137222, 3000, 3000)
debug(osmar:::get_osm_data.osmosis)
get_osm(muc_bbox, src)
# Press Enter till you get to
# request <- osm_request(source, what, destination)
# Then type request to get the command it is sending.

Enter を 1 回入力requestすると、OS に送信されている文字列が取得されます。次のようになります。

osmosis --read-xml enableDateParsing=no file=muenchen.osm --bounding-box top=48.1507120588903 left=11.5551240885889 bottom=48.1237319411097 right=11.5954319114111 --write-xml file=<your path>

これをターミナルに貼り付けてみてください。どのディレクトリからでも動作するはずです。

ああ、undebug(osmar:::get_osm_data.osmosis)デバッグを停止するには、次のように入力します。と入力Qしてデバッガを終了します。

于 2012-07-24T01:19:39.090 に答える