{
  "routes": [
    {
      "route_name": "Pelabuhan Telaga Punggur → Pelabuhan Letung (08.30 WIB)",
      "route_forecast": {
        "coordinates": [
          {
            "lat": 1.033366,
            "lng": 104.132108,
            "distance_from_start": 0,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 6,
              "wave_height": 0.27,
              "wind_speed": 4,
              "wind_from": "Barat Daya",
              "wind_gust": 7,
              "current_speed": 0.48,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.1283171823947724,
            "lng": 104.20065308158516,
            "distance_from_start": 7.7075932615479745,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 6,
              "wave_height": 0.28,
              "wind_speed": 5,
              "wind_from": "Barat Daya",
              "wind_gust": 7,
              "current_speed": 0.59,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.2012035589278456,
            "lng": 104.30597234419609,
            "distance_from_start": 15.415186523095949,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 6,
              "wave_height": 0.29,
              "wind_speed": 5,
              "wind_from": "Barat Daya",
              "wind_gust": 7,
              "current_speed": 0.44,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.2709806612654218,
            "lng": 104.4137544321007,
            "distance_from_start": 23.122779784643924,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 6,
              "wave_height": 0.33,
              "wind_speed": 4,
              "wind_from": "Barat Daya",
              "wind_gust": 7,
              "current_speed": 0.41,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": 1.3407577636029977,
            "lng": 104.52153652000531,
            "distance_from_start": 30.830373046191898,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 8,
              "wave_height": 0.38,
              "wind_speed": 5,
              "wind_from": "Barat Daya",
              "wind_gust": 8,
              "current_speed": 0.69,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": 1.4105348659405736,
            "lng": 104.62931860790992,
            "distance_from_start": 38.53796630773988,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 8,
              "wave_height": 0.47,
              "wind_speed": 6,
              "wind_from": "Barat Daya",
              "wind_gust": 10,
              "current_speed": 1.17,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": 1.4803119682781498,
            "lng": 104.73710069581452,
            "distance_from_start": 46.24555956928785,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 7,
              "wave_height": 0.52,
              "wind_speed": 7,
              "wind_from": "Barat Daya",
              "wind_gust": 11,
              "current_speed": 1.77,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.5130689326441724,
            "lng": 104.8612007687628,
            "distance_from_start": 53.953152830835826,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 6,
              "wave_height": 0.55,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 1.53,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.5454447765524886,
            "lng": 104.98546883454604,
            "distance_from_start": 61.660746092383796,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 6,
              "wave_height": 0.56,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 1.28,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.5778206204608047,
            "lng": 105.10973690032928,
            "distance_from_start": 69.36833935393177,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 6,
              "wave_height": 0.57,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 1.41,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.6812286822357925,
            "lng": 105.17083296124574,
            "distance_from_start": 77.07593261547976,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 7,
              "wave_height": 0.57,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 1.52,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.8008196163336612,
            "lng": 105.21753689813956,
            "distance_from_start": 84.78352587702773,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 8,
              "wave_height": 0.56,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 1.35,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.9204105504315294,
            "lng": 105.26424083503339,
            "distance_from_start": 92.4911191385757,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 9,
              "wave_height": 0.56,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 1.1,
              "current_to": "Timur"
            }
          },
          {
            "lat": 2.040001484529398,
            "lng": 105.31094477192721,
            "distance_from_start": 100.19871240012368,
            "weather": {
              "weather": "Cerah",
              "visibility": 10,
              "wave_height": 0.55,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 0.9,
              "current_to": "Timur"
            }
          },
          {
            "lat": 2.1595924186272666,
            "lng": 105.35764870882105,
            "distance_from_start": 107.90630566167165,
            "weather": {
              "weather": "Cerah",
              "visibility": 10,
              "wave_height": 0.54,
              "wind_speed": 7,
              "wind_from": "Barat Daya",
              "wind_gust": 11,
              "current_speed": 0.73,
              "current_to": "Timur"
            }
          },
          {
            "lat": 2.279183352725135,
            "lng": 105.40435264571487,
            "distance_from_start": 115.61389892321962,
            "weather": {
              "weather": "Cerah",
              "visibility": 10,
              "wave_height": 0.53,
              "wind_speed": 7,
              "wind_from": "Barat Daya",
              "wind_gust": 11,
              "current_speed": 0.5,
              "current_to": "Timur"
            }
          },
          {
            "lat": 2.3987742868230035,
            "lng": 105.45105658260869,
            "distance_from_start": 123.32149218476759,
            "weather": {
              "weather": "Cerah",
              "visibility": 10,
              "wave_height": 0.52,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 0.27,
              "current_to": "Timur"
            }
          },
          {
            "lat": 2.518365220920872,
            "lng": 105.49776051950252,
            "distance_from_start": 131.02908544631558,
            "weather": {
              "weather": "Cerah",
              "visibility": 10,
              "wave_height": 0.5,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 0.13,
              "current_to": "Utara"
            }
          },
          {
            "lat": 2.6379561550187405,
            "lng": 105.54446445639634,
            "distance_from_start": 138.73667870786355,
            "weather": {
              "weather": "Cerah",
              "visibility": 10,
              "wave_height": 0.48,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 13,
              "current_speed": 0.33,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": 2.757547089116609,
            "lng": 105.59116839329018,
            "distance_from_start": 146.44427196941152,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 10,
              "wave_height": 0.47,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 13,
              "current_speed": 0.6,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": 2.877138023214478,
            "lng": 105.637872330184,
            "distance_from_start": 154.15186523095952,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.41,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 13,
              "current_speed": 0.44,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": 2.988123,
            "lng": 105.694603,
            "distance_from_start": 161.85945849250749,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.3,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 13,
              "current_speed": 0.45,
              "current_to": "Barat Laut"
            }
          }
        ],
        "departure_time": "2026-07-06T08:30",
        "arrival_time": "2026-07-06T16:00",
        "timezone": "Asia/Jakarta",
        "speed": 22,
        "distance": "161.86"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Telaga Punggur",
          "province": "Kepulauan Riau",
          "weather": {
            "wind_speed": 4,
            "wind_gust": 7,
            "wind_from": "Barat Daya",
            "current_speed": 0.48,
            "current_to": "Timur",
            "wave_height": 0.27,
            "weather": "Berawan Tebal",
            "temp_avg": 26.83,
            "rh_avg": 84.3,
            "visibility": 6
          }
        },
        "destination": {
          "name": "Pelabuhan Letung",
          "province": "Kepulauan Riau",
          "weather": {
            "wind_speed": 8,
            "wind_gust": 13,
            "wind_from": "Barat Daya",
            "current_speed": 0.45,
            "current_to": "Barat Laut",
            "wave_height": 0.3,
            "weather": "Berawan Tebal",
            "temp_avg": 28.48,
            "rh_avg": 75.84,
            "visibility": 10
          }
        }
      }
    },
    {
      "route_name": "Pelabuhan Letung → Pelabuhan Tarempa (16.00 WIB)",
      "route_forecast": {
        "coordinates": [
          {
            "lat": 2.99003,
            "lng": 105.698313,
            "distance_from_start": 0,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.3,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 13,
              "current_speed": 0.46,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": 3.0299015804821012,
            "lng": 105.66307182789618,
            "distance_from_start": 3.793838201770974,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.32,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 13,
              "current_speed": 0.47,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": 3.0692419630415584,
            "lng": 105.6942522939721,
            "distance_from_start": 7.587676403541948,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.29,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 0.56,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": 3.0779470000821805,
            "lng": 105.75562847936791,
            "distance_from_start": 11.381514605312923,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.33,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 0.66,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": 3.0997507533862385,
            "lng": 105.81502547980246,
            "distance_from_start": 15.175352807083897,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.35,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 0.87,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": 3.121554506690297,
            "lng": 105.874422480237,
            "distance_from_start": 18.969191008854867,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.38,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 0.94,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": 3.143358259994355,
            "lng": 105.93381948067154,
            "distance_from_start": 22.763029210625845,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.36,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 0.94,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": 3.165162013298413,
            "lng": 105.99321648110609,
            "distance_from_start": 26.55686741239682,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 10,
              "wave_height": 0.36,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 0.89,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": 3.1869657666024716,
            "lng": 106.05261348154062,
            "distance_from_start": 30.350705614167794,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 10,
              "wave_height": 0.36,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 0.79,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": 3.2087695199065296,
            "lng": 106.11201048197516,
            "distance_from_start": 34.14454381593877,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 10,
              "wave_height": 0.34,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 0.6,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": 3.230573273210588,
            "lng": 106.1714074824097,
            "distance_from_start": 37.938382017709735,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 10,
              "wave_height": 0.31,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 0.33,
              "current_to": "Utara"
            }
          },
          {
            "lat": 3.217835,
            "lng": 106.216906,
            "distance_from_start": 41.732220219480716,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 10,
              "wave_height": 0.3,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 12,
              "current_speed": 0.28,
              "current_to": "Utara"
            }
          }
        ],
        "departure_time": "2026-07-06T16:00",
        "arrival_time": "2026-07-06T18:00",
        "timezone": "Asia/Jakarta",
        "speed": 21,
        "distance": "41.73"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Letung",
          "province": "Kepulauan Riau",
          "weather": {
            "wind_speed": 8,
            "wind_gust": 13,
            "wind_from": "Barat Daya",
            "current_speed": 0.46,
            "current_to": "Barat Laut",
            "wave_height": 0.3,
            "weather": "Berawan Tebal",
            "temp_avg": 28.51,
            "rh_avg": 75.61,
            "visibility": 10
          }
        },
        "destination": {
          "name": "Pelabuhan Tarempa",
          "province": "Kepulauan Riau",
          "weather": {
            "wind_speed": 8,
            "wind_gust": 12,
            "wind_from": "Barat Daya",
            "current_speed": 0.28,
            "current_to": "Utara",
            "wave_height": 0.3,
            "weather": "Cerah Berawan",
            "temp_avg": 27.5,
            "rh_avg": 83.15,
            "visibility": 10
          }
        }
      }
    },
    {
      "route_name": "Pelabuhan Tarempa → Pelabuhan Letung (07.00 WIB)",
      "route_forecast": {
        "coordinates": [
          {
            "lat": 3.217835,
            "lng": 106.216906,
            "distance_from_start": 0,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 3,
              "wave_height": 0.29,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.36,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": 3.230573273210588,
            "lng": 106.1714074824097,
            "distance_from_start": 3.793838201770975,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 3,
              "wave_height": 0.31,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.38,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": 3.2087695199065296,
            "lng": 106.11201048197516,
            "distance_from_start": 7.58767640354195,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 4,
              "wave_height": 0.35,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.47,
              "current_to": "Utara"
            }
          },
          {
            "lat": 3.1869657666024716,
            "lng": 106.05261348154062,
            "distance_from_start": 11.381514605312924,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 5,
              "wave_height": 0.39,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.56,
              "current_to": "Utara"
            }
          },
          {
            "lat": 3.1651620132984135,
            "lng": 105.99321648110609,
            "distance_from_start": 15.1753528070839,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 6,
              "wave_height": 0.41,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.57,
              "current_to": "Utara"
            }
          },
          {
            "lat": 3.143358259994355,
            "lng": 105.93381948067154,
            "distance_from_start": 18.969191008854875,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 6,
              "wave_height": 0.42,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.61,
              "current_to": "Utara"
            }
          },
          {
            "lat": 3.121554506690297,
            "lng": 105.874422480237,
            "distance_from_start": 22.76302921062585,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 7,
              "wave_height": 0.47,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.58,
              "current_to": "Utara"
            }
          },
          {
            "lat": 3.0997507533862385,
            "lng": 105.81502547980246,
            "distance_from_start": 26.556867412396823,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 7,
              "wave_height": 0.37,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.48,
              "current_to": "Utara"
            }
          },
          {
            "lat": 3.0779470000821805,
            "lng": 105.75562847936791,
            "distance_from_start": 30.3507056141678,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 7,
              "wave_height": 0.34,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.29,
              "current_to": "Utara"
            }
          },
          {
            "lat": 3.0692419630415584,
            "lng": 105.6942522939721,
            "distance_from_start": 34.144543815938775,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 7,
              "wave_height": 0.32,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.16,
              "current_to": "Utara"
            }
          },
          {
            "lat": 3.0299015804821012,
            "lng": 105.66307182789618,
            "distance_from_start": 37.93838201770975,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 7,
              "wave_height": 0.41,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.13,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": 2.99003,
            "lng": 105.698313,
            "distance_from_start": 41.73222021948072,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 6,
              "wave_height": 0.37,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.2,
              "current_to": "Timur Laut"
            }
          }
        ],
        "departure_time": "2026-07-07T07:00",
        "arrival_time": "2026-07-07T08:30",
        "timezone": "Asia/Jakarta",
        "speed": 28,
        "distance": "41.73"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Tarempa",
          "province": "Kepulauan Riau",
          "weather": {
            "wind_speed": 11,
            "wind_gust": 17,
            "wind_from": "Barat Daya",
            "current_speed": 0.36,
            "current_to": "Timur Laut",
            "wave_height": 0.29,
            "weather": "Berawan Tebal",
            "temp_avg": 25.6,
            "rh_avg": 89.4,
            "visibility": 3
          }
        },
        "destination": {
          "name": "Pelabuhan Letung",
          "province": "Kepulauan Riau",
          "weather": {
            "wind_speed": 11,
            "wind_gust": 17,
            "wind_from": "Barat Daya",
            "current_speed": 0.2,
            "current_to": "Timur Laut",
            "wave_height": 0.37,
            "weather": "Berawan Tebal",
            "temp_avg": 26.81,
            "rh_avg": 88.4,
            "visibility": 6
          }
        }
      }
    },
    {
      "route_name": "Pelabuhan Letung → Pelabuhan Telaga Punggur (08.30 WIB)",
      "route_forecast": {
        "coordinates": [
          {
            "lat": 2.988123,
            "lng": 105.694603,
            "distance_from_start": 0,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 6,
              "wave_height": 0.38,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.2,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": 2.877138023214478,
            "lng": 105.637872330184,
            "distance_from_start": 7.7075932615479745,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 7,
              "wave_height": 0.52,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.13,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": 2.757547089116609,
            "lng": 105.59116839329018,
            "distance_from_start": 15.415186523095949,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 7,
              "wave_height": 0.59,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 0.02,
              "current_to": "Timur"
            }
          },
          {
            "lat": 2.6379561550187405,
            "lng": 105.54446445639634,
            "distance_from_start": 23.122779784643924,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 8,
              "wave_height": 0.62,
              "wind_speed": 12,
              "wind_from": "Barat",
              "wind_gust": 18,
              "current_speed": 0.23,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": 2.518365220920872,
            "lng": 105.49776051950252,
            "distance_from_start": 30.830373046191898,
            "weather": {
              "weather": "Hujan Sedang",
              "visibility": 8,
              "wave_height": 0.65,
              "wind_speed": 13,
              "wind_from": "Barat",
              "wind_gust": 19,
              "current_speed": 0.45,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": 2.3987742868230035,
            "lng": 105.45105658260869,
            "distance_from_start": 38.53796630773988,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 8,
              "wave_height": 0.65,
              "wind_speed": 12,
              "wind_from": "Barat",
              "wind_gust": 18,
              "current_speed": 0.63,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": 2.279183352725135,
            "lng": 105.40435264571487,
            "distance_from_start": 46.24555956928785,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.65,
              "wind_speed": 11,
              "wind_from": "Barat",
              "wind_gust": 17,
              "current_speed": 0.81,
              "current_to": "Timur"
            }
          },
          {
            "lat": 2.1595924186272666,
            "lng": 105.35764870882105,
            "distance_from_start": 53.953152830835826,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 10,
              "wave_height": 0.67,
              "wind_speed": 11,
              "wind_from": "Barat",
              "wind_gust": 17,
              "current_speed": 0.97,
              "current_to": "Timur"
            }
          },
          {
            "lat": 2.040001484529398,
            "lng": 105.31094477192721,
            "distance_from_start": 61.660746092383796,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 9,
              "wave_height": 0.7,
              "wind_speed": 12,
              "wind_from": "Barat",
              "wind_gust": 18,
              "current_speed": 1.08,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.9204105504315299,
            "lng": 105.26424083503339,
            "distance_from_start": 69.36833935393177,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 9,
              "wave_height": 0.72,
              "wind_speed": 12,
              "wind_from": "Barat",
              "wind_gust": 18,
              "current_speed": 1.19,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.8008196163336612,
            "lng": 105.21753689813956,
            "distance_from_start": 77.07593261547976,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 9,
              "wave_height": 0.74,
              "wind_speed": 12,
              "wind_from": "Barat",
              "wind_gust": 18,
              "current_speed": 1.34,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.6812286822357925,
            "lng": 105.17083296124574,
            "distance_from_start": 84.78352587702773,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 9,
              "wave_height": 0.77,
              "wind_speed": 12,
              "wind_from": "Barat",
              "wind_gust": 19,
              "current_speed": 1.38,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.5778206204608047,
            "lng": 105.10973690032928,
            "distance_from_start": 92.4911191385757,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 9,
              "wave_height": 0.78,
              "wind_speed": 12,
              "wind_from": "Barat",
              "wind_gust": 19,
              "current_speed": 1.2,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.5454447765524886,
            "lng": 104.98546883454604,
            "distance_from_start": 100.19871240012368,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.76,
              "wind_speed": 12,
              "wind_from": "Barat",
              "wind_gust": 18,
              "current_speed": 1.03,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.5130689326441724,
            "lng": 104.8612007687628,
            "distance_from_start": 107.90630566167165,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 10,
              "wave_height": 0.76,
              "wind_speed": 12,
              "wind_from": "Barat",
              "wind_gust": 19,
              "current_speed": 1.18,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.48031196827815,
            "lng": 104.73710069581452,
            "distance_from_start": 115.61389892321962,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 10,
              "wave_height": 0.74,
              "wind_speed": 13,
              "wind_from": "Barat",
              "wind_gust": 19,
              "current_speed": 1.24,
              "current_to": "Timur"
            }
          },
          {
            "lat": 1.4105348659405739,
            "lng": 104.62931860790992,
            "distance_from_start": 123.32149218476759,
            "weather": {
              "weather": "Hujan Sedang",
              "visibility": 8,
              "wave_height": 0.67,
              "wind_speed": 11,
              "wind_from": "Barat",
              "wind_gust": 17,
              "current_speed": 0.83,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": 1.340757763602998,
            "lng": 104.52153652000531,
            "distance_from_start": 131.02908544631558,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 8,
              "wave_height": 0.51,
              "wind_speed": 10,
              "wind_from": "Barat",
              "wind_gust": 15,
              "current_speed": 0.58,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": 1.270980661265422,
            "lng": 104.4137544321007,
            "distance_from_start": 138.73667870786355,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 7,
              "wave_height": 0.38,
              "wind_speed": 10,
              "wind_from": "Barat",
              "wind_gust": 16,
              "current_speed": 0.44,
              "current_to": "Selatan"
            }
          },
          {
            "lat": 1.2012035589278458,
            "lng": 104.30597234419609,
            "distance_from_start": 146.44427196941152,
            "weather": {
              "weather": "Hujan Sedang",
              "visibility": 8,
              "wave_height": 0.31,
              "wind_speed": 11,
              "wind_from": "Barat",
              "wind_gust": 16,
              "current_speed": 0.47,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": 1.1283171823947726,
            "lng": 104.20065308158516,
            "distance_from_start": 154.15186523095952,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 5,
              "wave_height": 0.29,
              "wind_speed": 10,
              "wind_from": "Barat",
              "wind_gust": 16,
              "current_speed": 0.41,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": 1.033366,
            "lng": 104.132108,
            "distance_from_start": 161.85945849250749,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 6,
              "wave_height": 0.28,
              "wind_speed": 10,
              "wind_from": "Barat",
              "wind_gust": 15,
              "current_speed": 0.21,
              "current_to": "Tenggara"
            }
          }
        ],
        "departure_time": "2026-07-07T08:30",
        "arrival_time": "2026-07-07T16:00",
        "timezone": "Asia/Jakarta",
        "speed": 22,
        "distance": "161.86"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Letung",
          "province": "Kepulauan Riau",
          "weather": {
            "wind_speed": 11,
            "wind_gust": 17,
            "wind_from": "Barat Daya",
            "current_speed": 0.2,
            "current_to": "Timur Laut",
            "wave_height": 0.38,
            "weather": "Berawan Tebal",
            "temp_avg": 26.84,
            "rh_avg": 88.11,
            "visibility": 6
          }
        },
        "destination": {
          "name": "Pelabuhan Telaga Punggur",
          "province": "Kepulauan Riau",
          "weather": {
            "wind_speed": 10,
            "wind_gust": 15,
            "wind_from": "Barat",
            "current_speed": 0.21,
            "current_to": "Tenggara",
            "wave_height": 0.28,
            "weather": "Berawan Tebal",
            "temp_avg": 28.35,
            "rh_avg": 77.94,
            "visibility": 6
          }
        }
      }
    }
  ]
}