問題タブ [osrm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2056 参照

algorithm - OSRM で単一ソースの最短パスを計算する方法は?

最近、 OSRMルーティング ライブラリをいじっています。最短経路問題を解くのに非常に効率的であると思われます。ただし、それを使用して単一ソースの最短パスを計算する方法がわかりませんでした。より正確には、固定された開始点が与えられた場合、指定された距離制限内 (たとえば、30 分以内に到達可能) に到達できるすべての場所への最短距離を計算します。

OSRM は、縮約階層を内部的に使用します。私の理解では、この手法は、実世界のデータで 2 地点間の距離を計算する場合、Dijkstra のアルゴリズムよりもはるかに優れています。しかし、私の問題には、Dijkstra のアルゴリズムの方が適しているようですね。

OSRM は、単一ソースの最短経路問題 (距離に制限あり) を計算するための API を提供していますか? この種の問題により適した無料のルーティング ライブラリは他にありますか? できれば、OpenStreetMap データを適切にサポートするもの。

0 投票する
3 に答える
6666 参照

javascript - OSRM ルーティング用の JSON を取得する

cloudmade API を使用してルーティング システムを Web サイトに実装することに成功しました。OSRM ルーティング システム ( https://github.com/DennisOSRM/Project-OSRM )でも同じことをしたいのですが、OSRM json 出力の取得に問題があります。

以下は、cloudmade API から json を取得する例です。

$.ajax の使用 - http://jsfiddle.net/mayooresan/FhfVW/2/

$.getJSON の使用 - http://jsfiddle.net/V3qgZ/72/

OSRM のサーバー API は次の場所にあります: https://github.com/DennisOSRM/Project-OSRM/wiki/Server-api (クエリのサーバーの場所はhttp://router.project-osrm.orgにあります)。

上記と同じ座標 ( http://router.project-osrm.org/viaroute?loc=51.500,0.100&loc=51.500,0.1001 )の URL をブラウザーに入力すると、json ファイルが取得されます。しかし、これを $.getJSON または $.ajax で使用しようとしても、コールバックを使用してデータ型を設定しても、json データを取得できず、気が狂いそうになります! APIに文書化されているので、それは可能だと確信しています。

どんな助けでも大歓迎です。

ニック

0 投票する
0 に答える
1636 参照

c++ - Boost -- 警告: libicui18n.so.48 が見つかりません

Ubuntu 12.04 でProject-OSRMの最新 (4.1) バージョンをビルドしようとしていますが、Boost に関連するエラーがあります。

OSRM の古いバージョン (3.9) は、パッケージとして入手可能な Boost のバージョン (1.48) に依存していましたが、新しいバージョンには Boost >= 1.49 のバージョンが必要です。

そのため、 Boost 1_55_0 をソースからインストールし、この場所/usr/include/boost_1_55_0に設定しました。BOOST_ROOT

Project-OSRM を作成すると、次のエラーが表示されます。

libicuuc.so.48libicui18n.so.48が欠けているように見えますが、実際には に存在し/usr/libます。

ここに私の質問があります:

  • どうやっlibicuuc.so.48libicui18n.so.48入ったの/usr/lib?それらは標準のUbuntuセットアップの一部ですか?
  • これは彼らの適切な場所ですか?はいの場合、なぜ「見つからない」のですか?
  • そうでない場合、それらを見つけるにはどこにいる必要がありますか??
  • グーグルで調べた後、設定LD_DEBUGしましfilesたが、その出力はあまり役に立ちません。でも、ここで生産できます。
0 投票する
1 に答える
2650 参照

google-maps - OSRM を使用して 2 つの郵便番号間の距離を計算する

私は距離計算のために OSRM を調べてきましたが、本質的に、英国の 2 つの郵便番号間の距離計算を行う次のクエリがあります。

サーバー API ドキュメント ( https://github.com/DennisOSRM/Project-OSRM/wiki/Server-api ) には、郵便番号については言及されていないようで、経度と緯度のみが言及されています。

OSRM の Google マップ クエリに相当するものを知っている人はいますか? また、FOSS ルーティング プロジェクトに関するその他の推奨事項や、2 つの郵便番号に基づいて距離を取得する方法があれば教えてください。

0 投票する
0 に答える
61 参照

linux - OSRM のビルドで問題が発生しました:「makefile を再ブートストラップする」とはどういう意味ですか?

公式チュートリアルを使用してOSRMを構築しています。その後、問題が発生し、このページを見つけました。これはまさに私が必要としているものです。最後に、彼は「Makefile を再ブートストラップする」と言った。誰かがそれが何を意味するのか、そしてメイクファイルを正確にどうすればよいのか教えてもらえますか?

0 投票する
1 に答える
587 参照

c++ - Ubuntu 14.04 の OSRM で make を実行するとメモリ エラーが発生する


Open Source Routing Machine(OSRM) を Ubuntu サーバーにインストールしようとしましたが、ビルド フォルダーで Make を実行すると、21% で停止し、次のエラーが表示されます。

[ 21%] CXX オブジェクトの構築 CMakeFiles/OSRM.dir/Library/OSRM_impl.cpp.o

仮想メモリが使い果たされました: メモリを割り当てることができません

make[2]: * [CMakeFiles/OSRM.dir/Library/OSRM_impl.cpp.o] エラー 1

make[1]: * [CMakeFiles/OSRM.dir/all] エラー 2

make: * [すべて] エラー 2

$

オンラインで解決策を探したところ、ulimit の変更とスワップ メモリの追加に関する提案が見つかりましたが、どちらもうまくいきませんでした。どんな助けでも大歓迎です!

編集: OSRM 開発者に連絡したところ、2.5 GB の RAM が必要であることがわかりました。次の手順に従ってスワップファイルを追加することで、この問題を回避しました。http://digitizor.com/2011/02/06/create-swap-file-ubuntu-linux/

0 投票する
1 に答える
3364 参照

javascript - javascriptでOSRM(Open Source Routing Machine)ルートマーカーを設定するには?

OSRM オンライン デモ [1] とフロント エンド ソース コード [2] を試してみました

  1. http://map.project-osrm.org/
  2. https://github.com/Project-OSRM/osrm-f​​rontend

そこで、テキスト ボックスの開始位置と位置を設定できます。始点と終点の間にルート マーカーを設定するには、パスをクリックしてマップ上の必要なポイントにドラッグする必要があります。

JavaScriptを使用してこれらの中間点を動的に設定する方法はありますか?

0 投票する
0 に答える
1786 参照

linux - OSRM-Project の「make」で pthread_create が見つからない

Linux サーバーで OSRM プロジェクトをセットアップしようとしていますが、その間に問題が発生しています。依存関係の最新バージョンがあり、pthreads もインストールしてセットアップしました: pecl pthread install

次に、それをphpに追加し、phpを再コンパイルします。

以下は情報です。

Centos 6 64 ビット、OSRM プロジェクトをセットアップしようとしています。

酸っぱいをダウンロードしてから:

make でビルドが失敗する:

pthread_create が存在するかどうかの判断は、次の出力で失敗しました: Change Dir: /var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp

ビルド コマンドを実行します:"/usr/bin/gmake" "cmTryCompileExec3544628293/fast" /usr/bin/gmake -f CMakeFiles/cmTryCompileExec3544628293.dir/build.make CMakeFiles/cmTryCompileExec3544628293.dir/build gmake[1]: Entering directory main' : CheckSymbolExists.c:(.text+0x16): /var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp' への未定義の参照' gmake: *** [cmTryCompileExec3544628293/fast] エラー 2/var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp' /usr/local/bin/cmake -E cmake_progress_report /var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec3544628293.dir/CheckSymbolExists.c.o /usr/local/bin/cc -o CMakeFiles/cmTryCompileExec3544628293.dir/CheckSymbolExists.c.o -c /var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTryCompileExec3544628293 /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3544628293.dir/link.txt --verbose=1 /usr/local/bin/cc
CMakeFiles/cmTryCompileExec3544628293.dir/CheckSymbolExists.c.o -o cmTryCompileExec3544628293 -rdynamic CMakeFiles/cmTryCompileExec3544628293.dir/CheckSymbolExists.c.o: In function
pthread_create' collect2: error: ld returned 1 exit status gmake[1]: *** [cmTryCompileExec3544628293] Error 1 gmake[1]: Leaving directory

ファイル /var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include

int main(int argc, char** argv) { (void)argv; #ifndef pthread_create return ((int*)(&pthread_create))[argc]; #else (void)argc; 0 を返します。#endif }

関数 pthread_create が pthread に存在するかどうかの判断は、次の出力で失敗しました: Change Dir: /var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp

ビルド コマンドを実行:"/usr/bin/gmake" "cmTryCompileExec4016411170/fast" /usr/bin/gmake -f CMakeFiles/cmTryCompileExec4016411170.dir/build.make CMakeFiles/cmTryCompileExec4016411170.dir/build gmake[1]: ディレクトリ/var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp' /usr/local/bin/cmake -E cmake_progress_report /var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec4016411170.dir/CheckFunctionExists.c.o /usr/local/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTryCompileExec4016411170.dir/CheckFunctionExists.c.o -c /usr/local/share/cmake-3.1/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec4016411170 /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec4016411170.dir/link.txt --verbose=1 /usr/local/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTryCompileExec4016411170.dir/CheckFunctionExists.c.o -o cmTryCompileExec4016411170 -rdynamic -lpthreads /opt/rh/devtoolset-2/root/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/ld: cannot find -lpthreads collect2: error: ld returned 1 exit status gmake[1]: *** [cmTryCompileExec4016411170] Error 1 gmake[1]: Leaving directory/varに入る/www/html/osrm-backend/build/CMakeFiles/CMakeTmp'