Oficjalna dokumentacja API Goodloading

Zarządzanie ładunkami w przestrzeni ładunkowej

Wiele ładunków w przestrzeni ładunkowej

Poniżej został podany przykład odnośnie zapytania dla umieszczenia różnorodnych ładunków w przestrzeni ładunkowej

Zapytanie:

    "loads": [
        {
           "quantity": 10,
           "name": "load 1",
           "length": 120,
           "width": 80,
           "height": 100,
           "weight": 100
        },
         {
           "quantity": 5,
           "name": "load 2",
           "length": 100,
           "width": 50,
           "height": 100,
           "weight": 500
        },
        {
           "quantity": 5,
           "name": "load 3",
           "length": 100,
           "width": 50,
           "height": 100,
           "weight": 500
        }
],
        "loadingSpaces": [
        {
            "quantity": 1,
            "name": "truck 2",
            "parts": [
                {
                    "length": 1300,
                    "width": 200,
                    "height": 200,
                    "limit": 24000
                }
            ]
        }
    ], 
  "options": {
            }
}

Rezultat

Różne typy ładunków

W Goodloading dostępne są 3 typy ładunków, opisane parametrem “loadType”:

  • 0 – ładunek prostopadłościenny
  • 1 – beczka
  • 2 – rura

Dla wymienionych typów ładunków, obowiązują:ściśle określone zasady mapowania parametrów ładunków podanych w Request na parametry w Response, które są skorelowane ze sposobem ułożenia ładunku w przestrzeni.

Układanie ładunków w przestrzeni ładunkowej, tak jak to było już powiedziane we wcześniejszym rozdziale, zawsze odnosi się do układu współrzędnych: x,y,z, którego początek {x=0, y=0, z=0}, zawsze znajduje się w lewym dolnym rogu przestrzeni patrząc od jej tyłu.

integracja-rozne-typy-ladunkow

Algorytm, optymalizując załadunek, może obracac ładunki, o ile jest to dozwolone. Za obracanie ładunków odpowiadają parametry:

  • allowToRotate – domyślne ustawienie “true” – pozwala na obracanie ładunków tylko przy podstawie, czyli dotyczy tylko prostopadłościanów i rur
  • rotateFreely – domyślne ustawienie “false” – pozwala na dowolne obracanie wyłącznie prostopadłościanów

Odnośnie parametrów w Response, obowiązuje zawsze zasada, że poszczególne osie odpowiadają następującym parametrom ładunku:

  • x – “width” – szerokość,
  • y – “height” – wysokość,
  • z – “length” – długość,

Powyższe typy parametrów, w Response dotyczą wszystkich typów ładunków, ponieważ nawet dla rur i beczek, algorytm przekształca zawsze ich parametry wejściowe na “width”, “height” i “length”, jako parametry wyjściowe.

W kolejnych podrozdziałach, przedstawiono szczegółowe opisy wszystkich typów ładunków.

Ładunek prostopadłościenny

Typ ładunku “loadType”: 0.
Ładunek prostopadłościenny jest określony w Request przez 3 parametry związane z przestrzenią:

  • “width”,
  • “height”,
  • “length”

Na podstawie tych parametrów algorytm nadaje ładunkowi parametry wyjściowe w Response, kierując się własnymi zasadami układania. Przykładowo, przy załadunku od tyłu ładunki są układane od lewego dolnego rogu przy kabinie kierowcy, a kolejne rzędy są wypełniane od strony kabiny. Algorytm uwzględnia przy tym parametry zezwalające na obracanie ładunków. W poniższym przykładzie w Response algorytm zamienił wartości “width” i “length”, ponieważ miał domyślne pozwolenie na obracanie ładunku przy podstawie.
W poniższym przykładzie parametry dotyczące przestrzeni zostały wyróżnione kolorem w Request oraz w Response.

Request

{
  "loads": [
        {
           "quantity": 1,
           "name": "load 1",
           "length": 100,
           "width": 50,
           "height": 200,
           "weight": 500,
           "loadType": 0
        }
],
   "loadingSpaces": [
        {
           "quantity": 1,
            "name": "Bus 8 EP",
            "parts": [
                {
                    "length": 420,
                    "width": 220,
                    "height": 220,
                    "limit": 1500
                }
            ]
        }  
    ],  
  "options": {
            }
}

Response

{
    "loadingSpaces": [
        {
            "id": 1,
            "name": "Bus 8 EP",
            "parts": [
                {
                    "height": 220,
                    "length": 420,
                    "width": 220,
                    "limit": 1500,
                    "loads": [
                        {
                            "id": 1,
                            "allowToRotate": true,
                            "stacking": true,
                            "name": "load 1",
                            "loadType": 0,
                            "priority": 0,
                            "quantity": 1,
                            "width": 100,
                            "length": 50,
                            "height": 200,
                            "weight": 500,
                            "diameter": 0,
                            "origin": null,
                            "destination": null,
                            "pctSupport": 100,
                            "alongFloor": false,
                            "boxesBelowAllowed": [],
                            "color": 6989903,
                            "placement": [
                                {
                                    "height": 200,
                                    "length": 50,
                                    "width": 100,
                                    "diame