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

মনে রাখবেন যে আমরা এর মধ্যে পার্থক্য করি:

  • "সময়ানুবর্তিতামূলক ঘটনা", যেমন গাড়ির শুরু এবং শেষ এবং প্রতিটি পরিদর্শনের শুরু এবং শেষ (যার অর্থ আগমন এবং প্রস্থান)। এগুলি একটি নির্দিষ্ট সেকেন্ডে ঘটে।
  • "সময়ের ব্যবধান", যেমন পরিদর্শনগুলি নিজেই, এবং পরিদর্শনগুলির মধ্যে পরিবর্তন। যদিও সময়ের ব্যবধানগুলির কখনও কখনও শূন্য সময়কাল থাকতে পারে, অর্থাৎ একই সেকেন্ডে শুরু এবং শেষ হতে পারে, তবে প্রায়শই তাদের একটি ইতিবাচক সময়কাল থাকে।

অপরিবর্তনীয়:

  • যদি 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

পরিশেষে, এখানে একটি পরিবর্তনের সময় ভ্রমণ, বিরতি, বিলম্ব এবং অপেক্ষার ব্যবস্থা কীভাবে করা যেতে পারে তা দেখানো হয়েছে।

  • এগুলো ওভারল্যাপ করে না।
  • বিলম্বের সময়কাল অনন্য এবং পরবর্তী পরিদর্শনের (অথবা গাড়ির শেষের) ঠিক আগে একটি ধারাবাহিক সময়কাল হতে হবে । সুতরাং, বিলম্বের সময়কাল জানা থাকলে এর শুরু এবং শেষের সময় জানা যথেষ্ট।
  • বিরতিগুলি হল সংলগ্ন, অ-ওভারল্যাপিং সময়ের সময়কাল। প্রতিক্রিয়া প্রতিটি বিরতির শুরুর সময় এবং সময়কাল নির্দিষ্ট করে।
  • ভ্রমণ এবং অপেক্ষা "পূর্বনির্ধারিত": এই পরিবর্তনের সময় এগুলি বেশ কয়েকবার বাধাগ্রস্ত হতে পারে। ক্লায়েন্টরা ধরে নিতে পারেন যে ভ্রমণ "যত তাড়াতাড়ি সম্ভব" হবে এবং "অপেক্ষা" বাকি সময় পূরণ করবে।

একটি (জটিল) উদাহরণ:

                               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     |       |           |         |         ||
  ||     |       |           |       |           |         |         ||
--++-----------------------------------------------------------------++-->
JSON উপস্থাপনা
{
  "vehicleIndex": integer,
  "vehicleLabel": string,
  "vehicleStartTime": string,
  "vehicleEndTime": string,
  "visits": [
    {
      object (Visit)
    }
  ],
  "transitions": [
    {
      object (Transition)
    }
  ],
  "hasTrafficInfeasibilities": boolean,
  "routePolyline": {
    object (EncodedPolyline)
  },
  "breaks": [
    {
      object (Break)
    }
  ],
  "metrics": {
    object (AggregatedMetrics)
  },
  "vehicleFullness": {
    object (VehicleFullness)
  },
  "routeCosts": {
    string: number,
    ...
  },
  "routeTotalCost": number
}
ক্ষেত্র
vehicleIndex

integer

উৎস ShipmentModel এ এর সূচক দ্বারা চিহ্নিত রুটটি সম্পাদনকারী যানবাহন।

vehicleLabel

string

এই রুটে চলাচলকারী যানবাহনের লেবেল, যদি নির্দিষ্ট করা থাকে, তাহলে ShipmentModel.vehicles(vehicleIndex).label এর সমান।

vehicleStartTime

string ( Timestamp format)

গাড়িটি যে সময়ে তার যাত্রা শুরু করে।

RFC 3339 ব্যবহার করে, যেখানে উৎপন্ন আউটপুট সর্বদা Z-স্বাভাবিক হবে এবং 0, 3, 6 অথবা 9 ভগ্নাংশ সংখ্যা ব্যবহার করবে। "Z" ব্যতীত অন্যান্য অফসেটগুলিও গ্রহণযোগ্য। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

vehicleEndTime

string ( Timestamp format)

গাড়িটি যে সময়ে তার রুট শেষ করে।

