問題タブ [folium]

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 に答える
759 参照

python - より多くのコードを自動的に作成するコードの作成にヘルプが必要ですか?

仕事のプロジェクトのコードを書くのに助けが必要です。pandas を使用して Excel ファイルを読み取るスクリプトを作成しました。各行を反復処理し、Excel ファイルの緯度/経度データをマップ (Folium、Open Street Map) に追加する while ループを記述しました。

私が遭遇した問題は、GPS データに関係しています。車両座標を含む CVS ファイルをダウンロードします。私が追跡している一部の車両では、何らかの理由で GPS が信号を失い、何百マイルもオンラインに戻りません。これにより、ライン プロットを使用してマップ上の車両の動きを追跡しているときに問題が発生します。Folium は、車両がオフラインになる前の最後の GPS 座標と、車両がオンラインに戻ったときに利用可能な次の GPS 座標を接続しようとするため、都市を横切る長い直線が得られます。これは、ここに示すように数百マイル離れている可能性があります. スクリプトが GPS 座標のギャップを見つけるたびに、基本的にまったく新しいライン プロットを開始して既存のマップに追加する新しいループを生成できると思います。このようにして、車両ルート全体が地図上に表示されますが、長い線が壊れたポイントを接続しようとすることはありません.

私の考えは、経度データの各反復間の絶対値の差をスクリプトに計算させることです。各ポイントの差が 0.01 より大きい場合、プログラムでループを終了し、新しいループを開始する必要があります。この新しいループには、新しい変数 init が必要です。各車両で GPS がオフライン/オンラインになる回数を予測する方法がないため、新しいループをいくつ作成する必要があるかはわかりません。

https://gist.github.com/tapanojum/81460dd89cb079296fee0c48a3d625a7

これを実現する方法の擬似コードを次に示します。

1)Pythonはcsvを読み取ります

2) Long/Lat を 10 進度に変換します

3) 初期位置1

4) while ループを実行して座標を追加する

5) abs(j) >= 0.01 の場合、ループを中断します。

6) 初期位置(2,3,...)

7) new while i < len(lat): loop using location(2,3,...) を生成

9) i < len(lat) の間、ステップ 5-7 を繰り返します (abs(j) >= 0.01 のインスタンスが存在する回数だけ繰り返します)。

10) ロケーションの変数ごとに (c1, c2, c3,...) = folium.MultiPolyLine(locations=[location], color='blue', weight=1.5, opacity=0.5) を作成します

11) 上記の c1、c2、c3... ごとに c1.add_to(mapa) を作成します。

12) mapa.save

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

更新: 作業ソリューション

0 投票する
6 に答える
7719 参照

python - Folium - モジュール「folium」には属性「Map」がありません

私は標準を実行しようとしています:

私は得る:

私はアナコンダ3 /スパイダーを使用しています。フォリウム、ヴィンセント、ジンジャ2、パンダをチェックしてインストールしました。

何が問題なのですか?

0 投票する
2 に答える
7245 参照

python - Pandas と Folium を使用して地図上にマーカーをプロットする

Folium を使用して、多数 (~20,000) の円マーカーをプロットしようとしています。緯度と経度のデータは、Pandas DataFrame (「LAT」列と「LONG」列内) に含まれています。次の(非効率的な)コードを思いつきました。これには、データフレームを行ごとに反復処理する必要があります。当然のことながら、マップのプロットにはかなりの時間がかかります。これを達成するためのより良い/より速い方法はありますか?

その間、Folium を使用する必要はありません。あなたが知っているより適切なツールがある場合 (ただし、データを Pandas DataFrame に保持する必要があります)、お知らせください。

ありがとう!

0 投票する
4 に答える
6802 参照

python - Foliumのポップアップにカーソルを合わせる

次のような簡単な例を使用します。

マウスを上に置くだけでポップアップを表示できますか? これはフォリウムで可能ですか?