問題タブ [gtfs]
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.
javascript - ノードでgtfs protobufsをどのようにデコードしますか
https://github.com/dcodeIO/ProtoBuf.jsを使用して triments gtfs データを解析しようとしています。
ここに私がこれまでに持っているコードがあります.protoファイルを正しく解析し、ビルダーを作成し、期待されるすべてのプロパティとメソッドを持っています.それでデータをデコードしようとするとエラーがスローされます.
proto ファイルはhttps://developers.google.com/transit/gtfs-realtime/gtfs-realtime-protoからのものです
Brian Ferris のおかげで、ヘッダーの最初の部分を解析できましたgtfs_realtime_version: "1"
が、パーサーは次のコンポーネント (タイムスタンプ uint64) で失敗しました。
おかげで
protocol-buffers - 「タイムサーバーからタイムスタンプを取得する」とはどういう意味ですか?
環境
Google の GTFS リアルタイムの使用方法を学んでいます
この標準に準拠したサービスによって提供されるタイムスタンプについては、https ://developers.google.com/transit/gtfs-realtime/reference のページで説明されています。
指示の一部には、次の文が含まれています。
「リアルタイム情報を生成および消費するシステム間の時間のずれを避けるために、タイム サーバーからタイムスタンプを取得することを強くお勧めします。」
理解するための手順
- タイムサーバーに関するウィキペディアのページを調べました - http://en.wikipedia.org/wiki/Time_server
質問
- 誰かがこの指示が実際に何を意味するのかを明確にすることができますか?
python - Heroku で実行されている Python/Flask アプリを改善する設計方法を理解する
環境
以下で構成される単純なサービスを作成しました
- Python スクリプト
- Flask フレームワークでの実行
- Heroku でホスト - (現在 1 つの dyno を実行)
データ転送の仕組みはやや独特です
- 何かが Heroku アプリを呼び出す
- Heroku アプリは
urllib2.urlopen
Google-GTFS API を呼び出すために使用し、Python スクリプトは GTFS Python モジュールを使用してこのデータを解析します。 - 次に、Python は (
json.dumps
) JSONを返します
問題
このサービスで blitz.io テストを 30 人の同時ユーザーで実行しましたが、多くのタイムアウトの問題が発生します。
heroku ログには、これらのエラーが多数表示されます
質問
これを修正するにはどうすればよいですか?
mysql - バス停に関連付けられたルートの取得
GTFS データがあり、バス停から出発するルートに関する情報が必要です。
特定の停止については、次のコードを使用しました。
しかし、複数のストップ(検索結果など)で同じことを達成したいです。検索には単純な LIKE メソッドを使用し、各行に単一の停留所などのルートに関する情報を添付したいと考えています。
データベースについてあまり詳しくないので、助けていただければ幸いです。
ありがとう!
public - トリップ プランナーのスケーラビリティ (または代替ライブラリ) を開く
オープントリッププランナーnovadaysで遊んでいます。実際には、基本的な公共交通機関の機能のようなライブラリの一部を、自転車、道路、通りなどの機能なしで使用します。バス/地下鉄の停留所、時刻、ルート情報のみを図書館に提供します。
私が理解している限り、OTP は、カスタム ルートとストリート データから構築できる Graph.obj ファイルを使用します。アプリケーションが開始されると、プロセスはすべての Graph.obj データをメモリにロードします。
私の懸念は; 巨大なルート データがある場合は、おそらくデータ自体から巨大な Graph.obj ファイルを作成する必要があります。次に、プロセスはすべてのデータをメモリにロードし、これによりすべてのメモリが消費されます。
質問; OTP はスケーラブルですか? データベースからソース データを提供する方法はありますか? または、mySql、postgreSql などのデータベースに既に実装されているもの..? また、アプリケーションをスケーリングできる他のオープンソースの代替手段は何ですか?
java - GTFS エディタで PBABase を使用すると、em() エンティティ マネージャに関するコンパイル エラーが発生する
gtfs-editorを実行しようとしています。
すべてのエンティティ処理クラスで em() を使用するとコンパイル エラーが発生します。私は動作中の gis db を持っており、接続に失敗するという以前のエラーを乗り越えたので、私は入っていると思います.
これがデータベースを取得できないためである場合、それは面白い言い方をしています。ユーザーが適切にインストールしていない場合、これは他のエンティティ ハンドラーの典型的な問題ですか。
エラーメッセージと行は次のとおりです。
発生したエラー: 型 JPABase /app/jobs/ProcessGtfsSnapshotMerge.java 行 398から非静的メソッド em() への静的参照を作成できません
javascript - MongoDB、ビッグデータを使用した遅いクエリ
mongodb の大きなコレクションに対してクエリを実行しようとしていますが、実際にはクエリは 2 つの部分で構成されており、実行に合計約 900 ミリ秒かかります。もっと高速にする必要があります。
これらはコレクション、stoptimesです:
およびトリップ:
trip_id が stoptimes の特定の stop_id に一致する各 trip id と等しい trips コレクション内のすべての個別の route_id を見つけようとしています。
これは、mongodb シェルでのクエリです。
これは私が使用している JavaScript の一部です。node.js + mongoose であることに注意してください。ただし、単純な JavaScript であったため、読みやすいはずです。
パフォーマンスを向上させるにはどうすればよいですか?
編集:
これは非常に時間がかかる唯一のクエリです。
mysql - 2 つのストップ名間のすべての出発時刻と到着時刻を一覧表示する GTFS クエリ
初めて GTFS 構造を使用していますが、クエリに問題があります。トランジット データを mysql テーブルに格納し、自由にクエリを実行できますが、最も単純な情報を取得するには、あまりにも多くのクエリと for ループを実行しているように感じます。
1 つのクエリで取得したいのは、2 つの既知の停留所間のすべての出発時刻と到着時刻であり、おそらく名前で識別されます。
これは私がこれまでに持っているもので、クエリが含まれ、その後に各 trip_id をループして、出発駅と到着駅の情報 + 時間を見つけます。
クエリ 1 :
特定の出発駅から特定の方向へのすべての出発時刻を表示します。結果は、出発時刻と trip_ids を示します。
結果
クエリ 2 :
最後のクエリの trip_id を使用して、特定のルートのすべての停車地とその到着時刻を教えてください。
結果
私が本当に欲しいのは、次の理論上の結果のような、2 つの停留所間の出発時間と到着時間のリストです。