RFC 3339 ব্যবহার করে, যেখানে উৎপন্ন আউটপুট সর্বদা Z-স্বাভাবিক হবে এবং 0, 3, 6 অথবা 9 ভগ্নাংশ সংখ্যা ব্যবহার করবে। "Z" ব্যতীত অন্যান্য অফসেটগুলিও গ্রহণযোগ্য। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

visits[]

object ( Visit )

একটি রুট প্রতিনিধিত্বকারী পরিদর্শনের ক্রমানুসারে ক্রমানুসারে। visits[i] হল রুটের i-তম পরিদর্শন। যদি এই ক্ষেত্রটি খালি থাকে, তাহলে যানবাহনটি অব্যবহৃত বলে বিবেচিত হবে।

transitions[]

object ( Transition )

রুটের জন্য ট্রানজিশনের তালিকা অর্ডার করা হয়েছে।

hasTrafficInfeasibilities

boolean

যখন OptimizeToursRequest.consider_road_traffic , সত্য হিসেবে সেট করা থাকে, তখন এই ক্ষেত্রটি নির্দেশ করে যে ট্র্যাফিক-ভিত্তিক ভ্রমণের সময়কালের অনুমান ব্যবহার করে রুটের সময়ের অসঙ্গতিগুলি পূর্বাভাস দেওয়া হয়। ট্র্যাফিক-সামঞ্জস্যপূর্ণ ভ্রমণ, বিলম্ব এবং পরিদর্শনের মধ্যে বিরতি, প্রথম পরিদর্শনের আগে বা শেষ পরিদর্শনের পরে, পর্যাপ্ত সময় নাও থাকতে পারে, যদিও এখনও পরিদর্শন এবং যানবাহনের সময় উইন্ডো পূরণ করে। উদাহরণস্বরূপ,

  startTime(previous_visit) + duration(previous_visit) +
  travelDuration(previous_visit, next_visit) > startTime(next_visit)

ট্র্যাফিকের কারণে ভ্রমণের সময়সীমা travelDuration(previous_visit, next_visit) বৃদ্ধির কারণে next_visit-এ পৌঁছানোর সম্ভাবনা বর্তমান সময়ের চেয়ে দেরিতে হবে। এছাড়াও, ভ্রমণের সময়সীমা বৃদ্ধি এবং পরিদর্শন বা বিরতির সময়সীমা সীমাবদ্ধতার কারণে একটি বিরতি একটি পরিদর্শনের সাথে ওভারল্যাপ করতে বাধ্য হতে পারে।

routePolyline

object ( EncodedPolyline )

রুটের এনকোডেড পলিলাইন উপস্থাপনা। OptimizeToursRequest.populate_polylines সত্য হিসেবে সেট করা থাকলেই কেবল এই ক্ষেত্রটি পূরণ করা হবে।

breaks[]

object ( Break )

এই রুটে চলাচলকারী যানবাহনের জন্য নির্ধারিত বিরতি। breaks ক্রম সময়ের ব্যবধানকে প্রতিনিধিত্ব করে, প্রতিটি সময়কাল সংশ্লিষ্ট startTime থেকে শুরু হয় এবং সেকেন্ড duration হয়।

metrics

object ( AggregatedMetrics )

এই রুটের সময়কাল, দূরত্ব এবং লোড মেট্রিক্স। প্রেক্ষাপটের উপর নির্ভর করে AggregatedMetrics এর ক্ষেত্রগুলি সমস্ত ShipmentRoute.transitions বা ShipmentRoute.visits তে সংক্ষেপিত করা হয়।

vehicleFullness

object ( VehicleFullness )

ক্যাপড মেট্রিকগুলি তাদের নিজ নিজ যানবাহনের সীমার কতটা কাছাকাছি তা গণনা করার জন্য VehicleFullness ক্ষেত্র। এর ক্ষেত্রগুলি হল একটি ক্যাপড মেট্রিক ক্ষেত্র (যেমন AggregatedMetrics.travel_distance_meters ) এবং সম্পর্কিত যানবাহনের সীমা (যেমন Vehicle.route_distance_limit ) এর মধ্যে অনুপাত।

পরীক্ষামূলক: ভবিষ্যতে এই ক্ষেত্রের আচরণ বা অস্তিত্ব পরিবর্তিত হতে পারে।

routeCosts

map (key: string, value: number)

