ArcGIS Velocity のジオタブ (DeviceStatusInfo) フィード タイプは、HTTP リクエストを指定した URL に送信してジオタブ DeviceStatusInfo データベース テーブルを定期的にポーリングし、リアルタイムの自動車両位置情報 (AVL) データを取得します。 このフィード タイプは、ジオタブ データベースの DeviceStatusInfo テーブルのデータを要求する点で、ジオタブ (LogRecord) フィード タイプとは異なります。 DeviceStatusInfo テーブルには LogRecord テーブルよりも多くの属性が含まれていますが、一般的にジオタブ データベースの LogRecord テーブルよりも低い頻度で更新されます。
例
フィードの使用例を次に示します:
- ある都市は、冬季に保有している除雪トラックを監視したいと考えています。 ジオタブ (DeviceStatusInfo) フィードを使用して、各トラックのリアルタイムの位置情報を観察し、除雪ブレードの作動有無や、除氷用の塩を格納しているビンの閾値が低いかどうかなど、その他の補助的な情報を収集できます。
- ある廃棄物処理会社は、データ主導の解析により、保有車両の効率を向上させたいと考えています。 ジオタブ (DeviceStatusInfo) フィードを使用して、各車両の位置情報、ドライバー、積載重量、アイドル時間、燃料レベルをリアルタイムで収集できます。
使用上の注意
フィードを操作する際には、以下の点に注意してください:
- ジオタブ (DeviceStatusInfo) フィードは、ジオタブ データベースのテーブルから取得したデータを使用してイベントを構築します。 たとえば、位置情報、速度、方位の各属性は DeviceStatusInfo テーブルから取得されます。 Device テーブルは、VIN や車両のナンバー プレートなどのその他の属性情報を取得するために使用されます。 各デバイスに関連付けられたグループ名とグループ ID は、Group テーブルから取得されます。 詳細については、下記の「スキーマ」セクションをご参照ください。
- ジオタブのデータは高度に正規化されているため、ジオタブ (DeviceStatusInfo) フィードはデフォルトで固定のスキーマに準拠します。 フィードでは、場所、日時、Track ID が自動的に設定されます。 Track ID フィールドは変更できます。
- オプションの診断 ID を指定し、追加の属性値を使用してスキーマを改善することができます。 たとえば、車両に総燃料使用量を監視するセンサーが搭載されている場合、診断 ID DiagnosticDeviceTotalFuelId を指定すると、フィードは新しい属性フィールドでこの特定の情報を収集します。 診断フィールドはフィード スキーマに反映されます。
- 1 つまたは複数のオプション グループを指定して、ジオタブ (DeviceStatusInfo) フィードから取得するデバイス データのタイプを制限できます。
- ジオタブ (DeviceStatusInfo) フィードのデフォルト スキーマに、ドライバー情報を含むフィールドを追加できます。 ジオタブから提供された値を含むフィールドのみを選択します。 フィールドが不明な場合、値が NULL または空の文字列か、値にジオタブによって事前に定義された文字列が含まれている可能性があります。 詳細については、下記の「追加フィールド」セクションをご参照ください。
- ジオタブ データをポーリングする際の推奨間隔は、30 秒以上です。
スキーマ
下表に、フィードのスキーマ属性およびそのデータ タイプを示します:
| 属性 | データ タイプ |
|---|---|
| device_id | String |
| vehicleName | String |
| vehicleSerialNumber | String |
| vin | String |
| vehicleEngineType | String |
| vehicleLicensePlate | String |
| vehicleLicenseState | String |
| deviceType | String |
| dateTime | String |
| latitude | Float64 |
| longitude | Float64 |
| speed | Float64 |
| bearing | Int32 |
| groupIds | String |
| groupNames | String |
追加フィールド
以下に、フィードのその他の属性およびそのデータ タイプを示します:
| 属性 | データ タイプ |
|---|---|
firstName | String |
lastName | String |
phoneNumber | String |
phoneNumberExtension | String |
employeeNo | String |
id | String |
name | String |
companyName | String |
パラメーター
| パラメーター | 説明 | データ タイプ |
|---|---|---|
| URL | ジオタブの認証に使用する URL (例: https://[myserver].geotab.com/apiv1)。 | String |
| データベース | ジオタブ データベースの名前。 | String |
| Username | ジオタブの認証に使用するユーザー名。 | String |
| パスワード | ジオタブの認証に使用するパスワード。 | パスワード |
| グループ (オプション) | エンティティー メンバーのフィルタリングに使用するオプションのグループ名。 たとえば、道路清掃車は Sweepers というグループに属します。 Sweepers グループのエンティティー メンバーの車両のみが、リアルタイム処理のために取得されます。 注意:複数のグループをセミコロン (「;」) で指定します。 | String |
| 診断 ID (オプション) | 診断値の取得に使用するオプションの診断 ID。 たとえば、DiagnosticDeviceTotalFuelId は、正しいセンサーを搭載した車両の総燃料消費量の取得に使用する診断 ID です。 各診断 ID に対して、診断値フィールドと診断タイムスタンプ フィールドが追加されます。 注意:複数の診断 ID をセミコロン (「;」) で指定します。 | String |
| 追加フィールド | フィード スキーマにドライバー情報を付加するために使用できる追加フィールドのリスト。 注意:ジオタブから提供された値を含むフィールドのみを選択します。 選択しない場合、生成されるフィールドの値が NULL または空の文字列か、値にジオタブによって事前に定義された文字列が含まれている可能性があります。 | String |
| その他のログ (オプション) | Velocity がジオタブ API に対して発行した未処理の HTTP リクエストと応答のログ出力をオンにするかどうかを指定します。 注意:このパラメーターは、トラブルシューティングの目的でオンにし、トラブルシューティングが完了したらオフにします。 オンにした後は、フィードを開始すると、デバッグ レベルのログがフィード ログ ページで使用できるようになります。 必要に応じて、トラブルシューティングについて Esri テクニカル サポートにお問い合わせください。 | Boolean |
検討事項および制限事項
フィードを使用する際には、以下の点を検討してください:
- 各ポーリング間隔で、ジオタブは最新のポーリング時に集計されたデータを提供しますが、それ以降に集計されたデータは含まれません。 提供されるデータは、フィードが実行した最新のポーリングのタイムスタンプよりも古い場合があります。
- 診断値は、他のデバイス データとは異なる頻度で更新されます。 このため、各診断フィールドにはタイムスタンプ フィールドが付いています。 診断値が、ジオタブから取得した他のデータの最新のタイムスタンプと時間的に関連しているかどうかを検討します。
- 一意の診断 ID を指定する場合、まずグループを使用して、ジオタブから取得したデバイスのタイプをフィルターできます。 各診断 ID で、ジオタブのすべての車両のスキーマが機能拡張されます。 たとえば、除雪ブレードのステータスを取得する診断データは、除雪トラックだけでなく、ジオタブのすべての車両タイプに付加されます。 センサーが搭載されていない車両の場合、診断値は NULL になります。 除雪車グループが最初に定義されている場合、除雪トラックのみがジオタブから取得され、関連する除雪ブレード ステータスのカスタム診断フィールドが含まれます。
- 追加フィールドには、ジオタブがデータベースに指定した値のみが含まれます。 追加フィールドを選択する前に、組織のジオタブ デバイスによって報告される情報を検討します。 値が含まれていないフィールドは NULL または空の文字列か、ジオタブから事前に定義された文字列が含まれます。
- ユーザー認証情報が無効な場合、フィードは 3 回まで接続を再試行します。 無効な認証情報エラーは、ログに表示されます。 フィードは、構成された頻度スケジュールに基づいて、遅延後に自動的に再起動しようとします。