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.

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