রুটের খরচ, খরচ-সম্পর্কিত অনুরোধ ক্ষেত্র দ্বারা বিভক্ত। কীগুলি হল প্রোটো পাথ, ইনপুট OptimizeToursRequest এর সাথে সম্পর্কিত, যেমন "model.shipments.pickups.cost", এবং মানগুলি হল সংশ্লিষ্ট খরচ ক্ষেত্র দ্বারা উৎপন্ন মোট খরচ, যা সমগ্র রুটে একত্রিত করা হয়েছে। অন্য কথায়, costs["model.shipments.pickups.cost"] হল রুটে সমস্ত পিকআপ খরচের যোগফল। মডেলে সংজ্ঞায়িত সমস্ত খরচ এখানে বিস্তারিতভাবে রিপোর্ট করা হয়েছে, TransitionAttributes সম্পর্কিত খরচ বাদে যা শুধুমাত্র 2022/01 অনুযায়ী সমষ্টিগতভাবে রিপোর্ট করা হয়েছে।

routeTotalCost

number

রুটের মোট খরচ। খরচ মানচিত্রে সমস্ত খরচের যোগফল।

যান

একটি রুট চলাকালীন একটি পরিদর্শন। এই পরিদর্শনটি একটি Shipment পিকআপ বা ডেলিভারির সাথে সম্পর্কিত।

JSON উপস্থাপনা
{
  "shipmentIndex": integer,
  "isPickup": boolean,
  "visitRequestIndex": integer,
  "startTime": string,
  "loadDemands": {
    string: {
      object (Load)
    },
    ...
  },
  "detour": string,
  "shipmentLabel": string,
  "visitLabel": string,
  "injectedSolutionLocationToken": integer
}
ক্ষেত্র
shipmentIndex

integer

উৎস ShipmentModelshipments ক্ষেত্রের সূচক।

isPickup

boolean

যদি সত্য হয়, তাহলে ভিজিটটি একটি Shipment পিকআপের সাথে সম্পর্কিত। অন্যথায়, এটি একটি ডেলিভারির সাথে সম্পর্কিত।

visitRequestIndex

integer

Shipment পিকআপ বা ডেলিভারি ক্ষেত্রে VisitRequest সূচী ( isPickup দেখুন)।

startTime

string ( Timestamp format)

পরিদর্শন শুরু হওয়ার সময়। মনে রাখবেন যে যানবাহনটি পরিদর্শন স্থানে এর আগে পৌঁছাতে পারে। সময়গুলি ShipmentModel এর সাথে সামঞ্জস্যপূর্ণ।

RFC 3339 ব্যবহার করে, যেখানে উৎপন্ন আউটপুট সর্বদা Z-স্বাভাবিক হবে এবং 0, 3, 6 অথবা 9 ভগ্নাংশ সংখ্যা ব্যবহার করবে। "Z" ব্যতীত অন্যান্য অফসেটগুলিও গ্রহণযোগ্য। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

loadDemands

map (key: string, value: object ( Load ))

মোট ভিজিট লোড ডিমান্ডকে শিপমেন্ট এবং ভিজিট রিকোয়েস্ট loadDemands যোগফল হিসেবে বিবেচনা করা হয়। ভিজিট ডেলিভারি হলে মানগুলি ঋণাত্মক হয়। Transition.loads এর মতো একই ধরণের চাহিদা রিপোর্ট করা হয় (এই ক্ষেত্রটি দেখুন)।

detour

string ( Duration format)

ভ্রমণের আগে রুটে পরিদর্শন করা শিপমেন্ট এবং সময়সূচীর কারণে সম্ভাব্য অপেক্ষার সময়ের কারণে অতিরিক্ত ঘুরপথ সময়। যদি ভ্রমণটি একটি ডেলিভারি হয়, তাহলে সংশ্লিষ্ট পিকআপ পরিদর্শন থেকে ঘুরপথ গণনা করা হয় এবং এর সমান:

startTime(delivery) - startTime(pickup)
- (duration(pickup) + travel duration from the pickup location
to the delivery location).

অন্যথায়, এটি গাড়ির startLocation থেকে গণনা করা হয় এবং এর সমান:

startTime - vehicleStartTime - travel duration from
the vehicle's `startLocation` to the visit.

সেকেন্ডে একটি সময়কাল যার সর্বোচ্চ নয়টি ভগ্নাংশ সংখ্যা ' s ' দিয়ে শেষ হয়। উদাহরণ: "3.5s"

