{
  "routes": [
    {
      "route_name": "KM. Sabuk Nusantara 111",
      "route_forecast": {
        "coordinates": [
          {
            "lat": -3.477611,
            "lng": 119.446816,
            "distance_from_start": 0,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 37,
              "wave_height": 0.74,
              "wind_speed": 5,
              "wind_from": "Tenggara",
              "wind_gust": 8,
              "current_speed": 0.19,
              "current_to": "Timur"
            }
          },
          {
            "lat": -3.518835602167259,
            "lng": 119.2907067138012,
            "distance_from_start": 10.149598953093408,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 47,
              "wave_height": 0.7,
              "wind_speed": 3,
              "wind_from": "Selatan",
              "wind_gust": 5,
              "current_speed": 0.48,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -3.5715528698524914,
            "lng": 119.12977942662702,
            "distance_from_start": 20.299197906186816,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 50,
              "wave_height": 0.53,
              "wind_speed": 9,
              "wind_from": "Barat Laut",
              "wind_gust": 14,
              "current_speed": 0.15,
              "current_to": "Utara"
            }
          },
          {
            "lat": -3.624270137537724,
            "lng": 118.96885213945284,
            "distance_from_start": 30.448796859280222,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 53,
              "wave_height": 0.97,
              "wind_speed": 16,
              "wind_from": "Barat Laut",
              "wind_gust": 25,
              "current_speed": 0.39,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -3.5682580186611133,
            "lng": 118.81963472368012,
            "distance_from_start": 40.59839581237363,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 54,
              "wave_height": 1.07,
              "wind_speed": 16,
              "wind_from": "Barat",
              "wind_gust": 24,
              "current_speed": 0.35,
              "current_to": "Barat"
            }
          },
          {
            "lat": -3.4806238949967465,
            "lng": 118.67481860668593,
            "distance_from_start": 50.747994765467034,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 53,
              "wave_height": 0.98,
              "wind_speed": 15,
              "wind_from": "Barat",
              "wind_gust": 22,
              "current_speed": 0.52,
              "current_to": "Barat"
            }
          },
          {
            "lat": -3.3949348453636476,
            "lng": 118.52904019451442,
            "distance_from_start": 60.897593718560444,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 50,
              "wave_height": 0.91,
              "wind_speed": 13,
              "wind_from": "Barat",
              "wind_gust": 19,
              "current_speed": 0.61,
              "current_to": "Barat"
            }
          },
          {
            "lat": -3.3222872869834266,
            "lng": 118.37614257601435,
            "distance_from_start": 71.04719267165386,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 48,
              "wave_height": 0.85,
              "wind_speed": 14,
              "wind_from": "Barat Daya",
              "wind_gust": 21,
              "current_speed": 0.68,
              "current_to": "Barat"
            }
          },
          {
            "lat": -3.2496397286032055,
            "lng": 118.22324495751427,
            "distance_from_start": 81.19679162474726,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 30,
              "wave_height": 0.78,
              "wind_speed": 12,
              "wind_from": "Barat Daya",
              "wind_gust": 19,
              "current_speed": 0.7,
              "current_to": "Barat"
            }
          },
          {
            "lat": -3.1808191341914838,
            "lng": 118.06860505486246,
            "distance_from_start": 91.34639057784067,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 18,
              "wave_height": 0.71,
              "wind_speed": 12,
              "wind_from": "Barat Daya",
              "wind_gust": 18,
              "current_speed": 0.77,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -3.115833538669941,
            "lng": 117.91274318803961,
            "distance_from_start": 101.49598953093407,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 34,
              "wave_height": 0.66,
              "wind_speed": 12,
              "wind_from": "Barat Daya",
              "wind_gust": 18,
              "current_speed": 0.65,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -3.0843347455148744,
            "lng": 117.74641643876676,
            "distance_from_start": 111.64558848402748,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 40,
              "wave_height": 0.65,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.61,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -3.052369894272656,
            "lng": 117.58018868454081,
            "distance_from_start": 121.79518743712089,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 48,
              "wave_height": 0.68,
              "wind_speed": 12,
              "wind_from": "Barat Daya",
              "wind_gust": 18,
              "current_speed": 0.51,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -3.014358254173424,
            "lng": 117.4152453241772,
            "distance_from_start": 131.9447863902143,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 56,
              "wave_height": 0.71,
              "wind_speed": 12,
              "wind_from": "Barat Daya",
              "wind_gust": 18,
              "current_speed": 0.35,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -2.976346614074192,
            "lng": 117.2503019638136,
            "distance_from_start": 142.09438534330772,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 56,
              "wave_height": 0.74,
              "wind_speed": 12,
              "wind_from": "Barat Daya",
              "wind_gust": 19,
              "current_speed": 0.24,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -2.9626069287419017,
            "lng": 117.0853015845526,
            "distance_from_start": 152.24398429640112,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 47,
              "wave_height": 0.74,
              "wind_speed": 12,
              "wind_from": "Barat Daya",
              "wind_gust": 18,
              "current_speed": 0.28,
              "current_to": "Barat"
            }
          },
          {
            "lat": -2.999873915435793,
            "lng": 116.92018138205421,
            "distance_from_start": 162.39358324949453,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 26,
              "wave_height": 0.72,
              "wind_speed": 12,
              "wind_from": "Barat Daya",
              "wind_gust": 18,
              "current_speed": 0.4,
              "current_to": "Barat"
            }
          },
          {
            "lat": -3.0371409021296842,
            "lng": 116.75506117955584,
            "distance_from_start": 172.54318220258793,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 19,
              "wave_height": 0.67,
              "wind_speed": 10,
              "wind_from": "Barat",
              "wind_gust": 16,
              "current_speed": 0.53,
              "current_to": "Barat"
            }
          },
          {
            "lat": -3.0744078888235755,
            "lng": 116.58994097705745,
            "distance_from_start": 182.69278115568133,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 37,
              "wave_height": 0.58,
              "wind_speed": 10,
              "wind_from": "Barat Daya",
              "wind_gust": 15,
              "current_speed": 0.71,
              "current_to": "Barat"
            }
          },
          {
            "lat": -3.111674875517467,
            "lng": 116.42482077455907,
            "distance_from_start": 192.84238010877473,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 27,
              "wave_height": 0.52,
              "wind_speed": 10,
              "wind_from": "Barat Daya",
              "wind_gust": 16,
              "current_speed": 0.65,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -3.1685346090424953,
            "lng": 116.27066423494261,
            "distance_from_start": 202.99197906186814,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 20,
              "wave_height": 0.34,
              "wind_speed": 7,
              "wind_from": "Barat Daya",
              "wind_gust": 11,
              "current_speed": 0.4,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -3.28947,
            "lng": 116.152363,
            "distance_from_start": 213.14157801496157,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 20,
              "wave_height": 0,
              "wind_speed": 7,
              "wind_from": "Selatan",
              "wind_gust": 10,
              "current_speed": 0.43,
              "current_to": "Barat Daya"
            }
          }
        ],
        "departure_time": "2026-03-25T16:00",
        "arrival_time": "2026-03-26T16:00",
        "timezone": "Asia/Makassar",
        "speed": 9,
        "distance": "213.14"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Tanjung Silopo",
          "province": "Sulawesi Barat",
          "weather": {
            "wind_speed": 5,
            "wind_gust": 8,
            "wind_from": "Tenggara",
            "current_speed": 0.19,
            "current_to": "Timur",
            "wave_height": 0.74,
            "weather": "Berawan Tebal",
            "temp_avg": 27.4,
            "rh_avg": 78.17,
            "visibility": 37
          }
        },
        "destination": {
          "name": "Pelabuhan Stagen Kotabaru",
          "province": "Kalimantan Selatan",
          "weather": {
            "wind_speed": 7,
            "wind_gust": 10,
            "wind_from": "Selatan",
            "current_speed": 0.43,
            "current_to": "Barat Daya",
            "wave_height": 0,
            "weather": "Berawan Tebal",
            "temp_avg": 27.45,
            "rh_avg": 82.64,
            "visibility": 20
          }
        }
      }
    }
  ]
}