メインコンテンツまでスキップ

プロジェクトのセットアップ

警告

プロジェクトと初期シミュレーションテンプレートは、通常、顧客の運用に関する深い理解を必要とし、複雑なプロセスになる可能性があるため、SWATチームによって構成されます。

シーケンス図

プロジェクトとシミュレーションの構成

プロジェクトの名前、場所、タイムゾーンを指定してプロジェクトを構成します。オプションで、プロジェクトには、容量と選択ラベルを持つ車両を含めることができます。プロジェクトには、プロジェクトレベルで適用される、またはクライアントによって使用される他の構成設定を含めることもできます。たとえば、車両定義はプロジェクトに含めることができますが、APIベースのワークフローでは使用されませんapi。代わりに、クライアントは通常、これらの定義を表現目的で使用します。プロジェクトの主な目的は、プロジェクト全体のメタデータを保存し、顧客またはプロジェクトのテナンシーを確立することです。推奨されるアプローチは、各エンドカスタマーまたは顧客部門ごとにプロジェクトを作成することです。

プロジェクト構成
POST /api/v2/project

{
// 必須のプロジェクト設定
// プロジェクトの座標を設定する
"lat": 13.7563,
"lon": 100.5018,
"name": "My test project",
"timezone": "Asia/Bangkok"


}

応答には、作成されたプロジェクトのprojectidと、送信されたその他のメタデータが含まれます。

プロジェクトのジオフェンスの作成

正しい地図とルーティングエンジンの設定を確実にするために、プロジェクトには関連付けられたジオフェンスが必要です。ジオフェンスは、サービスが運用によって使用されると予想されるエリア(たとえば、市の境界)を網羅する必要があります。

プロジェクトに関連付けられたデータには、次のものが含まれます。

  • 休日(シミュレーション作成用)
  • ユーザーとそのアクセス権
  • 運用場所とそのグループ(荷受人マスターリストとも呼ばれます)
  • 乗客サービス用の乗客
JSONペイロードを参照
ジオフェンスの作成
POST /api/v2/geofence

{
"description": "Test geofence",
//ジオフェンス境界のGeojson
"geometry": {
"features": [
{
"geometry": {
"coordinates": [
[
[
-180,
-90
],
[
180,
-90
],
[
180,
90
],
[
-180,
90
],
[
-180,
-90
]
]
],
"type": "Polygon"
},
"properties": {},
"type": "Feature"
}
],
"type": "FeatureCollection"
},
"name": "Default geofence for project testing",
// ジオフェンスが作成されるプロジェクト
"project": "/api/v2/project/<project_id>"
}

応答には、作成されたジオフェンスオブジェクトが含まれます。

デフォルトのシミュレーションの作成

デフォルトのシミュレーション

には、運用中にプロジェクト用に新しいシミュレーションapiが作成されるたびに複製される構成設定が含まれています。さらに、テンプレートには、そのテンプレートから作成された他のシミュレーションに引き継がれるすべてのデータが含まれています。これには、次のものが含まれます。

  • 車両とその構成
  • 最適化パラメータ
  • シミュレーション設定
  • マッピングとルーティングの設定
  • 運用場所
  • 事前定義されたルートまたは予約
  • シミュレーションプロセッサ
  • シミュレーションに関連付けられたジオフェンス
  • シミュレーションをインスタンス化するためのルール(たとえば、時間/日付の繰り返しに基づいてテンプレートを選択する)
  • バス停
デフォルトのシミュレーションテンプレートの作成
POST /api/v2/microservices/simulation_template

応答には、作成されたsimulation_id、またはプロジェクトにすでに存在する場合は既存のシミュレーションが含まれます。デフォルトのテンプレートが作成されたら、エンドカスタマーの運用ニーズを反映するように構成する必要があります。この手順は、各シミュレーションテンプレートに対して実行する必要があり、その後、次の運用期間(日など)がこれらの設定を継承します。

デフォルトのシミュレーション用の車両の作成

デフォルトのシミュレーションテンプレートは、各運用日のシミュレーションを作成するために使用されます。したがって、各シミュレーション用に複製される車両のリストを含めることもできます。以下の例では、最小限の構成の車両が作成されます。api

ヒント

車両の時間枠制約(車両の稼働時間)を有効にするには、ペイロードにstart_timeend_timeを設定してください。車両がシミュレーションテンプレートからコピーされると、稼働時間は新しいシミュレーションにコピーされます。テンプレート内の各車両に対してこの手順を繰り返すか、代わりに車両の一括アップロード機能を使用できます。api

JSONペイロードを参照
車両の作成
POST /api/v2/vehicles

{
// 容量とは、商品を輸送する車両の能力を指します。車両が保持できる最大量を、任意の測定単位で指定します。
"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
}

警告

デフォルトのシミュレーションテンプレートまたはそのシミュレーションテンプレートに添付されている車両を更新しても、この変更より前に作成されたシミュレーションは遡及的に変更されません。

必要に応じてデフォルトテンプレートをシミュレーションにパッチする

シミュレーションテンプレートオブジェクトは、PATCHリクエストを使用してフィールドとデータを変更することをサポートしています。たとえば、

PATCH https://<base_url>/api/v2/simulation/<simulation_id>
危険

オブジェクトを更新する場合、特にdataフィールドには注意してください。これはモデルに関連付けられていない任意のJSONであるためです。以下のようなリクエストを送信すると、dataプロパティの他のすべての値が消去されます。dataプロパティに新しい値を追加するには、現在の値を取得し、必要なフィールドを更新または追加してから、完全なペイロード(つまり、既存の値と新しい値のマージ)でPATCHします。

simulation.dataオブジェクトのWebhookサブスクリプション
{
"data": {
"messaging_webhook_url" : "https://<webhook_url>",
"messaging_webhook_message_types" : ["<message filter>"]
}
}

このテンプレートに基づいて作成されたすべてのシミュレーションには、パッチが適用されたシミュレーションのすべてのプロパティがコピーされます。