shipmentLabel

string

সংশ্লিষ্ট Shipment.label এর কপি, যদি Shipment এ উল্লেখ করা থাকে।

visitLabel

string

সংশ্লিষ্ট VisitRequest.label এর কপি, যদি VisitRequest এ উল্লেখ করা থাকে।

injectedSolutionLocationToken

integer

একটি অস্বচ্ছ টোকেন যা পরিদর্শনের স্থান সম্পর্কে তথ্য উপস্থাপন করে।

এই ভিজিটের জন্য যখন VisitRequest.avoid_u_turns কে true তে সেট করা হয়েছিল অথবা OptimizeToursRequest অনুরোধে ShipmentModel.avoid_u_turns true তে সেট করা হয়েছিল, তখন এই ক্ষেত্রটি ফলাফল রুটের ভিজিটে পূরণ করা হতে পারে।

পরীক্ষামূলক: আরও বিস্তারিত জানার জন্য https://developers.google.com/maps/tt/route-optimization/experimental/u-turn-avoidance/make-request দেখুন।

রূপান্তর

রুটে দুটি ইভেন্টের মধ্যে পরিবর্তন। ShipmentRoute এর বর্ণনা দেখুন।

যদি গাড়ির startLocation এবং/অথবা endLocation না থাকে, তাহলে সংশ্লিষ্ট ভ্রমণের মেট্রিক্স 0 হবে।

JSON উপস্থাপনা
{
  "travelDuration": string,
  "travelDistanceMeters": number,
  "trafficInfoUnavailable": boolean,
  "delayDuration": string,
  "breakDuration": string,
  "waitDuration": string,
  "totalDuration": string,
  "startTime": string,
  "routePolyline": {
    object (EncodedPolyline)
  },
  "routeToken": string,
  "vehicleLoads": {
    string: {
      object (VehicleLoad)
    },
    ...
  }
}
ক্ষেত্র
travelDuration

string ( Duration format)

এই পরিবর্তনের সময় ভ্রমণের সময়কাল।

সেকেন্ডে একটি সময়কাল যার সর্বোচ্চ নয়টি ভগ্নাংশ সংখ্যা ' s ' দিয়ে শেষ হয়। উদাহরণ: "3.5s"

travelDistanceMeters

number

স্থানান্তরের সময় ভ্রমণ করা দূরত্ব।

trafficInfoUnavailable

boolean

যখন OptimizeToursRequest.consider_road_traffic এর মাধ্যমে ট্র্যাফিকের অনুরোধ করা হয় এবং Transition জন্য ট্র্যাফিক তথ্য পুনরুদ্ধার করা যায় না, তখন এই বুলিয়ানটি সত্যে সেট করা হয়। এটি অস্থায়ী (রিয়েলটাইম ট্র্যাফিক সার্ভারে বিরল সমস্যা) বা স্থায়ী (এই অবস্থানের জন্য কোনও ডেটা নেই) হতে পারে।

delayDuration

string ( Duration format)

এই ট্রানজিশনে প্রয়োগ করা বিলম্বের সমষ্টি। যদি থাকে, তাহলে বিলম্বটি পরবর্তী ইভেন্টের (ভ্রমণ বা যানবাহনের সমাপ্তি) ঠিক delayDuration সেকেন্ড আগে শুরু হয়। TransitionAttributes.delay দেখুন।

সেকেন্ডে একটি সময়কাল যার সর্বোচ্চ নয়টি ভগ্নাংশ সংখ্যা ' s ' দিয়ে শেষ হয়। উদাহরণ: "3.5s"

breakDuration

string ( Duration format)

এই ট্রানজিশনের সময়কালের বিরতির সমষ্টি, যদি থাকে। প্রতিটি বিরতির শুরুর সময় এবং সময়কাল সম্পর্কে বিশদ বিবরণ ShipmentRoute.breaks এ সংরক্ষণ করা হয়।

সেকেন্ডে একটি সময়কাল যার সর্বোচ্চ নয়টি ভগ্নাংশ সংখ্যা ' s ' দিয়ে শেষ হয়। উদাহরণ: "3.5s"

waitDuration

string ( Duration format)

