ดัชนี
RouteOptimization
(อินเทอร์เฟซ)AggregatedMetrics
(ข้อความ)BatchOptimizeToursMetadata
(ข้อความ)BatchOptimizeToursRequest
(ข้อความ)BatchOptimizeToursRequest.AsyncModelConfig
(ข้อความ)BatchOptimizeToursResponse
(ข้อความ)BreakRule
(ข้อความ)BreakRule.BreakRequest
(ข้อความ)BreakRule.FrequencyConstraint
(ข้อความ)DataFormat
(enum)DistanceLimit
(ข้อความ)GcsDestination
(ข้อความ)GcsSource
(ข้อความ)InjectedSolutionConstraint
(ข้อความ)InjectedSolutionConstraint.ConstraintRelaxation
(ข้อความ)InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
(ข้อความ)InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level
(enum)InputConfig
(ข้อความ)Location
(ข้อความ)OptimizeToursRequest
(ข้อความ)OptimizeToursRequest.SearchMode
(enum)OptimizeToursRequest.SolvingMode
(enum)OptimizeToursResponse
(ข้อความ)OptimizeToursResponse.Metrics
(ข้อความ)OptimizeToursValidationError
(ข้อความ)OptimizeToursValidationError.FieldReference
(ข้อความ)OutputConfig
(ข้อความ)RouteModifiers
(ข้อความ)Shipment
(ข้อความ)Shipment.Load
(ข้อความ)Shipment.VisitRequest
(ข้อความ)ShipmentModel
(ข้อความ)ShipmentModel.DurationDistanceMatrix
(ข้อความ)ShipmentModel.DurationDistanceMatrix.Row
(ข้อความ)ShipmentModel.PrecedenceRule
(ข้อความ)ShipmentRoute
(ข้อความ)ShipmentRoute.Break
(ข้อความ)ShipmentRoute.EncodedPolyline
(ข้อความ)ShipmentRoute.Transition
(ข้อความ)ShipmentRoute.VehicleLoad
(ข้อความ)ShipmentRoute.Visit
(ข้อความ)ShipmentTypeIncompatibility
(ข้อความ)ShipmentTypeIncompatibility.IncompatibilityMode
(enum)ShipmentTypeRequirement
(ข้อความ)ShipmentTypeRequirement.RequirementMode
(enum)SkippedShipment
(ข้อความ)SkippedShipment.Reason
(ข้อความ)SkippedShipment.Reason.Code
(enum)TimeWindow
(ข้อความ)TransitionAttributes
(ข้อความ)Vehicle
(ข้อความ)Vehicle.DurationLimit
(ข้อความ)Vehicle.LoadLimit
(ข้อความ)Vehicle.LoadLimit.Interval
(ข้อความ)Vehicle.TravelMode
(enum)Vehicle.UnloadingPolicy
(enum)Waypoint
(ข้อความ)
RouteOptimization
บริการสำหรับเพิ่มประสิทธิภาพการทัวร์ชมด้วยยานพาหนะ
ระยะเวลาที่ใช้ฟิลด์บางประเภทได้
google.protobuf.Timestamp
- เวลาเป็นเวลา Unix: วินาทีนับตั้งแต่ 1970-01-01T00:00:00+00:00
- วินาทีต้องอยู่ในช่วง [0, 253402300799] เช่น อยู่ในช่วง [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00]
- ต้องยกเลิกการตั้งค่า nanos หรือตั้งค่าเป็น 0
google.protobuf.Duration
- วินาทีต้องอยู่ในช่วง [0, 253402300799] เช่น อยู่ในช่วง [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00]
- ต้องยกเลิกการตั้งค่า nanos หรือตั้งค่าเป็น 0
google.type.LatLng
- ละติจูดต้องอยู่ในช่วง [-90.0, 90.0]
- ลองจิจูดต้องอยู่ภายใน [-180.0, 180.0]
- ละติจูดและลองจิจูดต้องไม่เท่ากับ 0 อย่างน้อย 1 ค่า
BatchOptimizeTours |
---|
เพิ่มประสิทธิภาพทัวร์ชมยานพาหนะสำหรับข้อความ เมธอดนี้เป็นการดำเนินการที่ใช้เวลานาน (LRO) ระบบจะอ่านอินพุตสำหรับการเพิ่มประสิทธิภาพ (ข้อความ ผู้ใช้สามารถตรวจสอบสถานะของ LRO ได้โดยเรียกใช้ หากช่อง LRO หากฟิลด์
|
OptimizeTours |
---|
ส่ง โมเดล เป้าหมายคือมอบหมาย
|
AggregatedMetrics
เมตริกรวมสําหรับองค์ประกอบ ShipmentRoute
(สําหรับ OptimizeToursResponse
ใน Transition
และ/หรือ Visit
ทั้งหมดตามลำดับ)ShipmentRoute
ช่อง | |
---|---|
performed_ |
จำนวนการจัดส่งที่ดำเนินการ โปรดทราบว่าระบบจะนับคู่การรับและการนำส่งเพียงครั้งเดียว |
travel_ |
ระยะเวลาการเดินทางทั้งหมดสำหรับเส้นทางหรือวิธีแก้ปัญหา |
wait_ |
ระยะเวลารอทั้งหมดสำหรับเส้นทางหรือโซลูชัน |
delay_ |
ระยะเวลาความล่าช้าทั้งหมดของเส้นทางหรือโซลูชัน |
break_ |
ระยะเวลาพักทั้งหมดของเส้นทางหรือโซลูชัน |
visit_ |
ระยะเวลาการเข้าชมทั้งหมดสําหรับเส้นทางหรือโซลูชัน |
total_ |
ระยะเวลาทั้งหมดควรเท่ากับผลรวมของระยะเวลาทั้งหมดข้างต้น สำหรับเส้นทาง ข้อมูลนี้ยังสอดคล้องกับข้อมูลต่อไปนี้ด้วย
|
travel_ |
ระยะทางรวมในการเดินทางสำหรับเส้นทางหรือโซลูชัน |
max_ |
น้ำหนักบรรทุกสูงสุดที่ทำได้ตลอดทั้งเส้นทาง (โซลูชันที่เกี่ยวข้อง) สำหรับปริมาณแต่ละรายการในเส้นทางนี้ (โซลูชันที่เกี่ยวข้อง) ซึ่งคํานวณเป็นค่าสูงสุดของ |
BatchOptimizeToursMetadata
ประเภทนี้ไม่มีช่อง
ข้อมูลเมตาการดำเนินการสำหรับการเรียก BatchOptimizeToursRequest
BatchOptimizeToursRequest
คำขอเพิ่มประสิทธิภาพทัวร์แบบเป็นกลุ่มเป็นการดำเนินการแบบอะซิงโครนัส ไฟล์อินพุตแต่ละไฟล์ควรมี OptimizeToursRequest
1 รายการ และไฟล์เอาต์พุตแต่ละไฟล์จะมี OptimizeToursResponse
1 รายการ คำขอมีข้อมูลสำหรับการอ่าน/เขียนและแยกวิเคราะห์ไฟล์ ไฟล์อินพุตและเอาต์พุตทั้งหมดควรอยู่ในโปรเจ็กต์เดียวกัน
ช่อง | |
---|---|
parent |
ต้องระบุ กำหนดโปรเจ็กต์และสถานที่ที่จะโทร รูปแบบ: * หากไม่ได้ระบุสถานที่ ระบบจะเลือกภูมิภาคโดยอัตโนมัติ |
model_ |
ต้องระบุ ข้อมูลอินพุต/เอาต์พุตของรูปแบบการซื้อแต่ละรูปแบบ เช่น เส้นทางไฟล์และรูปแบบข้อมูล |
AsyncModelConfig
ข้อมูลสำหรับการแก้ปัญหาโมเดลการเพิ่มประสิทธิภาพ 1 รายการแบบไม่พร้อมกัน
ช่อง | |
---|---|
display_ |
ไม่บังคับ ชื่อโมเดลที่ผู้ใช้กําหนด ซึ่งผู้ใช้สามารถใช้เป็นชื่อแทนเพื่อติดตามโมเดล |
input_ |
ต้องระบุ ข้อมูลเกี่ยวกับโมเดลอินพุต |
output_ |
ต้องระบุ ข้อมูลตำแหน่งเอาต์พุตที่ต้องการ |
BatchOptimizeToursResponse
ประเภทนี้ไม่มีช่อง
การตอบกลับ BatchOptimizeToursRequest
ระบบจะแสดงผลลัพธ์นี้ในการดําเนินการแบบดำเนินอยู่นานหลังจากการดำเนินการเสร็จสมบูรณ์
BreakRule
กฎในการสร้างช่วงพักสำหรับยานพาหนะ (เช่น ช่วงพักกลางวัน) ช่วงพักคือช่วงเวลาต่อเนื่องที่ยานพาหนะไม่ได้ทำงานอยู่ที่ตำแหน่งปัจจุบันและไม่สามารถเข้าชมได้ ช่วงพักอาจเกิดขึ้นในกรณีต่อไปนี้
- ระหว่างการเดินทางระหว่างการเข้าชม 2 ครั้ง (ซึ่งรวมถึงเวลาก่อนหรือหลังการเข้าชม แต่ไม่ใช่ระหว่างการเข้าชม) ในกรณีนี้ ระบบจะขยายเวลาเดินทางที่เกี่ยวข้องระหว่างการเข้าชม
- หรือก่อนที่รถจะเริ่มทำงาน (รถอาจไม่สตาร์ทในช่วงพัก) ในกรณีนี้ จะไม่ส่งผลต่อเวลาเริ่มต้นของรถ
- หรือหลังจากสิ้นสุดการให้บริการของยานพาหนะ (เช่นเดียวกับเวลาสิ้นสุดการให้บริการของยานพาหนะ)
ช่อง | |
---|---|
break_ |
ลำดับของช่วงพัก ดูข้อความ |
frequency_ |
อาจมี |
BreakRequest
คุณต้องทราบลำดับของช่วงพัก (เช่น จำนวนและลำดับ) ที่มีผลกับยานพาหนะแต่ละคันล่วงหน้า BreakRequest
ที่ซ้ำกันจะกำหนดลำดับนั้นตามลำดับที่ต้องทำ กรอบเวลา (earliest_start_time
/ latest_start_time
) อาจทับซ้อนกัน แต่ต้องเข้ากันได้กับคำสั่งซื้อ (ระบบจะตรวจสอบ)
ช่อง | |
---|---|
earliest_ |
ต้องระบุ ขอบเขตล่าง (รวม) ของช่วงพัก |
latest_ |
ต้องระบุ ขอบเขตบน (รวม) ของจุดเริ่มต้นของช่วงพัก |
min_ |
ต้องระบุ ระยะเวลาขั้นต่ำของช่วงพัก ต้องเป็นค่าบวก |
FrequencyConstraint
คุณสามารถจำกัดความถี่และระยะเวลาของช่วงพักที่ระบุไว้ข้างต้นเพิ่มเติมได้โดยการบังคับใช้ความถี่ของช่วงพักขั้นต่ำ เช่น "ต้องมีช่วงพักอย่างน้อย 1 ชั่วโมงทุก 12 ชั่วโมง" สมมติว่าสามารถตีความได้ว่า "ภายในกรอบเวลาแบบเลื่อนได้ 12 ชั่วโมง ต้องมีช่วงพักอย่างน้อย 1 ชั่วโมงอย่างน้อย 1 ช่วง" ตัวอย่างดังกล่าวจะแปลเป็น FrequencyConstraint
ดังนี้
{
min_break_duration { seconds: 3600 } # 1 hour.
max_inter_break_duration { seconds: 39600 } # 11 hours (12 - 1 = 11).
}
ช่วงเวลาและระยะเวลาของช่วงพักในโซลูชันจะเป็นไปตามข้อจำกัดดังกล่าวทั้งหมด นอกเหนือจากกรอบเวลาและระยะเวลาขั้นต่ำที่ระบุไว้ใน BreakRequest
แล้ว
ในทางปฏิบัติ FrequencyConstraint
อาจใช้กับช่วงพักที่ไม่ต่อเนื่อง ตัวอย่างเช่น กำหนดการต่อไปนี้เป็นไปตามตัวอย่าง "1 ชั่วโมงทุก 12 ชั่วโมง"
04:00 vehicle start
.. performing travel and visits ..
09:00 1 hour break
10:00 end of the break
.. performing travel and visits ..
12:00 20-min lunch break
12:20 end of the break
.. performing travel and visits ..
21:00 1 hour break
22:00 end of the break
.. performing travel and visits ..
23:59 vehicle end
ช่อง | |
---|---|
min_ |
ต้องระบุ ระยะเวลาขั้นต่ำของช่วงพักสำหรับข้อจำกัดนี้ มีค่าไม่ติดลบ ดูคำอธิบายของ |
max_ |
ต้องระบุ ช่วงเวลาสูงสุดที่อนุญาตของเส้นทางที่ไม่มีช่วงพัก |
DataFormat
รูปแบบข้อมูลสำหรับไฟล์อินพุตและเอาต์พุต
Enum | |
---|---|
DATA_FORMAT_UNSPECIFIED |
ค่าไม่ถูกต้อง รูปแบบต้องไม่ใช่ "ไม่ได้ระบุ" |
JSON |
รูปแบบออบเจ็กต์ JavaScript |
PROTO_TEXT |
รูปแบบข้อความบัฟเฟอร์โปรโตคอล ดูที่ https://protobuf.dev/reference/protobuf/textformat-spec/ |
DistanceLimit
ขีดจํากัดที่กําหนดระยะทางสูงสุดที่เดินทางได้ โดยอาจเป็นแบบแข็งหรือแบบอ่อนก็ได้
หากกําหนดขีดจํากัดสูงสุดที่อนุญาตไว้ จะต้องกําหนดทั้ง soft_max_meters
และ cost_per_kilometer_above_soft_max
และต้องไม่เป็นค่าลบ
ช่อง | |
---|---|
max_ |
ขีดจํากัดสูงสุดที่กําหนดระยะทางได้ไม่เกิน max_meters ขีดจํากัดต้องไม่ติดลบ |
soft_ |
ขีดจํากัดแบบไม่บังคับจะไม่บังคับใช้ขีดจํากัดระยะทางสูงสุด แต่หากมีการละเมิด ค่าใช้จ่ายจะเพิ่มขึ้นตามค่าใช้จ่ายอื่นๆ ที่กําหนดไว้ในรูปแบบเดียวกัน หากมีการกําหนด soft_max_meters ต้องน้อยกว่า max_meters และต้องไม่เป็นค่าลบ |
cost_ |
ค่าใช้จ่ายต่อกิโลเมตรที่เกิดขึ้น ซึ่งเพิ่มขึ้นสูงสุด
|
cost_ |
ค่าใช้จ่ายต่อกิโลเมตรที่เกิดขึ้นหากระยะทางเกินขีดจำกัด
ค่าใช้จ่ายต้องไม่ติดลบ |
GcsDestination
ตำแหน่งใน Google Cloud Storage ที่ระบบจะเขียนไฟล์เอาต์พุต
ช่อง | |
---|---|
uri |
ต้องระบุ URI ของ Google Cloud Storage |
GcsSource
ตำแหน่ง Google Cloud Storage ที่ระบบจะอ่านไฟล์อินพุต
ช่อง | |
---|---|
uri |
ต้องระบุ URI ของออบเจ็กต์ Google Cloud Storage ที่มีรูปแบบ |
InjectedSolutionConstraint
โซลูชันที่แทรกในคําขอ รวมถึงข้อมูลเกี่ยวกับการเข้าชมที่ต้องจํากัดและวิธีจํากัด
ช่อง | |
---|---|
routes[] |
เส้นทางของโซลูชันที่จะแทรก ระบบอาจละเว้นเส้นทางบางเส้นทางจากโซลูชันเดิม เส้นทางและการจัดส่งที่ข้ามต้องเป็นไปตามสมมติฐานพื้นฐานเกี่ยวกับความถูกต้องที่ระบุไว้สำหรับ |
skipped_ |
ข้ามการจัดส่งโซลูชันที่จะแทรก บางรายการอาจไม่รวมอยู่ในโซลูชันต้นฉบับ ดูที่ช่อง |
constraint_ |
สำหรับกลุ่มยานพาหนะตั้งแต่ 0 กลุ่มขึ้นไป ให้ระบุเวลาและจำนวนที่จะผ่อนคลายข้อจำกัด หากช่องนี้ว่างเปล่า เส้นทางยานพาหนะที่ไม่ใช่ค่าว่างทั้งหมดจะถูกจำกัดอย่างสมบูรณ์ |
ConstraintRelaxation
สําหรับกลุ่มยานพาหนะ ให้ระบุเกณฑ์ที่ระบบจะผ่อนคลายข้อจํากัดการเข้าชมและระดับที่ผ่อนคลาย ระบบจะข้ามการจัดส่งที่แสดงในช่อง skipped_shipment
กล่าวคือ การดำเนินการดังกล่าวจะดำเนินการไม่ได้
ช่อง | |
---|---|
relaxations[] |
การผ่อนคลายข้อจำกัดการเข้าชมทั้งหมดที่จะมีผลกับการเข้าชมในเส้นทางที่มียานพาหนะใน |
vehicle_ |
ระบุดัชนียานพาหนะที่ข้อจำกัดการเข้าชม ดัชนียานพาหนะจะแมปเหมือนกับ |
การพักผ่อน
หาก relaxations
ว่างเปล่า ระบบจะจำกัดเวลาเริ่มต้นและลําดับการเข้าชมทั้งหมดใน routes
อย่างสมบูรณ์ และจะไม่แทรกหรือเพิ่มการเข้าชมใหม่ลงในเส้นทางเหล่านั้น นอกจากนี้ เวลาเริ่มต้นและสิ้นสุดของยานพาหนะใน routes
จะถูกจำกัดอย่างสมบูรณ์ เว้นแต่ยานพาหนะจะว่างเปล่า (กล่าวคือ ไม่มีการเข้าชมและตั้งค่า used_if_route_is_empty
เป็นเท็จในโมเดล)
relaxations(i).level
ระบุระดับการผ่อนคลายข้อจำกัดที่ใช้กับการเข้าชม #j ที่ตรงกับเงื่อนไขต่อไปนี้
route.visits(j).start_time >= relaxations(i).threshold_time
ANDj + 1 >= relaxations(i).threshold_visit_count
ในทำนองเดียวกัน ระบบจะผ่อนปรนการสตาร์ทยานพาหนะเป็น relaxations(i).level
หากมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้
vehicle_start_time >= relaxations(i).threshold_time
ANDrelaxations(i).threshold_visit_count == 0
และปลายรถจะผ่อนปรนเป็นrelaxations(i).level
หากเป็นไปตามข้อกำหนดต่อไปนี้vehicle_end_time >= relaxations(i).threshold_time
ANDroute.visits_size() + 1 >= relaxations(i).threshold_visit_count
หากต้องการใช้ระดับการผ่อนคลายในกรณีที่การเข้าชมตรงกับ threshold_visit_count
หรือ threshold_time
ให้เพิ่ม relaxations
2 รายการที่มี level
เดียวกัน โดยรายการหนึ่งตั้งค่าเป็น threshold_visit_count
เท่านั้น และอีกรายการตั้งค่าเป็น threshold_time
เท่านั้น หากการเข้าชมตรงตามเงื่อนไขของ relaxations
หลายรายการ ระบบจะใช้ระดับที่ผ่อนปรนที่สุด ด้วยเหตุนี้ ตั้งแต่จุดเริ่มต้นของยานพาหนะไปจนถึงจุดสิ้นสุดของยานพาหนะ ระดับความผ่อนคลายจะผ่อนคลายมากขึ้น กล่าวคือ ระดับความผ่อนคลายจะไม่ลดลงเมื่อเส้นทางดำเนินไป
ช่วงเวลาและลําดับการเข้าชมเส้นทางที่ไม่เป็นไปตามเงื่อนไขเกณฑ์ของ relaxations
ใดๆ จะถูกจํากัดอย่างสมบูรณ์และจะไม่มีการแทรกการเข้าชมลงในลําดับเหล่านี้ นอกจากนี้ หากการเริ่มต้นหรือสิ้นสุดของยานพาหนะไม่เป็นไปตามเงื่อนไขของการผ่อนปรนใดๆ ระบบจะกำหนดเวลาให้คงที่ เว้นแต่ว่ายานพาหนะจะว่างเปล่า
ช่อง | |
---|---|
level |
ระดับการผ่อนคลายข้อจำกัดที่มีผลเมื่อเงื่อนไขตั้งแต่ |
threshold_ |
เวลาที่จะใช้การผ่อนปรน |
threshold_ |
จํานวนการเข้าชมที่จะเริ่มใช้การผ่อนปรน หากเป็น |
ระดับ
แสดงระดับการผ่อนคลายข้อจำกัดต่างๆ ซึ่งมีผลกับการเข้าชมและการเข้าชมที่ตามมาเมื่อเป็นไปตามเงื่อนไขเกณฑ์
การแจกแจงด้านล่างนี้จัดเรียงตามระดับความผ่อนคลายที่เพิ่มขึ้น
Enum | |
---|---|
LEVEL_UNSPECIFIED |
ระดับการผ่อนคลายเริ่มต้นโดยนัย: ไม่มีการผ่อนคลายข้อจำกัด กล่าวคือ การเข้าชมทั้งหมดถูกจํากัดอย่างเต็มรูปแบบ ต้องไม่ใช้ค่านี้ใน |
RELAX_VISIT_TIMES_AFTER_THRESHOLD |
ระบบจะผ่อนปรนเวลาเริ่มต้นของการเข้าชมและเวลาเริ่มต้น/สิ้นสุดของยานพาหนะ แต่การเข้าชมแต่ละครั้งจะยังคงเชื่อมโยงกับยานพาหนะคันเดียวกันและต้องเป็นไปตามลําดับการเข้าชม โดยจะต้องไม่มีการแทรกการเข้าชมระหว่างหรือก่อนการเข้าชม |
RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD |
เหมือนกับ RELAX_VISIT_TIMES_AFTER_THRESHOLD แต่ลำดับการเข้าชมจะผ่อนปรนด้วย โดยการเข้าชมจะดำเนินการโดยยานพาหนะคันนี้เท่านั้น แต่อาจไม่ดำเนินการ |
RELAX_ALL_AFTER_THRESHOLD |
เหมือนกับ RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD แต่ยานพาหนะจะผ่อนปรนด้วยเช่นกัน นั่นคือการเข้าชมจะฟรีโดยสมบูรณ์เมื่อถึงหรือหลังจากเวลาที่กำหนด และอาจไม่มีการเรียกใช้ |
InputConfig
ระบุอินพุตสําหรับ [BatchOptimizeTours][google.maps.routeoptimization.v1.RouteOptimizationService.BatchOptimizeTours]
ช่อง | |
---|---|
data_ |
ต้องระบุ รูปแบบข้อมูลอินพุต |
ฟิลด์สหภาพ source ต้องระบุ source ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
gcs_ |
ตำแหน่งของ Google Cloud Storage โดยต้องเป็นออบเจ็กต์ (ไฟล์) รายการเดียว |
ตำแหน่ง
บรรจุสถานที่ตั้ง (จุดทางภูมิศาสตร์และส่วนหัวที่ไม่บังคับ)
ช่อง | |
---|---|
lat_ |
พิกัดทางภูมิศาสตร์ของจุดสังเกต |
heading |
เข็มทิศที่เชื่อมโยงกับทิศทางของการเข้าชม ค่านี้ใช้เพื่อระบุฝั่งถนนที่จะใช้รับและส่งผู้โดยสาร ค่าทิศทางมีตั้งแต่ 0 ถึง 360 โดยที่ 0 ระบุทิศทางเป็นทิศเหนือ 90 ระบุทิศทางเป็นทิศตะวันออก เป็นต้น |
OptimizeToursRequest
คำขอที่จะส่งไปยังโปรแกรมโซลูชันการเพิ่มประสิทธิภาพทัวร์ชม ซึ่งจะกำหนดรูปแบบการจัดส่งที่จะแก้ปัญหา รวมถึงพารามิเตอร์การเพิ่มประสิทธิภาพ
ช่อง | |
---|---|
parent |
ต้องระบุ กำหนดเป้าหมายโปรเจ็กต์หรือสถานที่เพื่อโทร รูปแบบ: * หากไม่ได้ระบุสถานที่ ระบบจะเลือกภูมิภาคโดยอัตโนมัติ |
timeout |
หากตั้งค่าการหมดเวลานี้ไว้ เซิร์ฟเวอร์จะแสดงผลลัพธ์ก่อนที่ระยะเวลาหมดเวลาจะสิ้นสุดลงหรือก่อนที่เซิร์ฟเวอร์จะถึงกำหนดเวลาของคำขอแบบซิงค์ แล้วแต่ว่าเวลาใดจะมาถึงก่อน สําหรับคําขอแบบไม่พร้อมกัน เซิร์ฟเวอร์จะสร้างโซลูชัน (หากเป็นไปได้) ก่อนที่เวลาหมด |
model |
รูปแบบการจัดส่งที่จะแก้ปัญหา |
solving_ |
โดยค่าเริ่มต้น โหมดการแก้ปัญหาจะเป็น |
search_ |
โหมดการค้นหาที่ใช้เพื่อแก้ปัญหา |
injected_ |
แนะนําอัลกอริทึมการเพิ่มประสิทธิภาพในการค้นหาวิธีแก้ปัญหาแรกซึ่งคล้ายกับวิธีแก้ปัญหาก่อนหน้า โมเดลถูกจํากัดเมื่อสร้างโซลูชันแรก ระบบจะข้ามการจัดส่งที่ไม่ได้ดำเนินการในเส้นทางหนึ่งๆ โดยปริยายในโซลูชันแรก แต่อาจดำเนินการในโซลูชันต่อๆ ไป โซลูชันต้องเป็นไปตามสมมติฐานพื้นฐานบางอย่างเกี่ยวกับความถูกต้อง ดังนี้
หากโซลูชันที่แทรกไม่สามารถทำได้ ระบบอาจไม่แสดงข้อผิดพลาดในการตรวจสอบและแสดงข้อผิดพลาดที่ระบุว่าไม่สามารถทำได้แทน |
injected_ |
จำกัดอัลกอริทึมการเพิ่มประสิทธิภาพเพื่อค้นหาวิธีแก้ปัญหาสุดท้ายที่คล้ายกับวิธีแก้ปัญหาก่อนหน้า เช่น สามารถใช้เพื่อหยุดเส้นทางบางส่วนที่เสร็จสมบูรณ์แล้วหรือที่กำลังจะเสร็จสมบูรณ์แต่ต้องไม่แก้ไข หากโซลูชันที่แทรกไม่สามารถทำได้ ระบบอาจไม่แสดงข้อผิดพลาดในการตรวจสอบและแสดงข้อผิดพลาดที่ระบุว่าไม่สามารถทำได้แทน |
refresh_ |
หากไม่ใช่ค่าว่าง ระบบจะรีเฟรชเส้นทางที่ระบุโดยไม่แก้ไขลําดับการแวะพักหรือเวลาเดินทางที่อยู่เบื้องหลัง ระบบจะอัปเดตเฉพาะรายละเอียดอื่นๆ เท่านั้น การดำเนินการนี้ไม่ได้แก้ปัญหาโมเดล ณ วันที่ 11/2020 การดำเนินการนี้จะสร้างเฉพาะเส้นประกอบของเส้นทางที่ไม่ใช่ "ว่าง" และกำหนดให้ ฟิลด์ ห้ามใช้ช่องนี้ร่วมกับ
|
interpret_ |
เงื่อนไข "เป็นจริง"
การตีความนี้มีผลกับช่อง หากเป็น "จริง" ป้ายกำกับในหมวดหมู่ต่อไปนี้ต้องปรากฏในหมวดหมู่นั้นๆ ไม่เกิน 1 ครั้ง
หาก การนําการเข้าชมเส้นทางหรือทั้งเส้นทางออกจากโซลูชันที่แทรกอาจส่งผลต่อข้อจํากัดโดยนัย ซึ่งอาจทําให้เกิดการเปลี่ยนแปลงโซลูชัน ข้อผิดพลาดในการตรวจสอบ หรือความเป็นไปไม่ได้ หมายเหตุ: ผู้โทรต้องตรวจสอบว่า |
consider_ |
พิจารณาการประมาณการเข้าชมในการคำนวณช่อง |
populate_ |
หากเป็น "จริง" ระบบจะสร้างเส้นประกอบใน |
populate_ |
หากเป็น "จริง" ระบบจะป้อนข้อมูลเส้นประกอบและโทเค็นเส้นทางในการตอบกลับ |
allow_ |
หากตั้งค่านี้ คำขอจะมีกำหนดเวลา (ดูที่ https://grpc.io/blog/deadlines) ได้สูงสุด 60 นาที ไม่เช่นนั้น กำหนดเวลาสูงสุดคือ 30 นาทีเท่านั้น โปรดทราบว่าคําขอที่มีอายุการใช้งานนานมีความเสี่ยงที่จะหยุดชะงักมากกว่า (แต่ก็ยังถือว่าน้อย) |
use_ |
หากเป็นจริง ระบบจะคํานวณระยะทางในการเดินทางโดยใช้ระยะทางตามแนวเส้นโค้งแทนระยะทางของ Google Maps และคำนวณเวลาในการเดินทางโดยใช้ระยะทางตามแนวเส้นโค้งที่มีความเร็วที่กําหนดโดย |
label |
ป้ายกำกับที่อาจใช้ระบุคำขอนี้ซึ่งรายงานกลับใน |
geodesic_ |
เมื่อ |
max_ |
ตัดจำนวนข้อผิดพลาดในการตรวจสอบที่แสดงผล โดยปกติแล้ว ข้อผิดพลาดเหล่านี้จะแนบไปกับเพย์โหลดข้อผิดพลาด INVALID_ARGUMENT เป็นรายละเอียดข้อผิดพลาด BadRequest (https://cloud.google.com/apis/design/errors#error_details) เว้นแต่ว่า solving_mode=VALIDATE_ONLY: ดูช่อง |
SearchMode
โหมดที่กําหนดลักษณะการทํางานของการค้นหา โดยแลกเปลี่ยนเวลาในการตอบสนองกับคุณภาพของโซลูชัน ระบบจะบังคับใช้กำหนดเวลาของคำขอทั่วโลกในทุกโหมด
Enum | |
---|---|
SEARCH_MODE_UNSPECIFIED |
โหมดการค้นหาที่ไม่ระบุ ซึ่งเทียบเท่ากับ RETURN_FAST |
RETURN_FAST |
หยุดการค้นหาหลังจากพบวิธีแก้ปัญหาแรกที่ได้ผล |
CONSUME_ALL_AVAILABLE_TIME |
ใช้เวลาทั้งหมดที่มีเพื่อค้นหาวิธีแก้ปัญหาที่ดีกว่า |
SolvingMode
กำหนดวิธีที่โปรแกรมแก้ปัญหาควรจัดการกับคำขอ ในโหมดทั้งหมดยกเว้น VALIDATE_ONLY
หากคําขอไม่ถูกต้อง คุณจะได้รับข้อผิดพลาด INVALID_REQUEST
ดู max_validation_errors
เพื่อจำกัดจำนวนข้อผิดพลาดที่แสดง
Enum | |
---|---|
DEFAULT_SOLVE |
แก้ปัญหาโมเดล ระบบอาจแสดงคำเตือนใน [OptimizeToursResponse.validation_errors][google.cloud.optimization.v1.OptimizeToursResponse.validation_errors] |
VALIDATE_ONLY |
ตรวจสอบโมเดลเท่านั้นโดยไม่แก้: สร้าง OptimizeToursResponse.validation_errors ให้ได้มากที่สุด |
DETECT_SOME_INFEASIBLE_SHIPMENTS |
แสดงเฉพาะ สำคัญ: ระบบจะไม่แสดงการจัดส่งที่ไม่สามารถทำได้ทั้งหมดที่นี่ แต่เฉพาะการจัดส่งที่ตรวจพบว่าไม่สามารถทำได้ในระหว่างการประมวลผลก่อน |
OptimizeToursResponse
การตอบกลับหลังจากแก้ปัญหาการเพิ่มประสิทธิภาพการทัวร์ชมซึ่งมีเส้นทางที่ยานพาหนะแต่ละคันใช้ การจัดส่งที่ข้ามไป และต้นทุนโดยรวมของโซลูชัน
ช่อง | |
---|---|
routes[] |
เส้นทางที่คำนวณสำหรับยานพาหนะแต่ละคัน โดยเส้นทางที่ i จะสอดคล้องกับยานพาหนะลำดับที่ i ในโมเดล |
request_ |
สําเนาของ |
skipped_ |
รายการการจัดส่งทั้งหมดที่ข้าม |
validation_ |
รายการข้อผิดพลาดทั้งหมดในการตรวจสอบที่เราตรวจพบได้ ดูคำอธิบาย "ข้อผิดพลาดหลายรายการ" สำหรับข้อความ |
metrics |
เมตริกระยะเวลา ระยะทาง และการใช้งานสําหรับโซลูชันนี้ |
เมตริก
เมตริกโดยรวมที่รวบรวมจากทุกเส้นทาง
ช่อง | |
---|---|
aggregated_ |
รวบรวมจากเส้นทางต่างๆ เมตริกแต่ละรายการคือผลรวม (หรือค่าสูงสุดสําหรับการโหลด) ของช่อง |
skipped_ |
จำนวนการจัดส่งที่ต้องข้าม |
used_ |
จํานวนยานพาหนะที่ใช้งาน หมายเหตุ: หากเส้นทางของยานพาหนะว่างเปล่าและ |
earliest_ |
เวลาเริ่มต้นเร็วที่สุดของยานพาหนะมือสอง ซึ่งคํานวณจากค่าต่ำสุดของ |
latest_ |
เวลาสิ้นสุดล่าสุดของยานพาหนะมือสอง ซึ่งคํานวณเป็นค่าสูงสุดของ |
costs |
ค่าใช้จ่ายของโซลูชันที่แจกแจงตามช่องคำขอที่เกี่ยวข้องกับค่าใช้จ่าย คีย์คือเส้นทางโปรโตคอลซึ่งสัมพันธ์กับอินพุต OptimizeToursRequest เช่น "model.shipments.pickups.cost" และค่าคือต้นทุนทั้งหมดที่สร้างขึ้นจากช่องต้นทุนที่เกี่ยวข้อง ซึ่งรวบรวมจากโซลูชันทั้งหมด กล่าวคือ costs["model.shipments.pickups.cost"] คือผลรวมของค่าบริการรับสินค้าทั้งหมดในโซลูชัน ระบบจะรายงานต้นทุนทั้งหมดที่กําหนดไว้ในรูปแบบโดยละเอียดที่นี่ ยกเว้นต้นทุนที่เกี่ยวข้องกับ TransitionAttributes ซึ่งจะรายงานแบบรวมเท่านั้น ณ วันที่ 01/2022 |
total_ |
ต้นทุนรวมของโซลูชัน ผลรวมของค่าทั้งหมดในแผนที่ต้นทุน |
OptimizeToursValidationError
อธิบายข้อผิดพลาดหรือคำเตือนที่พบเมื่อตรวจสอบ OptimizeToursRequest
ช่อง | |
---|---|
code |
ข้อผิดพลาดในการตรวจสอบจะกำหนดโดยคู่ ( ช่องต่างๆ ที่อยู่ถัดจากส่วนนี้จะให้บริบทเพิ่มเติมเกี่ยวกับข้อผิดพลาด ข้อผิดพลาดหลายรายการ: เมื่อมีข้อผิดพลาดหลายรายการ กระบวนการตรวจสอบจะพยายามแสดงข้อผิดพลาดหลายรายการ กระบวนการนี้ไม่สมบูรณ์แบบเช่นเดียวกับคอมไพเลอร์ ข้อผิดพลาดในการตรวจสอบบางอย่างจะเป็น "ข้อผิดพลาดร้ายแรง" ซึ่งหมายความว่าจะหยุดกระบวนการตรวจสอบทั้งหมด กรณีนี้รวมถึงข้อผิดพลาด ความเสถียร: |
display_ |
ชื่อที่แสดงของข้อผิดพลาด |
fields[] |
บริบทของข้อผิดพลาดอาจเกี่ยวข้องกับฟิลด์ 0, 1 (ส่วนใหญ่) หรือมากกว่า ตัวอย่างเช่น การอ้างอิงถึงการไปรับรถคันที่ 4 และการจัดส่งที่ 2 ครั้งแรกทำได้ดังนี้
อย่างไรก็ตาม โปรดทราบว่า Cardinality ของ |
error_ |
สตริงที่มนุษย์อ่านได้ซึ่งอธิบายข้อผิดพลาด มีการแมป 1:1 ระหว่าง ความเสถียร: ไม่เสถียร: ข้อความแสดงข้อผิดพลาดที่เชื่อมโยงกับ |
offending_ |
อาจมีค่าของช่อง แต่ฟีเจอร์นี้อาจไม่พร้อมใช้งานเสมอไป คุณไม่ควรใช้ฟีเจอร์นี้และควรใช้เพื่อแก้ไขข้อบกพร่องของโมเดลด้วยตนเองเท่านั้น |
FieldReference
ระบุบริบทสําหรับข้อผิดพลาดในการตรวจสอบ FieldReference
จะอ้างอิงถึงฟิลด์หนึ่งๆ ในไฟล์นี้เสมอและเป็นไปตามโครงสร้างตามลําดับชั้นเดียวกัน ตัวอย่างเช่น เราอาจระบุองค์ประกอบ #2 ของ start_time_windows
ในยานพาหนะ #5 โดยใช้
name: "vehicles" index: 5 sub_field { name: "end_time_windows" index: 2 }
อย่างไรก็ตาม เราจะไม่ใส่เอนทิตีระดับบนสุด เช่น OptimizeToursRequest
หรือ ShipmentModel
เพื่อไม่ให้ข้อความดูรก
ช่อง | |
---|---|
name |
ชื่อฟิลด์ เช่น "vehicles" |
sub_ |
ช่องย่อยที่ฝังแบบซ้ำซ้อน หากจำเป็น |
ฟิลด์สหภาพ
|
|
index |
ดัชนีของช่องหากซ้ำ |
key |
คีย์หากช่องเป็นแผนที่ |
OutputConfig
ระบุปลายทางสำหรับผลลัพธ์ของ [BatchOptimizeTours][google.maps.routeoptimization.v1.RouteOptimizationService.BatchOptimizeTours]
ช่อง | |
---|---|
data_ |
ต้องระบุ รูปแบบข้อมูลเอาต์พุต |
ฟิลด์สหภาพ destination ต้องระบุ destination ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
gcs_ |
ตำแหน่ง Google Cloud Storage ที่จะเขียนเอาต์พุต |
RouteModifiers
บรรจุชุดเงื่อนไขที่ไม่บังคับเพื่อใช้เมื่อคำนวณเส้นทางของยานพาหนะ ซึ่งคล้ายกับ RouteModifiers
ใน Routes Preferred API ของ Google Maps Platform โปรดดูที่ https://developers.google.com/maps/documentation/routes/reference/rest/v2/RouteModifiers
ช่อง | |
---|---|
avoid_ |
ระบุว่าจะหลีกเลี่ยงถนนที่เรียกเก็บค่าผ่านทางหรือไม่ ระบบจะให้ความสำคัญกับเส้นทางที่ไม่มีถนนที่ต้องเสียค่าผ่านทาง ใช้ได้กับโหมดการเดินทางที่ใช้เครื่องยนต์เท่านั้น |
avoid_ |
ระบุว่าจะเลี่ยงทางหลวงหรือไม่ ระบบจะให้ความสำคัญกับเส้นทางที่ไม่มีทางหลวง ใช้ได้กับโหมดการเดินทางที่ใช้เครื่องยนต์เท่านั้น |
avoid_ |
ระบุว่าจะหลีกเลี่ยงเส้นทางเรือหรือไม่ ระบบจะให้ความสำคัญกับเส้นทางที่ไม่มีการเดินทางด้วยเรือข้ามฟาก ใช้ได้กับโหมดการเดินทางที่ใช้เครื่องยนต์เท่านั้น |
avoid_ |
ไม่บังคับ ระบุว่าจะหลีกเลี่ยงการนำทางภายในอาคารหรือไม่ ระบบจะให้ความสำคัญกับเส้นทางที่ไม่มีการนำทางในอาคาร ใช้กับโหมดการเดินทาง |
การจัดส่ง
การจัดส่งสินค้ารายการเดียว ตั้งแต่การยกขึ้นรถครั้งหนึ่งไปจนถึงการนำส่งครั้งหนึ่ง เพื่อให้ระบบถือว่ามีการจัดส่งเกิดขึ้น รถคันเดียวต้องไปที่จุดรับสินค้าแห่งหนึ่ง (และลดกำลังการผลิตที่เหลือตามนั้น) จากนั้นไปที่จุดนำส่งแห่งหนึ่งในภายหลัง (และเพิ่มกำลังการผลิตที่เหลือตามนั้นอีกครั้ง)
ช่อง | |
---|---|
display_ |
ชื่อที่แสดงของการจัดส่งที่ผู้ใช้กำหนด โดยชื่อมีความยาวได้สูงสุด 63 อักขระ และใช้อักขระ UTF-8 ได้ |
pickups[] |
ชุดตัวเลือกการรับพัสดุที่เชื่อมโยงกับการจัดส่ง หากไม่ได้ระบุ ยานพาหนะจะต้องไปที่สถานที่ที่สอดคล้องกับการนำส่งเท่านั้น |
deliveries[] |
ชุดตัวเลือกการนำส่งที่เชื่อมโยงกับการจัดส่ง หากไม่ได้ระบุ ยานพาหนะจะต้องไปที่สถานที่ที่สอดคล้องกับการรับส่งเท่านั้น |
load_ |
ความต้องการในการบรรทุกของการจัดส่ง (เช่น น้ำหนัก ปริมาณ จำนวนพาเลต ฯลฯ) คีย์ในแผนที่ควรเป็นตัวระบุที่อธิบายประเภทของโหลดที่เกี่ยวข้อง และควรระบุหน่วยด้วย เช่น "weight_kg", "volume_gallons", "pallet_count" เป็นต้น หากคีย์หนึ่งๆ ไม่ปรากฏในแผนที่ ระบบจะถือว่าการโหลดที่เกี่ยวข้องเป็นค่าว่าง |
allowed_ |
ชุดยานพาหนะที่อาจทำการขนส่งนี้ หากเป็นค่าว่าง หมายความว่ารถทุกรุ่นจะดำเนินการได้ ยานพาหนะจะแสดงตามดัชนีในรายการ |
costs_ |
ระบุค่าใช้จ่ายที่เกิดขึ้นเมื่อนำส่งการจัดส่งนี้โดยยานพาหนะแต่ละคัน หากระบุไว้ จะต้องมีอย่างใดอย่างหนึ่งต่อไปนี้
ค่าใช้จ่ายเหล่านี้ต้องเป็นหน่วยเดียวกับ |
costs_ |
ดัชนีของยานพาหนะที่ |
pickup_ |
ระบุเวลาอ้อมทางสูงสุดสัมบูรณ์เทียบกับเส้นทางที่สั้นที่สุดตั้งแต่การไปรับจนถึงการนำส่ง หากระบุ ต้องไม่เป็นค่าลบ และการจัดส่งต้องมีการรับสินค้าและการนำส่งอย่างน้อย 1 รายการ ตัวอย่างเช่น สมมติให้ t เป็นเวลาที่สั้นที่สุดจากทางเลือกการรับสินค้าซึ่งเลือกไว้ไปยังทางเลือกการนำส่งซึ่งเลือกไว้โดยตรง จากนั้นการตั้งค่า
หากระบุทั้งขีดจำกัดแบบสัมพัทธ์และแบบสัมบูรณ์ในการจัดส่งเดียวกัน ระบบจะใช้ขีดจำกัดที่จำกัดมากกว่าสำหรับคู่การรับ/การนำส่งที่เป็นไปได้แต่ละคู่ ในเดือนตุลาคม 2017 ระบบรองรับการอ้อมเส้นทางเฉพาะในกรณีที่ระยะเวลาเดินทางไม่ขึ้นอยู่กับยานพาหนะ |
pickup_ |
ระบุระยะเวลาสูงสุดตั้งแต่เริ่มรับพัสดุไปจนถึงเริ่มนำส่งพัสดุ หากระบุ ต้องไม่เป็นค่าลบ และการจัดส่งต้องมีการรับสินค้าและการนำส่งอย่างน้อย 1 รายการ ซึ่งไม่ได้ขึ้นอยู่กับว่าเลือกตัวเลือกใดสำหรับการรับและการนำส่ง หรือความเร็วของยานพาหนะ ซึ่งสามารถระบุควบคู่ไปกับข้อจำกัดทางอ้อมสูงสุดได้ โดยโซลูชันจะยึดตามข้อกำหนดทั้ง 2 ข้อ |
shipment_ |
สตริงที่ไม่ใช่ค่าว่างซึ่งระบุ "ประเภท" สำหรับการจัดส่งนี้ ฟีเจอร์นี้ใช้เพื่อกำหนดความเข้ากันไม่ได้หรือข้อกำหนดระหว่าง แตกต่างจาก |
label |
ระบุป้ายกำกับสำหรับการจัดส่งนี้ ระบบจะรายงานป้ายกำกับนี้ในการตอบกลับใน |
ignore |
หากเป็นจริง ให้ข้ามการจัดส่งนี้ แต่อย่าใช้ การละเว้นการจัดส่งจะทำให้เกิดข้อผิดพลาดในการตรวจสอบเมื่อมี ระบบอนุญาตให้ละเว้นการจัดส่งที่ดำเนินการใน |
penalty_ |
หากการจัดส่งไม่เสร็จสมบูรณ์ ระบบจะเพิ่มค่าปรับนี้ลงในต้นทุนโดยรวมของเส้นทาง ระบบจะถือว่าการจัดส่งเสร็จสมบูรณ์หากมีการนำส่งหรือรับสินค้าตามทางเลือกใดทางเลือกหนึ่ง ค่าใช้จ่ายอาจแสดงเป็นหน่วยเดียวกับที่ใช้กับช่องอื่นๆ ทั้งหมดที่เกี่ยวข้องกับต้นทุนในโมเดล และต้องมีค่าเป็นบวก สำคัญ: หากไม่ได้ระบุค่าปรับนี้ ระบบจะถือว่าไม่มีขีดจำกัด ซึ่งหมายความว่าการจัดส่งต้องเสร็จสมบูรณ์ |
pickup_ |
ระบุเวลาอ้อมสูงสุดแบบสัมพัทธ์เทียบกับเส้นทางที่สั้นที่สุดตั้งแต่การไปรับจนถึงการนำส่ง หากระบุ ต้องไม่เป็นค่าลบ และการจัดส่งต้องมีการรับสินค้าและการนำส่งอย่างน้อย 1 รายการ ตัวอย่างเช่น สมมติให้ t เป็นเวลาที่สั้นที่สุดจากทางเลือกการรับสินค้าที่เลือกไปยังทางเลือกการนำส่งที่เลือกโดยตรง จากนั้นการตั้งค่า
หากระบุทั้งขีดจำกัดแบบสัมพัทธ์และแบบสัมบูรณ์ในการจัดส่งเดียวกัน ระบบจะใช้ขีดจำกัดที่จำกัดมากขึ้นสำหรับคู่การรับ/การนำส่งที่เป็นไปได้แต่ละคู่ ในเดือนตุลาคม 2017 ระบบรองรับการอ้อมเส้นทางเฉพาะในกรณีที่ระยะเวลาเดินทางไม่ขึ้นอยู่กับยานพาหนะ |
โหลด
เมื่อทำการเข้าชม ระบบอาจเพิ่มน้ำหนักที่กำหนดไว้ล่วงหน้าลงในน้ำหนักบรรทุกของยานพาหนะหากเป็นการไปรับสินค้า หรือหักออกหากเป็นการนำส่ง ข้อความนี้กําหนดจํานวนเงินดังกล่าว ดูload_demands
ช่อง | |
---|---|
amount |
น้ำหนักบรรทุกของยานพาหนะที่ทำการเข้าชมที่เกี่ยวข้องจะแตกต่างกันไป เนื่องจากเป็นจำนวนเต็ม เราจึงขอแนะนำให้ผู้ใช้เลือกหน่วยที่เหมาะสมเพื่อไม่ให้ความแม่นยำลดลง ต้องมากกว่าหรือเท่ากับ 0 |
VisitRequest
คำขอเข้าชมที่สามารถทำได้โดยยานพาหนะ: ยานพาหนะมีตำแหน่งทางภูมิศาสตร์ (หรือ 2 ตำแหน่ง โปรดดูด้านล่าง) เวลาเปิดและปิดที่แสดงเป็นกรอบเวลา และระยะเวลาของบริการ (เวลาที่ยานพาหนะใช้ในการรับหรือส่งสินค้าเมื่อมาถึง)
ช่อง | |
---|---|
arrival_ |
ตำแหน่งทางภูมิศาสตร์ที่ยานพาหนะมาถึงเมื่อทำการ |
arrival_ |
จุดที่รถมาถึงเมื่อทำ |
departure_ |
ตำแหน่งทางภูมิศาสตร์ที่ยานพาหนะออกเดินทางหลังจากทำ |
departure_ |
จุดสังเกตที่ยานพาหนะออกเดินทางหลังจากทำ |
tags[] |
ระบุแท็กที่แนบมากับคําขอเข้าชม ไม่อนุญาตให้ใช้สตริงที่ว่างเปล่าหรือซ้ำกัน |
time_ |
กรอบเวลาที่จํากัดเวลามาถึงในการเข้าชม โปรดทราบว่ายานพาหนะอาจออกเดินทางนอกกรอบเวลาการมาถึง เช่น เวลามาถึง + ระยะเวลาไม่จำเป็นต้องอยู่ภายในกรอบเวลา ซึ่งอาจส่งผลให้ต้องรอหากยานพาหนะมาถึงก่อน หากไม่มี กรอบเวลาต้องไม่ซ้อนทับกัน เช่น กรอบเวลาต้องไม่ซ้อนทับหรืออยู่ติดกับกรอบเวลาอื่น และต้องเป็นลำดับเวลาจากน้อยไปมาก คุณจะตั้งค่า |
duration |
ระยะเวลาในการเข้าชม เช่น เวลาที่ใช้โดยยานพาหนะระหว่างที่มาถึงและออกเดินทาง (จะเพิ่มไปยังเวลารอที่เป็นไปได้ ดู |
cost |
ค่าบริการตามคำขอเข้าชมนี้ในเส้นทางของยานพาหนะ รหัสนี้ใช้เพื่อชำระค่าใช้จ่ายที่แตกต่างกันสำหรับการรับหรือการนำส่งพัสดุทางเลือกแต่ละรายการ ค่าใช้จ่ายนี้ต้องเป็นหน่วยเดียวกับ |
load_ |
โหลดดีมานด์ของคำขอเข้าชมนี้ ช่องนี้เหมือนกับช่อง |
visit_ |
ระบุประเภทการเข้าชม ข้อมูลนี้อาจใช้เพื่อจัดสรรเวลาเพิ่มเติมที่จําเป็นสำหรับยานพาหนะในการเข้าชมนี้ให้เสร็จสมบูรณ์ (ดู ประเภทหนึ่งๆ จะปรากฏได้เพียงครั้งเดียว |
label |
ระบุป้ายกำกับสำหรับ |
ShipmentModel
รูปแบบการจัดส่งประกอบด้วยชุดการจัดส่งที่ต้องดำเนินการโดยชุดยานพาหนะ โดยลดต้นทุนโดยรวมให้เหลือน้อยที่สุด ซึ่งก็คือผลรวมของ
- ค่าใช้จ่ายในการกำหนดเส้นทางของยานพาหนะ (ผลรวมของต้นทุนต่อเวลาทั้งหมด ต้นทุนต่อเวลาเดินทาง และต้นทุนคงที่สำหรับยานพาหนะทั้งหมด)
- บทลงโทษสำหรับการไม่ดำเนินการจัดส่ง
- ค่าใช้จ่ายของระยะเวลาการจัดส่งทั่วโลก
ช่อง | |
---|---|
shipments[] |
ชุดการจัดส่งที่ต้องดำเนินการในโมเดล |
vehicles[] |
ชุดยานพาหนะที่สามารถใช้เพื่อเข้าชม |
global_ |
เวลาเริ่มต้นและสิ้นสุดแบบรวมของโมเดล: ระบบจะไม่ถือว่าเวลาที่อยู่นอกช่วงนี้ถูกต้อง ช่วงเวลาของโมเดลต้องน้อยกว่า 1 ปี กล่าวคือ เมื่อใช้ช่อง |
global_ |
หากไม่ได้ตั้งค่า ระบบจะใช้ 00:00:00 UTC, 1 มกราคม 1971 (เช่น วินาที: 31536000, นีโอน: 0) เป็นค่าเริ่มต้น |
global_ |
"ระยะเวลาโดยรวม" ของแผนโดยรวมคือความแตกต่างระหว่างเวลาเริ่มต้นที่เร็วที่สุดที่มีผลและเวลาสิ้นสุดที่ช้าที่สุดที่มีผลของยานพาหนะทั้งหมด ผู้ใช้สามารถกำหนดต้นทุนต่อชั่วโมงให้กับจำนวนดังกล่าวเพื่อพยายามเพิ่มประสิทธิภาพให้งานเสร็จเร็วที่สุด เป็นต้น ค่าใช้จ่ายนี้ต้องอยู่ในหน่วยเดียวกับ |
duration_ |
ระบุเมทริกซ์ระยะเวลาและระยะทางที่ใช้ในโมเดล หากช่องนี้ว่างเปล่า ระบบจะใช้ Google Maps หรือระยะทางเชิงเรขาคณิตแทน ทั้งนี้ขึ้นอยู่กับค่าของช่อง ตัวอย่างการใช้งาน
|
duration_ |
แท็กที่กําหนดแหล่งที่มาของเมตริกระยะเวลาและระยะทาง แท็กสอดคล้องกับ |
duration_ |
แท็กที่กําหนดปลายทางของเมตริกระยะเวลาและระยะทาง แท็กสอดคล้องกับ |
transition_ |
เพิ่มแอตทริบิวต์การเปลี่ยนรูปแบบลงในโมเดลแล้ว |
shipment_ |
ชุดของ shipment_types ที่ใช้ร่วมกันไม่ได้ (ดู |
shipment_ |
ชุดข้อกําหนด |
precedence_ |
ชุดกฎลําดับความสําคัญที่ต้องบังคับใช้ในโมเดล |
max_ |
จำกัดจำนวนยานพาหนะที่ใช้งานอยู่สูงสุด ยานพาหนะจะถือว่าใช้งานอยู่หากเส้นทางของยานพาหนะมีการจัดส่งอย่างน้อย 1 รายการ สามารถใช้เพื่อจำกัดจำนวนเส้นทางในกรณีที่มีคนขับน้อยกว่ายานพาหนะและกลุ่มยานพาหนะมีความหลากหลาย จากนั้นการเพิ่มประสิทธิภาพจะเลือกกลุ่มย่อยของยานพาหนะที่ดีที่สุดที่จะใช้ ต้องเป็นค่าบวก |
DurationDistanceMatrix
ระบุระยะเวลาและเมตริกระยะทางจากสถานที่เริ่มต้นของยานพาหนะและการเข้าชมไปยังสถานที่สิ้นสุดของยานพาหนะและการเข้าชม
ช่อง | |
---|---|
rows[] |
ระบุแถวของเมทริกซ์ระยะเวลาและระยะทาง โดยต้องมีองค์ประกอบเท่ากับ |
vehicle_ |
แท็กที่กําหนดว่าเมตริกระยะเวลาและระยะทางนี้มีผลกับยานพาหนะใด หากเป็นค่าว่าง รายการนี้จะมีผลกับยานพาหนะทุกคัน และจะมีได้เพียงเมทริกซ์เดียวเท่านั้น การเริ่มต้นยานพาหนะแต่ละรายการต้องตรงกับเมทริกซ์เพียงรายการเดียวเท่านั้น กล่าวคือ ช่อง เมทริกซ์ทั้งหมดต้องมี |
แถว
ระบุแถวของเมทริกซ์ระยะเวลาและระยะทาง
ช่อง | |
---|---|
durations[] |
ค่าระยะเวลาของแถวที่ระบุ โดยต้องมีองค์ประกอบเท่ากับ |
meters[] |
ค่าระยะทางของแถวหนึ่งๆ หากไม่มีต้นทุนหรือข้อจำกัดที่อ้างอิงถึงระยะทางในโมเดล คุณก็ปล่อยว่างไว้ได้ แต่หากมี องค์ประกอบต้องมีจำนวนเท่ากับ |
PrecedenceRule
กฎลําดับความสําคัญระหว่าง 2 เหตุการณ์ (แต่ละเหตุการณ์คือการไปรับหรือการนำส่งการจัดส่ง): เหตุการณ์ "ที่ 2" ต้องเริ่มต้นหลังจากเหตุการณ์ "ที่ 1" เริ่มต้นอย่างน้อย offset_duration
ลําดับความสําคัญหลายรายการอาจอ้างอิงถึงเหตุการณ์เดียวกัน (หรือที่เกี่ยวข้อง) เช่น "การไปรับ B เกิดขึ้นหลังจากการนำส่ง A" และ "การไปรับ C เกิดขึ้นหลังจากการไปรับ B"
นอกจากนี้ ลําดับความสําคัญจะมีผลก็ต่อเมื่อมีการจัดส่งทั้ง 2 รายการเท่านั้น มิเช่นนั้นระบบจะไม่สนใจ
ช่อง | |
---|---|
first_ |
ระบุว่าเหตุการณ์ "แรก" เป็นการนําส่งหรือไม่ |
second_ |
ระบุว่าเหตุการณ์ "ที่ 2" เป็นการแสดงโฆษณาหรือไม่ |
offset_ |
ส่วนต่างระหว่างเหตุการณ์ "แรก" กับ "ที่ 2" อาจเป็นค่าลบได้ |
first_ |
ดัชนีการจัดส่งของเหตุการณ์ "แรก" ต้องระบุข้อมูลในช่องนี้ |
second_ |
ดัชนีการจัดส่งของเหตุการณ์ "ที่ 2" ต้องระบุข้อมูลในช่องนี้ |
ShipmentRoute
เส้นทางของยานพาหนะสามารถแยกวิเคราะห์ตามแกนเวลาได้ดังนี้ (สมมติว่ามีการเข้าชม n ครั้ง)
| | | | | T[2], | | |
| Transition | Visit #0 | | | V[2], | | |
| #0 | aka | T[1] | V[1] | ... | V[n-1] | T[n] |
| aka T[0] | V[0] | | | V[n-2],| | |
| | | | | T[n-1] | | |
^ ^ ^ ^ ^ ^ ^ ^
vehicle V[0].start V[0].end V[1]. V[1]. V[n]. V[n]. vehicle
start (arrival) (departure) start end start end end
โปรดทราบว่าเราแยกความแตกต่างระหว่าง
- "เหตุการณ์ตามเวลา" เช่น จุดเริ่มต้นและจุดสิ้นสุดของยานพาหนะ รวมถึงจุดเริ่มต้นและจุดสิ้นสุดของการเข้าชมแต่ละครั้ง (หรือที่เรียกว่าการมาถึงและการออกเดินทาง) เหตุการณ์เหล่านี้เกิดขึ้นในวินาทีหนึ่งๆ
- "ช่วงเวลา" เช่น การเข้าชมเอง และการเปลี่ยนระหว่างการเข้าชม แม้ว่าบางครั้งช่วงเวลาอาจมีระยะเวลาเป็น 0 เช่น เริ่มต้นและสิ้นสุดในเวลาวินาทีเดียวกัน แต่มักจะมีระยะเวลาเป็นบวก
อินตัวแปร
- หากมีการเข้าชม n ครั้ง ก็จะมีการเปลี่ยน n+1 ครั้ง
- การเข้าชมจะอยู่ระหว่างการเปลี่ยนก่อน (ดัชนีเดียวกัน) และการเปลี่ยนหลังจากนั้น (ดัชนี + 1) เสมอ
- การเปลี่ยน #0 จะตามหลังการสตาร์ทยานพาหนะเสมอ
- ส่วน "สิ้นสุดยานพาหนะ" จะมีการเปลี่ยน #n นำหน้าเสมอ
เมื่อซูมเข้า สิ่งที่จะเกิดขึ้นระหว่าง Transition
และ Visit
มีดังนี้
---+-------------------------------------+-----------------------------+-->
| TRANSITION[i] | VISIT[i] |
| | |
| * TRAVEL: the vehicle moves from | PERFORM the visit: |
| VISIT[i-1].departure_location to | |
| VISIT[i].arrival_location, which | * Spend some time: |
| takes a given travel duration | the "visit duration". |
| and distance | |
| | * Load or unload |
| * BREAKS: the driver may have | some quantities from the |
| breaks (e.g. lunch break). | vehicle: the "demand". |
| | |
| * WAIT: the driver/vehicle does | |
| nothing. This can happen for | |
| many reasons, for example when | |
| the vehicle reaches the next | |
| event's destination before the | |
| start of its time window | |
| | |
| * DELAY: *right before* the next | |
| arrival. E.g. the vehicle and/or | |
| driver spends time unloading. | |
| | |
---+-------------------------------------+-----------------------------+-->
^ ^ ^
V[i-1].end V[i].start V[i].end
สุดท้ายนี้ มาดูวิธีจัดเรียง TRAVEL, BREAKS, DELAY และ WAIT ระหว่างการเปลี่ยนเส้นทาง
- โดยไม่ซ้อนทับกัน
- DELAY จะต้องไม่ซ้ำกันและต้องเป็นระยะเวลาติดต่อกันก่อนการเข้าชมครั้งถัดไป (หรือจุดสิ้นสุดของยานพาหนะ) ดังนั้น คุณก็ทราบเวลาเริ่มต้นและเวลาสิ้นสุดได้จากการทราบระยะเวลาการเลื่อน
- ช่วงพักคือช่วงเวลาที่ต่อเนื่องกันและไม่ทับซ้อนกัน การตอบกลับจะระบุเวลาเริ่มต้นและระยะเวลาของช่วงพักแต่ละช่วง
- TRAVEL และ WAIT เป็น "สถานะที่หยุดชั่วคราวได้" ซึ่งอาจถูกขัดจังหวะหลายครั้งในระหว่างการเปลี่ยนสถานะนี้ ลูกค้าจะถือว่าการเดินทางเกิดขึ้น "โดยเร็วที่สุด" และ "รอ" จะแสดงเวลาที่เหลือ
ตัวอย่าง (ที่ซับซ้อน)
TRANSITION[i]
--++-----+-----------------------------------------------------------++-->
|| | | | | | | ||
|| T | B | T | | B | | D ||
|| r | r | r | W | r | W | e ||
|| a | e | a | a | e | a | l ||
|| v | a | v | i | a | i | a ||
|| e | k | e | t | k | t | y ||
|| l | | l | | | | ||
|| | | | | | | ||
--++-----------------------------------------------------------------++-->
ช่อง | |
---|---|
vehicle_ |
ยานพาหนะที่วิ่งเส้นทาง ซึ่งระบุด้วยดัชนีในแหล่งที่มา |
vehicle_ |
ป้ายกํากับของยานพาหนะที่วิ่งเส้นทางนี้ ซึ่งเท่ากับ |
vehicle_ |
เวลารถเริ่มออกเดินทาง |
vehicle_ |
เวลาที่พาหนะวิ่งเส้นทางเสร็จสิ้น |
visits[] |
ลําดับการเข้าชมที่เรียงลําดับซึ่งแสดงถึงเส้นทาง โดย visits[i] คือการเข้าชมที่ i ในเส้นทาง หากช่องนี้ว่าง ระบบจะถือว่ายานพาหนะไม่ได้ใช้งาน |
transitions[] |
รายการทรานซิชันตามลําดับของเส้นทาง |
has_ |
เมื่อตั้งค่า
เวลาที่มาถึงที่ next_visit มีแนวโน้มที่จะเกิดช้ากว่ากรอบเวลาปัจจุบันเนื่องจากเวลาเดินทางโดยประมาณ |
route_ |
การนำเสนอเส้นประกอบที่เข้ารหัสของเส้นทาง ระบบจะป้อนข้อมูลในช่องนี้เฉพาะในกรณีที่ตั้งค่า |
breaks[] |
ช่วงพักที่กำหนดไว้สำหรับยานพาหนะที่วิ่งเส้นทางนี้ ลำดับ |
metrics |
เมตริกระยะเวลา ระยะทาง และน้ำหนักบรรทุกของเส้นทางนี้ ระบบจะรวมช่อง |
route_ |
ค่าใช้จ่ายของเส้นทางที่แจกแจงตามช่องคำขอที่เกี่ยวข้องกับค่าใช้จ่าย คีย์คือเส้นทางโปรโตคอลซึ่งสัมพันธ์กับอินพุต OptimizeToursRequest เช่น "model.shipments.pickups.cost" และค่าคือต้นทุนทั้งหมดที่สร้างขึ้นจากช่องค่าใช้จ่ายที่เกี่ยวข้อง ซึ่งรวบรวมจากทั่วทั้งเส้นทาง กล่าวคือ costs["model.shipments.pickups.cost"] คือผลรวมของค่าใช้จ่ายในการรับสินค้าทั้งหมดในเส้นทาง ระบบจะรายงานต้นทุนทั้งหมดที่กําหนดไว้ในรูปแบบโดยละเอียดที่นี่ ยกเว้นต้นทุนที่เกี่ยวข้องกับ TransitionAttributes ซึ่งจะรายงานแบบรวมเท่านั้น ณ วันที่ 01/2022 |
route_ |
ต้นทุนรวมของเส้นทาง ผลรวมของค่าใช้จ่ายทั้งหมดในแผนที่ต้นทุน |
พัก
ข้อมูลที่แสดงถึงการดำเนินการของช่วงพัก
ช่อง | |
---|---|
start_ |
เวลาเริ่มต้นของช่วงพัก |
duration |
ระยะเวลาของช่วงพัก |
EncodedPolyline
การนำเสนอที่เข้ารหัสของเส้นประกอบ ดูข้อมูลเพิ่มเติมเกี่ยวกับการเข้ารหัสเส้นประกอบได้ที่ https://developers.google.com/maps/documentation/utilities/polylinealgorithm https://developers.google.com/maps/documentation/javascript/reference/geometry#encoding
ช่อง | |
---|---|
points |
สตริงที่แสดงจุดที่เข้ารหัสของเส้นประกอบ |
ทรานซิชัน
การเปลี่ยนระหว่างเหตุการณ์ 2 รายการในเส้นทาง ดูคำอธิบายของ ShipmentRoute
หากยานพาหนะไม่มี start_location
และ/หรือ end_location
เมตริกการเดินทางที่เกี่ยวข้องจะเป็น 0
ช่อง | |
---|---|
travel_ |
ระยะเวลาการเดินทางระหว่างการเปลี่ยนผ่านนี้ |
travel_ |
ระยะทางที่เดินทางระหว่างการเปลี่ยน |
traffic_ |
เมื่อมีการขอข้อมูลการเข้าชมผ่าน |
delay_ |
ผลรวมของระยะเวลาการเลื่อนเวลาที่ใช้กับทรานซิชันนี้ หากมี หน่วงเวลาจะเริ่มขึ้น |
break_ |
ผลรวมของระยะเวลาของช่วงพักที่เกิดขึ้นระหว่างการเปลี่ยนนี้ หากมี ระบบจะจัดเก็บรายละเอียดเกี่ยวกับเวลาเริ่มต้นและระยะเวลาของช่วงพักแต่ละช่วงไว้ใน |
wait_ |
เวลาที่ใช้ในการรอระหว่างการเปลี่ยนนี้ ระยะเวลารอจะสอดคล้องกับเวลาที่ไม่ได้ใช้งาน และไม่รวมเวลาพัก และโปรดทราบว่าเวลารอนี้อาจแบ่งออกเป็นหลายช่วงเวลาที่ไม่ต่อเนื่องกัน |
total_ |
ระยะเวลาทั้งหมดของการเปลี่ยน ซึ่งระบุไว้เพื่อความสะดวก ซึ่งมีค่าเท่ากับ
|
start_ |
เวลาเริ่มต้นของการเปลี่ยนนี้ |
route_ |
การนําเสนอเส้นประกอบที่เข้ารหัสของเส้นทางที่ไปตามการเปลี่ยน ระบบจะป้อนข้อมูลในช่องนี้เฉพาะในกรณีที่ตั้งค่า |
route_ |
เอาต์พุตเท่านั้น โทเค็นแบบทึบที่สามารถส่งไปยัง Navigation SDK เพื่อสร้างเส้นทางใหม่ระหว่างการนําทาง และในกรณีที่มีการเปลี่ยนเส้นทาง ให้ยึดตามเจตนาเดิมเมื่อสร้างเส้นทาง ถือว่าโทเค็นนี้เป็น Blob แบบทึบ อย่าเปรียบเทียบค่าของเส้นทางนี้ในคำขอต่างๆ เนื่องจากค่าอาจเปลี่ยนแปลงได้แม้ว่าบริการจะแสดงผลเส้นทางเดียวกันทุกประการก็ตาม ระบบจะป้อนข้อมูลในช่องนี้เฉพาะในกรณีที่ตั้งค่า |
vehicle_ |
น้ำหนักบรรทุกของยานพาหนะในระหว่างการเปลี่ยนผ่านนี้สำหรับแต่ละประเภทที่ปรากฏใน น้ำหนักบรรทุกระหว่างการเปลี่ยนเส้นทางครั้งแรกคือน้ำหนักบรรทุกเริ่มต้นของเส้นทางยานพาหนะ จากนั้นหลังจากการเข้าชมแต่ละครั้ง ระบบจะเพิ่มหรือลบ |
VehicleLoad
รายงานน้ำหนักบรรทุกจริงของยานพาหนะ ณ จุดหนึ่งๆ บนเส้นทางสำหรับประเภทหนึ่งๆ (ดู Transition.vehicle_loads
)
ช่อง | |
---|---|
amount |
น้ำหนักบรรทุกของยานพาหนะสำหรับประเภทที่ระบุ โดยปกติแล้ว ประเภทของน้ำหนักบรรทุกจะระบุหน่วยของน้ำหนักบรรทุก ดู |
ไปที่
การเข้าชมที่เกิดขึ้นระหว่างเส้นทาง การเข้าชมนี้สอดคล้องกับการรับหรือการนำส่ง Shipment
ช่อง | |
---|---|
shipment_ |
ดัชนีของช่อง |
is_ |
หากเป็นจริง การเข้าชมจะสอดคล้องกับการรับ |
visit_ |
ดัชนีของ |
start_ |
เวลาที่การเข้าชมเริ่มต้น โปรดทราบว่ายานพาหนะอาจมาถึงสถานที่เข้าชมเร็วกว่านี้ เวลาสอดคล้องกับ |
load_ |
ดีมานด์การโหลดการเข้าชมทั้งหมดเป็นผลรวมของการจัดส่งและคำขอเข้าชม |
detour |
เวลาอ้อมทางเพิ่มเติมเนื่องจากมีการเข้าชมการจัดส่งในเส้นทางก่อนการเข้าชม และเวลารอที่อาจเกิดขึ้นเนื่องจากกรอบเวลา หากการเข้าชมเป็นการนําส่ง ระบบจะคํานวณการอ้อมเส้นทางจากการเข้าชมเพื่อรับสินค้าที่เกี่ยวข้องและเท่ากับ
มิเช่นนั้น ระบบจะคํานวณจากยานพาหนะ
|
shipment_ |
สําเนาของ |
visit_ |
สําเนาของ |
ShipmentTypeIncompatibility
ระบุความเข้ากันไม่ได้ระหว่างการจัดส่งโดยขึ้นอยู่กับ shipment_type ระบบจะจำกัดการแสดงการจัดส่งที่เข้ากันไม่ได้ในเส้นทางเดียวกันตามโหมดที่เข้ากันไม่ได้
ช่อง | |
---|---|
types[] |
รายการประเภทที่ใช้ร่วมกันไม่ได้ การจัดส่ง 2 รายการที่มี |
incompatibility_ |
โหมดที่ใช้กับการทำงานร่วมกันไม่ได้ |
IncompatibilityMode
โหมดที่กําหนดวิธีจํากัดลักษณะที่ปรากฏของการจัดส่งที่เข้ากันไม่ได้ในเส้นทางเดียวกัน
Enum | |
---|---|
INCOMPATIBILITY_MODE_UNSPECIFIED |
โหมดที่เข้ากันไม่ได้ซึ่งไม่ได้ระบุ คุณไม่ควรใช้ค่านี้ |
NOT_PERFORMED_BY_SAME_VEHICLE |
ในโหมดนี้ การจัดส่ง 2 รายการที่มีประเภทเข้ากันไม่ได้จะแชร์ยานพาหนะคันเดียวกันไม่ได้ |
NOT_IN_SAME_VEHICLE_SIMULTANEOUSLY |
สำหรับการจัดส่ง 2 รายการที่มีประเภทที่ใช้ร่วมกันไม่ได้กับโหมดการทำงานร่วมกันไม่ได้ของ
|
ShipmentTypeRequirement
ระบุข้อกำหนดระหว่างการจัดส่งตาม shipment_type ข้อมูลจำเพาะของข้อกำหนดจะกำหนดโดยโหมดข้อกำหนด
ช่อง | |
---|---|
required_ |
รายการประเภทการจัดส่งทางเลือกที่ |
dependent_ |
การจัดส่งทั้งหมดที่มีประเภทในช่อง หมายเหตุ: ไม่อนุญาตให้ใช้เชนข้อกําหนด เช่น |
requirement_ |
โหมดที่ใช้กับข้อกําหนด |
RequirementMode
โหมดที่กําหนดลักษณะของการจัดส่งแบบขึ้นต่อกันในเส้นทาง
Enum | |
---|---|
REQUIREMENT_MODE_UNSPECIFIED |
โหมดข้อกำหนดที่ไม่ได้ระบุ คุณไม่ควรใช้ค่านี้ |
PERFORMED_BY_SAME_VEHICLE |
ในโหมดนี้ การจัดส่ง "ที่ต้องอาศัย" ทั้งหมดต้องใช้ยานพาหนะเดียวกันกับการจัดส่ง "ที่ต้องใช้" อย่างน้อย 1 รายการ |
IN_SAME_VEHICLE_AT_PICKUP_TIME |
เมื่อใช้โหมด ดังนั้นการรับพัสดุ "แบบมีเงื่อนไข" จึงต้องมีอย่างใดอย่างหนึ่งต่อไปนี้
|
IN_SAME_VEHICLE_AT_DELIVERY_TIME |
เช่นเดียวกับก่อนหน้านี้ ยกเว้นการจัดส่งที่ "ขึ้นอยู่กับ" จะต้องมีการจัดส่งที่ "ต้องระบุ" ในยานพาหนะ ณ เวลาที่นำส่ง |
SkippedShipment
ระบุรายละเอียดของการจัดส่งที่ไม่ได้ดำเนินการในโซลูชัน สำหรับกรณีที่ไม่สำคัญและ/หรือหากเราระบุสาเหตุของการข้ามได้ เราจะรายงานสาเหตุที่นี่
ช่อง | |
---|---|
index |
ดัชนีนี้สอดคล้องกับดัชนีของการจัดส่งในแหล่งที่มา |
label |
สําเนาของ |
reasons[] |
รายการเหตุผลที่อธิบายสาเหตุที่ข้ามการจัดส่ง ดูความคิดเห็นด้านบน |
เหตุผล
หากอธิบายสาเหตุที่ข้ามการจัดส่งได้ ระบบจะแสดงเหตุผลไว้ที่นี่ หากเหตุผลไม่เหมือนกันสำหรับยานพาหนะทั้งหมด reason
จะมีองค์ประกอบมากกว่า 1 รายการ การจัดส่งที่ข้ามต้องไม่มีเหตุผลที่ซ้ำกัน เช่น ฟิลด์ทั้งหมดเหมือนกันยกเว้น example_vehicle_index
ตัวอย่าง
reasons {
code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
example_vehicle_index: 1
example_exceeded_capacity_type: "Apples"
}
reasons {
code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
example_vehicle_index: 3
example_exceeded_capacity_type: "Pears"
}
reasons {
code: CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT
example_vehicle_index: 1
}
การจัดส่งที่ข้ามไม่รองรับยานพาหนะบางรุ่น เหตุผลอาจแตกต่างกันไปสำหรับยานพาหนะทุกคัน แต่จะมียานพาหนะอย่างน้อย 1 คันที่มีจำนวน "แอปเปิล" เกินขีดจำกัด (รวมถึงยานพาหนะ 1) จะมียานพาหนะอย่างน้อย 1 คันที่มีจำนวน "ลูกแพร์" เกินขีดจำกัด (รวมถึงยานพาหนะ 3) และจะมียานพาหนะอย่างน้อย 1 คันที่มีระยะทางเกินขีดจำกัด (รวมถึงยานพาหนะ 1)
ช่อง | |
---|---|
code |
โปรดดูความคิดเห็นของโค้ด |
example_ |
หากรหัสเหตุผลคือ |
example_ |
หากเหตุผลเกี่ยวข้องกับความเข้ากันไม่ได้ของยานพาหนะกับการจัดส่ง ฟิลด์นี้จะแสดงดัชนีของยานพาหนะที่เกี่ยวข้อง 1 คัน |
รหัส
โค้ดที่ระบุประเภทเหตุผล ลําดับนี้ไม่มีความหมาย โดยเฉพาะอย่างยิ่ง จะไม่มีการแสดงว่าเหตุผลหนึ่งๆ จะปรากฏก่อนเหตุผลอื่นในโซลูชันหรือไม่ หากมีเหตุผลทั้ง 2 รายการ
Enum | |
---|---|
CODE_UNSPECIFIED |
ไม่ควรใช้ |
NO_VEHICLE |
ไม่มียานพาหนะในโมเดล ทำให้การจัดส่งทั้งหมดเป็นไปไม่ได้ |
DEMAND_EXCEEDS_VEHICLE_CAPACITY |
ดีมานด์ของการจัดส่งเกินความจุของยานพาหนะสำหรับความจุบางประเภท ซึ่งหนึ่งในนั้นคือ example_exceeded_capacity_type |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT |
ระยะทางขั้นต่ำที่จำเป็นในการดำเนินการจัดส่งนี้ เช่น จาก โปรดทราบว่าเราใช้ระยะทางเชิงเรขาคณิตในการคํานวณนี้ |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT |
เวลาขั้นต่ำที่จำเป็นในการดำเนินการจัดส่งนี้ รวมถึงเวลาเดินทาง เวลารอ และเวลาบริการนานกว่า หมายเหตุ: ระบบจะคำนวณเวลาเดินทางในสถานการณ์ที่ดีที่สุด ซึ่งก็คือระยะทางตามแนวเส้นโค้ง x 36 เมตร/วินาที (ประมาณ 130 กิโลเมตร/ชั่วโมง) |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT |
เหมือนกับด้านบน แต่เราจะเปรียบเทียบเฉพาะเวลาเดินทางขั้นต่ำและtravel_duration_limit ของยานพาหนะ |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS |
ยานพาหนะไม่สามารถทำการขนส่งนี้ในสถานการณ์ที่ดีที่สุด (ดูCANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT สำหรับการคํานวณเวลา) หากเริ่มในเวลาเริ่มต้นที่เร็วที่สุด เนื่องจากเวลาทั้งหมดจะทำให้ยานพาหนะสิ้นสุดหลังจากเวลาสิ้นสุดล่าสุด |
VEHICLE_NOT_ALLOWED |
ช่อง allowed_vehicle_indices ของการจัดส่งไม่ได้ว่างเปล่าและรถคันนี้ไม่ได้อยู่ในการจัดส่งดังกล่าว |
TimeWindow
กรอบเวลาจะจำกัดเวลาของเหตุการณ์ เช่น เวลามาถึงที่จุดแวะพัก หรือเวลาเริ่มต้นและสิ้นสุดของยานพาหนะ
ขอบเขตกรอบเวลาแบบบังคับ start_time
และ end_time
จะบังคับใช้เวลาเริ่มต้นเร็วที่สุดและช้าสุดของเหตุการณ์ เช่น start_time <= event_time <=
end_time
ขอบเขตล่างของกรอบเวลาแบบยืดหยุ่น soft_start_time
แสดงค่ากําหนดให้เหตุการณ์เกิดขึ้นตั้งแต่หรือหลังจาก soft_start_time
โดยจะมีต้นทุนตามสัดส่วนกับระยะเวลาก่อนที่เหตุการณ์จะเกิดขึ้นก่อน soft_start_time ขอบบนของกรอบเวลาแบบยืดหยุ่น soft_end_time
แสดงถึงค่ากําหนดให้เหตุการณ์เกิดขึ้นในหรือก่อนวันที่ soft_end_time
โดยจะมีต้นทุนตามสัดส่วนกับระยะเวลาหลังจากที่เกิดเหตุการณ์หลังจากวันที่ soft_end_time
start_time
, end_time
, soft_start_time
และ soft_end_time
ควรอยู่ภายในขีดจำกัดเวลาส่วนกลาง (ดู ShipmentModel.global_start_time
และ ShipmentModel.global_end_time
) และควรเป็นไปตามข้อกำหนดต่อไปนี้
0 <= `start_time` <= `end_time` and
0 <= `start_time` <= `soft_start_time` and
0 <= `soft_end_time` <= `end_time`.
ช่อง | |
---|---|
start_ |
เวลาเริ่มต้นของกรอบเวลาที่เจาะจง หากไม่ระบุ ระบบจะตั้งค่าเป็น |
end_ |
เวลาสิ้นสุดของกรอบเวลาที่เจาะจง หากไม่ได้ระบุ ระบบจะตั้งค่าเป็น |
soft_ |
เวลาเริ่มต้นแบบค่อยเป็นค่อยไปของกรอบเวลา |
soft_ |
เวลาสิ้นสุดโดยประมาณของกรอบเวลา |
cost_ |
ค่าใช้จ่ายต่อชั่วโมงที่เพิ่มลงในค่าใช้จ่ายอื่นๆ ในโมเดลหากเหตุการณ์เกิดขึ้นก่อน soft_start_time โดยคํานวณดังนี้
ค่าจัดส่งนี้ต้องเป็นค่าบวก และคุณจะตั้งค่าช่องนี้ได้ก็ต่อเมื่อมีการตั้งค่า soft_start_time ไว้เท่านั้น |
cost_ |
ค่าใช้จ่ายต่อชั่วโมงที่เพิ่มลงในค่าใช้จ่ายอื่นๆ ในโมเดลหากเหตุการณ์เกิดขึ้นหลังจาก
ต้นทุนนี้ต้องเป็นค่าบวก และคุณจะตั้งค่าช่องนี้ได้ก็ต่อเมื่อตั้งค่า |
TransitionAttributes
ระบุแอตทริบิวต์ของการเปลี่ยนระหว่างการเข้าชม 2 ครั้งติดต่อกันในเส้นทาง TransitionAttributes
หลายรายการอาจใช้กับการเปลี่ยนผ่านเดียวกันได้ ในกรณีนี้ ระบบจะรวมค่าใช้จ่ายเพิ่มเติมทั้งหมดเข้าด้วยกันและใช้ข้อจำกัดหรือขีดจำกัดที่เข้มงวดที่สุด (ตามความหมายของ "AND" ที่เป็นธรรมชาติ)
ช่อง | |
---|---|
src_ |
แท็กที่กําหนดชุดการเปลี่ยน (src->dst) ที่แอตทริบิวต์เหล่านี้มีผล การเข้าชมแหล่งที่มาหรือจุดเริ่มต้นของยานพาหนะจะตรงกันก็ต่อเมื่อ |
excluded_ |
ดู |
dst_ |
การเข้าชมปลายทางหรือจุดสิ้นสุดของยานพาหนะจะตรงกันก็ต่อเมื่อ |
excluded_ |
ดู |
cost |
ระบุค่าใช้จ่ายในการเปลี่ยนผ่านนี้ ค่านี้อยู่ในรูปแบบเดียวกับค่าใช้จ่ายอื่นๆ ทั้งหมดในโมเดลและต้องไม่ติดลบ โดยจะมีผลเพิ่มเติมจากค่าใช้จ่ายอื่นๆ ทั้งหมดที่มีอยู่ |
cost_ |
ระบุต้นทุนต่อกิโลเมตรที่ใช้กับระยะทางที่เดินทางขณะทำการเปลี่ยนนี้ ซึ่งจะรวมกับ |
distance_ |
ระบุขีดจํากัดของระยะทางที่เดินทางขณะทําการเปลี่ยนนี้ ในเดือนมิถุนายน 2021 ระบบจะรองรับเฉพาะขีดจำกัดที่ไม่บังคับเท่านั้น |
delay |
ระบุความล่าช้าที่เกิดขึ้นเมื่อทำการเปลี่ยนนี้ ความล่าช้านี้จะเกิดขึ้นหลังจากการเข้าชมแหล่งที่มาสิ้นสุดลงและก่อนเริ่มการเข้าชมปลายทางเสมอ |
ยานพาหนะ
จำลองยานพาหนะในปัญหาการจัดส่ง การแก้ปัญหาการจัดส่งจะสร้างเส้นทางที่เริ่มต้นจาก start_location
และสิ้นสุดที่ end_location
สำหรับยานพาหนะนี้ เส้นทางคือลําดับการเข้าชม (ดู ShipmentRoute
)
ช่อง | |
---|---|
display_ |
ชื่อที่แสดงของยานพาหนะที่ผู้ใช้กำหนด โดยชื่อมีความยาวได้สูงสุด 63 อักขระ และใช้อักขระ UTF-8 ได้ |
travel_ |
โหมดการเดินทางที่ส่งผลต่อถนนที่ยานพาหนะใช้ได้และความเร็วของยานพาหนะ โปรดดู |
route_ |
ชุดเงื่อนไขที่ต้องเป็นไปตามที่ส่งผลต่อวิธีคำนวณเส้นทางสำหรับยานพาหนะหนึ่งๆ |
start_ |
สถานที่ตั้งทางภูมิศาสตร์ที่ยานพาหนะเริ่มต้นก่อนไปรับการจัดส่ง หากไม่ได้ระบุ ยานพาหนะจะเริ่มที่จุดรับส่งแรก หากรูปแบบการจัดส่งมีเมทริกซ์ระยะเวลาและระยะทาง คุณไม่จำเป็นต้องระบุ |
start_ |
จุดสังเกตที่แสดงสถานที่ตั้งทางภูมิศาสตร์ที่ยานพาหนะเริ่มต้นก่อนรับการจัดส่ง หากไม่ได้ระบุทั้ง |
end_ |
สถานที่ตั้งทางภูมิศาสตร์ที่รถสิ้นสุดการเดินทางหลังจากทำ |
end_ |
จุดสังเกตที่แสดงสถานที่ตั้งทางภูมิศาสตร์ที่ยานพาหนะสิ้นสุดการเดินทางหลังจากทำ |
start_ |
ระบุแท็กที่แนบมากับจุดเริ่มต้นของเส้นทางของยานพาหนะ ไม่อนุญาตให้ใช้สตริงที่ว่างเปล่าหรือซ้ำกัน |
end_ |
ระบุแท็กที่แนบมากับส่วนท้ายของเส้นทางของยานพาหนะ ไม่อนุญาตให้ใช้สตริงที่ว่างเปล่าหรือซ้ำกัน |
start_ |
ช่วงเวลาที่ยานพาหนะอาจออกจากจุดเริ่มต้น โดยต้องอยู่ภายในขีดจำกัดเวลาส่วนกลาง (ดูช่อง กรอบเวลาของช่องที่เกิดซ้ำเดียวกันต้องไม่ซ้อนทับกัน เช่น กรอบเวลาต้องไม่ซ้อนทับหรืออยู่ติดกับกรอบเวลาอื่น และต้องเป็นลำดับตามลำดับเวลา คุณจะตั้งค่า |
end_ |
กรอบเวลารถอาจมาถึงจุดหมาย โดยต้องอยู่ภายในขีดจำกัดเวลาส่วนกลาง (ดูช่อง กรอบเวลาของช่องที่เกิดซ้ำเดียวกันต้องไม่ซ้อนทับกัน เช่น กรอบเวลาต้องไม่ซ้อนทับหรืออยู่ติดกับกรอบเวลาอื่น และต้องเป็นลำดับตามลำดับเวลา คุณจะตั้งค่า |
unloading_ |
นโยบายการขนถ่ายสินค้าที่มีผลกับยานพาหนะ |
load_ |
ความจุของยานพาหนะ (น้ำหนัก ปริมาณ จำนวนพาเลต เป็นต้น) คีย์ในการแมปเป็นตัวระบุประเภทของการโหลด ซึ่งสอดคล้องกับคีย์ของฟิลด์ |
cost_ |
ค่ายานพาหนะ: ค่าใช้จ่ายทั้งหมดจะรวมกันและต้องเป็นหน่วยเดียวกับ ค่าบริการต่อชั่วโมงของเส้นทางยานพาหนะ ค่าใช้จ่ายนี้จะมีผลกับเวลาทั้งหมดที่ใช้ในเส้นทาง ซึ่งรวมถึงเวลาเดินทาง เวลารอ และเวลาเข้าชม การใช้ |
cost_ |
ค่าบริการต่อชั่วโมงที่เดินทางของเส้นทางยานพาหนะ ต้นทุนนี้มีผลกับเวลาเดินทางตามเส้นทางเท่านั้น (นั่นคือเวลาที่รายงานใน |
cost_ |
ค่าบริการต่อกิโลเมตรของเส้นทางยานพาหนะ โดยค่าใช้จ่ายนี้จะมีผลกับระยะทางที่รายงานใน |
fixed_ |
ค่าใช้จ่ายคงที่จะมีผลหากใช้ยานพาหนะนี้เพื่อจัดการการจัดส่ง |
used_ |
ช่องนี้จะใช้ได้กับยานพาหนะเมื่อเส้นทางของยานพาหนะนั้นไม่มีการจัดส่ง ข้อมูลนี้ระบุว่าควรพิจารณายานพาหนะเป็นยานพาหนะมือสองหรือไม่ในกรณีนี้ หากเป็นจริง ยานพาหนะจะเดินทางจากจุดเริ่มต้นไปยังจุดสิ้นสุดแม้ว่าจะไม่ได้ให้บริการขนส่งใดๆ ก็ตาม และระบบจะพิจารณาเวลาและค่าใช้จ่ายจากระยะทางที่เกิดขึ้นจากการเดินทางจากจุดเริ่มต้นไปยังจุดสิ้นสุด ไม่เช่นนั้น ยานพาหนะจะไม่เดินทางจากจุดเริ่มต้นไปยังจุดสิ้นสุด และไม่มีการกำหนดเวลา |
route_ |
ขีดจํากัดที่มีผลกับระยะเวลาทั้งหมดของเส้นทางยานพาหนะ ใน |
travel_ |
ขีดจํากัดมีผลกับระยะเวลาการเดินทางของเส้นทางยานพาหนะ ใน |
route_ |
ขีดจํากัดที่มีผลกับระยะทางรวมของเส้นทางยานพาหนะ ใน |
extra_ |
ระบุการแมปจากสตริง visit_types ไปยังระยะเวลา ระยะเวลาคือเวลาเพิ่มเติมจาก หากคำขอเข้าชมมีหลายประเภท ระบบจะเพิ่มระยะเวลาสำหรับแต่ละประเภทในแผนที่ |
break_ |
อธิบายกำหนดเวลาพักที่จะบังคับใช้กับยานพาหนะนี้ หากว่างเปล่า ระบบจะไม่กำหนดเวลาพักสำหรับยานพาหนะนี้ |
label |
ระบุป้ายกำกับสำหรับยานพาหนะนี้ ระบบจะรายงานป้ายกำกับนี้ในการตอบกลับเป็น |
ignore |
หากเป็นจริง หากการจัดส่งดำเนินการโดยยานพาหนะที่ละเว้นใน หากการจัดส่งดำเนินการโดยยานพาหนะที่ละเว้นใน |
travel_ |
ระบุตัวคูณที่สามารถใช้เพื่อเพิ่มหรือลดเวลาเดินทางของยานพาหนะนี้ เช่น การตั้งค่านี้เป็น 2.0 หมายความว่ายานพาหนะนี้ช้ากว่าและมีเวลาเดินทางเป็น 2 เท่าของยานพาหนะมาตรฐาน อัตราส่วนนี้ไม่ส่งผลต่อระยะเวลาในการเข้าชม แต่จะมีผลต่อต้นทุนหากมีการระบุ โปรดทราบว่าระบบจะปัดเศษเวลาเดินทางเป็นวินาทีที่ใกล้ที่สุดหลังจากใช้ตัวคูณนี้ แต่ก่อนที่จะดำเนินการทางตัวเลขใดๆ ดังนั้นตัวคูณขนาดเล็กอาจทำให้ความแม่นยำลดลง ดูข้อมูลเพิ่มเติมได้ที่ |
DurationLimit
ขีดจํากัดที่กําหนดระยะเวลาสูงสุดของเส้นทางยานพาหนะ โดยอาจเป็นแบบแข็งหรือแบบอ่อนก็ได้
เมื่อกําหนดช่องขีดจํากัดสูงสุดแบบยืดหยุ่น คุณต้องกําหนดทั้งเกณฑ์สูงสุดแบบยืดหยุ่นและต้นทุนที่เกี่ยวข้องร่วมกัน
ช่อง | |
---|---|
max_ |
ขีดจํากัดสูงสุดที่กําหนดให้ระยะเวลาต้องไม่เกิน max_duration |
soft_ |
ขีดจํากัดแบบไม่บังคับจะไม่บังคับใช้ขีดจํากัดระยะเวลาสูงสุด แต่หากมีการละเมิด เส้นทางจะมีค่าใช้จ่าย ต้นทุนนี้จะรวมกับต้นทุนอื่นๆ ที่กําหนดไว้ในโมเดลซึ่งมีหน่วยเดียวกัน หากมีการกําหนด |
quadratic_ |
ขีดจํากัดแบบไม่บังคับจะไม่บังคับใช้ขีดจํากัดระยะเวลาสูงสุด แต่หากมีการละเมิด เส้นทางจะมีต้นทุนแบบ 2 เท่าตามระยะเวลา ต้นทุนนี้จะรวมกับต้นทุนอื่นๆ ที่กําหนดไว้ในโมเดลซึ่งมีหน่วยเดียวกัน หากมีการกําหนด
|
cost_ |
ค่าใช้จ่ายต่อชั่วโมงที่เกิดขึ้นหากมีการละเมิดเกณฑ์
ค่าใช้จ่ายต้องไม่ติดลบ |
cost_ |
ต้นทุนต่อชั่วโมงสี่เหลี่ยมจัตุรัสที่เกิดขึ้นหากมีการละเมิดเกณฑ์ ค่าใช้จ่ายเพิ่มเติมจะเป็น 0 หากระยะเวลาอยู่ต่ำกว่าเกณฑ์ มิเช่นนั้นค่าใช้จ่ายจะขึ้นอยู่กับระยะเวลา ดังนี้
ค่าใช้จ่ายต้องไม่ติดลบ |
LoadLimit
กําหนดขีดจํากัดน้ำหนักบรรทุกที่ใช้กับยานพาหนะ เช่น "รถบรรทุกนี้บรรทุกได้สูงสุด 3, 500 กก." ดูload_limits
ช่อง | |
---|---|
soft_ |
ขีดจำกัดแบบไม่เข้มงวดของการโหลด ดู |
cost_ |
หากน้ำหนักบรรทุกเกิน |
start_ |
ช่วงเวลาของน้ำหนักบรรทุกที่ยอมรับได้ของยานพาหนะเมื่อเริ่มเส้นทาง |
end_ |
ช่วงเวลาการบรรทุกที่ยอมรับได้ของยานพาหนะเมื่อสิ้นสุดเส้นทาง |
max_ |
ปริมาณการโหลดสูงสุดที่ยอมรับได้ |
ช่วงเวลา
ช่วงเวลาของปริมาณการโหลดที่ยอมรับได้
ช่อง | |
---|---|
min |
น้ำหนักบรรทุกขั้นต่ำที่ยอมรับได้ ต้องมากกว่าหรือเท่ากับ 0 หากระบุทั้ง 2 รายการ |
max |
น้ำหนักบรรทุกสูงสุดที่ยอมรับได้ ต้องมากกว่าหรือเท่ากับ 0 หากไม่ได้ระบุ ระบบจะไม่จำกัดน้ำหนักบรรทุกสูงสุดด้วยข้อความนี้ หากระบุทั้ง 2 รายการ |
TravelMode
โหมดการเดินทางที่ยานพาหนะใช้ได้
ซึ่งควรเป็นชุดย่อยของโหมดการเดินทางของ Routes Preferred API ของ Google Maps Platform ดูได้ที่ https://developers.google.com/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteTravelMode
Enum | |
---|---|
TRAVEL_MODE_UNSPECIFIED |
โหมดการเดินทางที่ไม่ระบุ ซึ่งเทียบเท่ากับ DRIVING |
DRIVING |
โหมดการเดินทางที่สอดคล้องกับเส้นทางการขับรถ (รถยนต์ ฯลฯ) |
WALKING |
โหมดการเดินทางที่สอดคล้องกับเส้นทางเดิน |
UnloadingPolicy
นโยบายเกี่ยวกับวิธีขนถ่ายยานพาหนะ ใช้กับการจัดส่งที่มีทั้งการรับสินค้าและการนำส่งเท่านั้น
การจัดส่งอื่นๆ จะเกิดขึ้นที่ใดก็ได้ในเส้นทางโดยไม่ขึ้นอยู่กับ unloading_policy
Enum | |
---|---|
UNLOADING_POLICY_UNSPECIFIED |
นโยบายการขนถ่ายที่ไม่ได้ระบุไว้ การนำส่งต้องเกิดขึ้นหลังจากการยกเลิกการจองที่เกี่ยวข้อง |
LAST_IN_FIRST_OUT |
การนำส่งต้องเกิดขึ้นในลำดับที่กลับกันของการรับสินค้า |
FIRST_IN_FIRST_OUT |
การนำส่งต้องเกิดขึ้นตามลำดับเดียวกับการรับสินค้า |
จุดบอกทาง
บรรจุจุดอ้างอิง จุดสังเกตจะระบุสถานที่มาถึงและออกเดินทางของคำขอเข้าชม รวมถึงสถานที่เริ่มต้นและสิ้นสุดของยานพาหนะ
ช่อง | |
---|---|
side_ |
ไม่บังคับ บ่งบอกว่าตําแหน่งของจุดแวะพักนี้มีไว้เพื่อกำหนดค่ากำหนดให้ยานพาหนะหยุดที่ด้านใดด้านหนึ่งของถนน เมื่อคุณตั้งค่านี้ เส้นทางจะผ่านสถานที่ตั้งเพื่อให้ยานพาหนะหยุดที่ริมถนนซึ่งอยู่ด้านข้างของสถานที่ตั้งจากจุดกึ่งกลางของถนน ตัวเลือกนี้ใช้ไม่ได้กับโหมดการเดินทาง "เดิน" |
ฟิลด์สหภาพ location_type วิธีต่างๆ ในการแสดงสถานที่ location_type ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
location |
จุดที่ระบุโดยใช้พิกัดทางภูมิศาสตร์ รวมถึงส่วนหัวที่ไม่บังคับ |
place_ |
รหัสสถานที่ของจุดที่น่าสนใจที่เชื่อมโยงกับจุดสังเกต |