[目次]
このプロジェクトの目的は、サイクリングまたはランニングによってタイルを探索するためのルートを計算することです。 「タイル」の情報については、statshunters または veloviewer を参照してください。
要件:
ターミナル ウィンドウを開き、ルート タイルをダウンロードするフォルダーに移動します。ターミナルウィンドウに書き込む
git clone https://github.com/BenoitBouillard/route-tiles.git
将来的には、プル リクエストを実行して最新バージョンを取得できます。
git pull
に続く
cd route-tiles
そして最後にPythonパッケージをインストールします
pip install -r requirements.txt
この Readme から HTML ドキュメントを生成するには:
python -m markdown README.md -f static h elp.html -x extra -x toc
2 つの部分があります:
サーバーはユーザー インターフェイスからリクエストを受信し、次の方法でルートを計算します。
サーバーはPythonスクリプトです。起動するには、ターミナルでインストール フォルダーから次のコマンドを実行します。
python route-tile-server.py
次のメッセージが表示されるはずです。
serving at port 8000
--port オプションを使用してポートを変更できます。
> python route-tile-server.py --port 80
serving at port 80
サーバーが実行されると、ユーザー インターフェイスを使用できるようになります。ウェブページです。サーバーと同じコンピュータ上では、URL http://localhost:8000 でアクセスできます。
ルートを検索するには、いくつかの情報が必須または必須です。
十分な情報がある場合、数秒後にルート要求がサーバーに送信されます。
ルーティングのステータスが表示されます。
データはブラウザによってローカルに保存されます。ページを更新すると (またはページを閉じて後で開くと)、最新のデータが復元されます。
いくつかのモードから選択できます。
何らかの個人的な理由により、たとえそれが最小ルートであっても、タイル訪問での折り返しを避けたい場合があります (ルート計算で折り返しが必要な理由は他にありません)。あと100mとか1kmとかは許容できるでしょう。このオプションでは、ターンアラウンドごとに追加コストが追加される可能性があり、許容可能なコストで制限されます。
/! アルゴリズムは折り返しなしではより良いルートを見つけません (バグ) /!
開始位置は必須です。終了位置はオプションです。終了位置がない場合はループ(開始点に戻る)ルートとなります。
開始位置または終了位置を定義するには、「開始」または「終了」ボタンをクリックしてから、マップ上の位置をクリックします。マーカーが表示されます。
地図上でマーカーを直接移動することが可能です。
ボタン右のゴミ箱アイコンで開始位置と終了位置を削除できます。
開始ボタンと停止ボタンの間にある二重矢印のアイコンを使用して、開始位置と終了位置を反転することもできます。
ルートが通過する必要がある 1 つまたは複数のウェイポイントを追加できます。
ウェイポイントを追加するには、「ウェイポイントを追加」ボタンを選択し、地図上をクリックします。ウェイポイントは地図上にシアンのマーカーで表示されます。
ウェイポイントをドラッグして地図上で直接移動できます。
ウェイポイントを削除するには、ウェイポイントをクリックするだけです。
マップ上で、タイルをクリックするだけで、訪問するタイルを選択できます。タイルの選択を解除する場合も同様です。
注意: タイルをあまり追加しないでください。計算時間は指数関数的に増加します。
ヒント:
「タイルをクリア」ボタンを押すと、マークされたタイルをすべて削除できます。また、すべてのウェイポイントも削除されます。
ルートが完了したら (「完了」ステータス)、直接ダウンロードすることができます。ダウンロード アイコンの青いボタンをクリックし、入力フィールドにファイル名を入力します。
名前はオプションです。何もない場合は、ファイル名と gpx 名に日時が使用されます。
「ルート」セクションに複数のルートを保存することもできます。名前を付けて「+」ボタンをクリックします。その後、以前のルートを強調表示したり、名前を変更したり、削除したり、ダウンロードしたりできます。
アクション メニューを使用してルート上で一部の操作を実行することもできます。
選択したルートに対するアクション:
ヒント: 次のルートの代わりに緑色のステータスをクリックすると、検索されたルートとの結合と置換を実行できます。
表示されるルートに対してフィルタを有効にすることができます。
Filter はルート名をチェックする正規表現です。
いくつかの例:
^Vélo
: 「Vélo」によって開始されたルート[0-9]$
: 数字で終了するルートルートのタイルの選択を容易にするために、マップ上に欠落しているタイルを表示することができます。
statshunters からデータをインポートできます。
StatsHunters.com では、自分の個人ページを他の人と共有するためのリンクを作成する機能を提供しています。 https://statshunters.com/share ページで共有リンクを作成し、完全なリンク (https://www.statshunters.com/share/abcdef123456 のようなもの) をページにコピーして貼り付けてインポートする必要があります。
statshunters サーバーからアクティビティを読み込むには時間がかかるため、ページの読み込みとフィルタの計算を高速化するために、アクティビティはキャッシュに保存されます。新しいアクティビティをロードするには、「再ロード」ボタンをクリックする必要があります。
statshunter にフィルターを追加することができます。これは Python 式としてフォーマットする必要があり、アクティビティからの有用なデータは次のとおりです。
いくつかの例:
type=="Ride" and date>="2021"
type=="Run" and '#fromHome' in name and date>"2021"