এই পরিবর্তনের সময় অপেক্ষা করতে হয়েছে। অপেক্ষার সময়কাল অলস সময়ের সাথে মিলে যায় এবং এর মধ্যে বিরতির সময় অন্তর্ভুক্ত নয়। আরও মনে রাখবেন যে এই অপেক্ষার সময়টি বেশ কয়েকটি অসংলগ্ন বিরতিতে বিভক্ত হতে পারে।

সেকেন্ডে একটি সময়কাল যার সর্বোচ্চ নয়টি ভগ্নাংশ সংখ্যা ' s ' দিয়ে শেষ হয়। উদাহরণ: "3.5s"

totalDuration

string ( Duration format)

সুবিধার জন্য প্রদত্ত স্থানান্তরের মোট সময়কাল। এটি সমান:

  • পরবর্তী ধাপে startTime (অথবা vehicleEndTime যদি এটি শেষ ধাপ হয়) - এই ধাপের ধাপে startTime ;
  • যদি ShipmentRoute.has_traffic_infeasibilities মিথ্যা হয়, তাহলে নিম্নলিখিতগুলি অতিরিক্তভাবে প্রযোজ্য: `totalDuration = travelDuration + delayDuration
  • ব্রেকডিউরেশন + অপেক্ষার সময়কাল`।

সেকেন্ডে একটি সময়কাল যার সর্বোচ্চ নয়টি ভগ্নাংশ সংখ্যা ' s ' দিয়ে শেষ হয়। উদাহরণ: "3.5s"

startTime

string ( Timestamp format)

এই পরিবর্তনের শুরুর সময়।

RFC 3339 ব্যবহার করে, যেখানে উৎপন্ন আউটপুট সর্বদা Z-স্বাভাবিক হবে এবং 0, 3, 6 অথবা 9 ভগ্নাংশ সংখ্যা ব্যবহার করবে। "Z" ব্যতীত অন্যান্য অফসেটগুলিও গ্রহণযোগ্য। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

routePolyline

object ( EncodedPolyline )

ট্রানজিশনের সময় অনুসরণ করা রুটের এনকোডেড পলিলাইন উপস্থাপনা। populateTransitionPolylines সত্য হিসেবে সেট করা থাকলেই এই ক্ষেত্রটি পূরণ করা হয়।

routeToken

string

শুধুমাত্র আউটপুট। একটি অস্বচ্ছ টোকেন যা নেভিগেশনের সময় রুট পুনর্গঠনের জন্য নেভিগেশন SDK- তে পাঠানো যেতে পারে, এবং, পুনরায় রুট করার ক্ষেত্রে, রুট তৈরির সময় মূল উদ্দেশ্যটি পালন করে। এই টোকেনটিকে একটি অস্বচ্ছ ব্লব হিসাবে বিবেচনা করুন। অনুরোধগুলির মধ্যে এর মান তুলনা করবেন না কারণ পরিষেবাটি একই রুট ফেরত দিলেও এর মান পরিবর্তিত হতে পারে। এই ক্ষেত্রটি কেবল তখনই পূরণ করা হবে যদি populateTransitionPolylines সত্য হিসাবে সেট করা থাকে।

vehicleLoads

map (key: string, value: object ( VehicleLoad ))

এই ট্রানজিশনের সময় যানবাহন লোড হয়, প্রতিটি ধরণের জন্য যা হয় এই গাড়ির Vehicle.load_limits এ প্রদর্শিত হয়, অথবা যেগুলির Shipment.load_demands শূন্য নয় এই রুটে সম্পাদিত কিছু চালানে।

প্রথম ট্রানজিশনের সময় লোডগুলি হল গাড়ির রুটের শুরুর লোড। তারপর, প্রতিটি ভিজিটের পরে, ভিজিটের loadDemands হয় যোগ করা হয় বা বিয়োগ করা হয় পরবর্তী ট্রানজিটের লোড পেতে, ভিজিটটি পিকআপ নাকি ডেলিভারি ছিল তার উপর নির্ভর করে।

এনকোডেডপলিলাইন

একটি পলিলাইনের এনকোডেড উপস্থাপনা। পলিলাইন এনকোডিং সম্পর্কে আরও তথ্য এখানে পাওয়া যাবে: https://developers.google.com/maps/documentation/utilities/polylinealgorithm https://developers.google.com/maps/documentation/javascript/reference/geometry#encoding

JSON উপস্থাপনা
{
  "points": string
}
ক্ষেত্র
points

string

