プロジェ クトのセットアップ (Project setup)
プロジェクトと初期シミュレーションテンプレートは通常、顧客の運用に関する深い理解を必要とし、複雑なプロセスになる可能性があるため、SWAT チームによって構成されます。
シーケンス図 (Sequence diagram)
プロジェクトとシミュレーションの構成 (Configuring a project and a simulation)
プロジェクトの名前、場所、タイムゾーンを指定してプロジェクトを構成します。オプションで、プロジェクトには、 容量と選択ラベルを含む車両を含めることができます。プロジェクトには、プロジェクトレベルで適用されるか、クライアントによって使用される他の構成設定も含めることができます。たとえば、車両定義をプロジェクトに含めることはできますが、API ベースのワークフローでは使用されません api。代わりに、クライアントは通常、これらの定義を表象目的で使用します。プロジェクトの主な目的は、プロジェクト全体のメタデータを保存し、顧客またはプロジェクトのテナンシーを確立することです。推奨されるアプローチは、エンドカスタマーまたは顧客部門ごとにプロジェクトを作成することです。
POST /api/v2/project
{
// Required project settings
// Set coordinates of the project
"lat": 13.7563,
"lon": 100.5018,
"name": "My test project",
"timezone": "Asia/Bangkok"
}
応答には、作成されたプロジェクトの projectid と、送信されたその他のメタデータが含まれます。
プロジェクトのジオフェンスの作成 (Creating geofences for a project)
正しいマップとルーティングエンジンの設定を確実にするために、プロジェクトには関連付けられたジオフェンスが必要です。ジオフェンスは、運用によってサービスが使用されると予想されるエリア(たとえば、都市の境界)を包含する必要があります。
プロジェクトに関連付けられたデータには以下が含まれます。
- 休日(シミュレーション作成用)
- ユーザーとそのアクセス権
- 運用場所とそのグループ(荷受人マスターリストとも呼ばれます)
- 客のサービスのための乗客
JSON ペイロードを見る
POST /api/v2/geofence
{
"description": "Test geofence",
//Geojson for geofence boundaries
"geometry": {
"features": [
{
"geometry": {
"coordinates": [
[
[
-180,
-90
],
[
180,
-90
],
[
180,
90
],
[
-180,
90
],
[
-180,
90
],
[
-180,
-90
]
]
],
"type": "Polygon"
},
"properties": {},
"type": "Feature"
}
],
"type": "FeatureCollection"
},
"name": "Default geofence for project testing",
// Project the geofence will be created for
"project": "/api/v2/project/<project_id>"
}
応答には、作成されたジオフェンスオブジェクトが含まれます。
デフォルトシミュレーションの作成 (Creating default simulation)
デフォルト シミュレーション (simulation)
には、運用中にプロジェクト用に新しいシミュレーション api が作成されるたびにクローンされる構成設定が含まれています。さらに、テンプレートには、次を含む、そのテンプレートから作成された他のシミュレーションに引き継がれるすべてのデータが含まれています。- 車両とその構成
- 最適化パラメータ
- シミュレーション設定
- マッピングとルーティングの設定
- 運用場所
- 事前定義されたルートまたは予約
- シミュレーションプロセッサ
- シミュレーションに関連付けられたジオフェンス
- シミュレーションをインスタンス化するためのルール(たとえば、時間/日付の繰り返しに基づいてテンプレートを選択する)
- バス停
POST /api/v2/microservices/simulation_template
応答には、作成された simulation_id、またはプロジェクトに既存のシミュレーションがある場合はそのシミュレーションが含まれます。デフォルトのテンプレートが作成されたら、エンドカスタマーの運用ニーズを反映するように構成する必要があります。このステ ップは、各シミュレーションテンプレートに対して実行する必要があり、その後、次の運用期間(日など)はこれらの設定を継承します。
デフォルトシミュレーションの車両の作成 (Creating vehicles for the default simulation)
デフォルトのシミュレーションテンプレートは、運用の各日のシミュレーションを作成するために使用されます。したがって、各シミュレーション用にクローンされる車両のリストも含めることができます。以下の例では、最小限の構成の車両が作成されます。api
車両の時間枠制約(車両の稼働時間)を有効にするには、ペイロードで start_time と end_time を設定してください。車両がシミュレーションテンプレートからコピーされると、労働時間は新しいシミュレーションにコピーされます。テンプレート内の各車両に対してこの手順を繰り返します。あるいは、車両の一括アップロード機能を使用することもできます。api
JSON ペイロードを見る
POST /api/v2/vehicles
{
// Capacity refers to a vehicle's ability to transport goods. It specifies the maximum quantity, in arbitrary units of measurement, that the vehicle can hold.
"capacity": {
"weight": 2000,
"cbcm": 10000
},
"bearing": 0,
"lat": 0,
"lon": 0,
"speed": 0,
"simulation": "/api/v2/simulation/112910",
"in_use": "enabled",
"service_number": "TEST_VEHICLE_NUMBER_1",
"start_time": "2022-11-14T00:00:00.340667+00:00",
"end_time": "2022-11-14T06:00:00.340667+00:00",
"geofence_ids": [],
"driver": null
}
デフォルトのシミュレーションテンプレートまたはそのシミュレーションテンプレートに添付された車両を更新しても、この変更の前に作成されたシミュレーションは遡及的に変更されません。
必要に応じてシミュレーションのデフォルトテンプレートにパッチを適用 (Patching default template for simulation as needed)
シミュ レーションテンプレートオブジェクトは、PATCH リクエストを使用したフィールドとデータの変更をサポートしています。例:
PATCH https://<base_url>/api/v2/simulation/<simulation_id>
オブジェクトを更新するときは、特に data フィールドに注意してください。これは、どのモデルにも関連付けられていない任意の JSON であるためです。以下のようなリクエストを送信すると、data プロパティの他のすべての値が消去されます。data プロパティに新しい値を追加するには、現在の値を取得し、必要なフィールドを更新または追加してから、完全なペイロード(つまり、既存の値と新しい値の合併)で PATCH します。
{
"data": {
"messaging_webhook_url" : "https://<webhook_url>",
"messaging_webhook_message_types" : ["<message filter>"]
}
}
このテンプレートに基づいて作成されたすべてのシミュレーションには、パッチが適用されたシミュレーションのすべてのプロパティがコピーされます。