পললাইনের এনকোডেড বিন্দুগুলি প্রতিনিধিত্বকারী স্ট্রিং।

বিরতি

একটি বিরতির সম্পাদনের প্রতিনিধিত্বকারী ডেটা।

JSON উপস্থাপনা
{
  "startTime": string,
  "duration": string
}
ক্ষেত্র
startTime

string ( Timestamp format)

বিরতির শুরুর সময়।

RFC 3339 ব্যবহার করে, যেখানে উৎপন্ন আউটপুট সর্বদা Z-স্বাভাবিক হবে এবং 0, 3, 6 অথবা 9 ভগ্নাংশ সংখ্যা ব্যবহার করবে। "Z" ব্যতীত অন্যান্য অফসেটগুলিও গ্রহণযোগ্য। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

duration

string ( Duration format)

বিরতির সময়কাল।

সেকেন্ডে একটি সময়কাল যার সর্বোচ্চ নয়টি ভগ্নাংশ সংখ্যা ' s ' দিয়ে শেষ হয়। উদাহরণ: "3.5s"

যানবাহনের পূর্ণতা

VehicleFullness হল একটি মেট্রিক যা একটি গাড়ি কতটা পূর্ণ তা গণনা করে। প্রতিটি VehicleFullness ক্ষেত্র 0 এবং 1 এর মধ্যে, একটি সীমাবদ্ধ মেট্রিক ক্ষেত্র (যেমন AggregatedMetrics.travel_distance_meters ) এবং এর সাথে সম্পর্কিত যানবাহন সীমা (যেমন Vehicle.route_distance_limit ) এর মধ্যে অনুপাত হিসাবে গণনা করা হয়, যদি এটি বিদ্যমান থাকে। অন্যথায় পূর্ণতা অনুপাত সেট না করা থাকে। যদি সীমা 0 হয়, তাহলে ক্ষেত্রটি 1 এ সেট করা হয়। দ্রষ্টব্য: যখন একটি রুট ট্র্যাফিক অসম্ভাব্যতার বিষয় হয়, তখন কিছু কাঁচা পূর্ণতা অনুপাত 1.0 ছাড়িয়ে যেতে পারে, যেমন গাড়িটি তার দূরত্ব সীমা অতিক্রম করতে পারে। এই ক্ষেত্রে, আমরা পূর্ণতার মান 1.0 এ সীমাবদ্ধ করি।

JSON উপস্থাপনা
{
  "maxFullness": number,
  "distance": number,
  "travelDuration": number,
  "activeDuration": number,
  "maxLoad": number,
  "activeSpan": number
}
ক্ষেত্র
maxFullness

number

এই বার্তার অন্যান্য সকল ক্ষেত্রের মধ্যে সর্বাধিক।

distance

number

AggregatedMetrics.travel_distance_meters এবং Vehicle.route_distance_limit মধ্যে অনুপাত। যদি Vehicle.route_distance_limit সেট না করা থাকে, তাহলে এই ক্ষেত্রটি সেট না করা হবে।

travelDuration

number

[AggregatedMetrics.travel_duration_seconds][] এবং Vehicle.travel_duration_limit মধ্যে অনুপাত। যদি Vehicle.travel_duration_limit সেট না করা থাকে, তাহলে এই ক্ষেত্রটি সেট না করা হবে।

activeDuration

number

[AggregatedMetrics.total_duration_seconds][] এবং Vehicle.route_duration_limit এর মধ্যে অনুপাত। যদি Vehicle.route_duration_limit সেট না করা থাকে, তাহলে এই ক্ষেত্রটি সেট না করা হবে।

maxLoad

number

সকল প্রকার [AggregatedMetrics.max_load][] এবং তাদের সংশ্লিষ্ট Vehicle.load_limits এর মধ্যে সর্বোচ্চ অনুপাত। যদি সমস্ত Vehicle.load_limits ক্ষেত্র সেট না করা থাকে, তাহলে এই ক্ষেত্রটি সেট না করা হবে।

activeSpan

number

একটি নির্দিষ্ট গাড়ির জন্য অনুপাত (vehicleEndTime - vehicleStartTime) / (latestVehicleEndTime - earliestVehicleStartTime)। যদি হর উপস্থিত না থাকে, তাহলে এটি ( ShipmentModel.global_end_time - ShipmentModel.global_start_time ) ব্যবহার করে।