{"id":1925,"date":"2025-06-23T19:56:11","date_gmt":"2025-06-23T17:56:11","guid":{"rendered":"https:\/\/windsurfice.com\/?page_id=1925"},"modified":"2025-10-29T16:13:46","modified_gmt":"2025-10-29T14:13:46","slug":"forecast","status":"publish","type":"page","link":"https:\/\/windsurfice.com\/en\/forecast","title":{"rendered":"Forecast"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1925\" class=\"elementor elementor-1925\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-76840e3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"76840e3\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-25792e6\" data-id=\"25792e6\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-72e287f elementor-widget elementor-widget-wp-widget-xyz_insert_php_widget\" data-id=\"72e287f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wp-widget-xyz_insert_php_widget.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<input type='hidden' name='Domain' id='Domain' value='data.windsurfice.com'><script type=\"text\/javascript\" src=\"https:\/\/code.jquery.com\/jquery-latest.min.js\"><\/script>\n<script type=\"text\/javascript\">\t\n\nDomainWindsurficePHP = $(\"#Domain\").val();\nDomainWindsurficeScriptsPHP = DomainWindsurficePHP;\n\nif(DomainWindsurficePHP =='windsurfice.com')\n{\n\tDomainWindsurficeScriptsPHP = 'data.windsurfice.com';\n}\nelse if (DomainWindsurficePHP =='dev.windsurfice.com')\n{\n\tDomainWindsurficeScriptsPHP = 'dev1.windsurfice.com';\n}\nconsole.log(DomainWindsurficePHP);\nconsole.log(DomainWindsurficeScriptsPHP);\n<\/script><!-- Include JavaScript files with correct PHP echo syntax -->\n<script src=\"https:\/\/data.windsurfice.com\/Highcharts11\/code\/highcharts.js\"><\/script>\n<script src=\"https:\/\/data.windsurfice.com\/Highcharts11\/code\/highcharts-more.js\"><\/script>\n<script src=\"https:\/\/data.windsurfice.com\/Highcharts11\/code\/modules\/windbarb.js\"><\/script>\n<script src=\"https:\/\/data.windsurfice.com\/Highcharts11\/code\/modules\/datagrouping.js\"><\/script>\n<script src=\"https:\/\/data.windsurfice.com\/Highcharts11\/code\/modules\/accessibility.js\"><\/script>\n\n\n<script\n\tsrc='https:\/\/data.windsurfice.com\/JS\/windsurfice.js?Version=1702483526'><\/script>\n<script id=\"windsurfice24ForecastGraph\"><\/script>\n<link rel=\"stylesheet\" href=\"\" id=\"ForecastGraphButtons\" type=\"text\/css\">\n\n<div id=\"ForecastCharts\">\n\n\t<div class=\"Forecastbuttons\">\n\t\t<button class=\"Forecastbtn active\" id=\"Forecastall\">All<\/button>\n\t\t<button class=\"Forecastbtn\" id=\"Forecast12h\">12h<\/button>\n\t\t<button class=\"Forecastbtn\" id=\"Forecast4h\">4h<\/button>\n\t\t<button class=\"Forecastbtn\" id=\"Forecast2h\">2h<\/button>\n\t<\/div>\n\n\t<script type=\"text\/javascript\">\n\n\t\tdocument.getElementById('windsurfice24ForecastGraph').src = SetURL('\/JS\/windsurfice24ForecastGraph.js?Version=1761125564', 1);\n\t\tdocument.getElementById('ForecastGraphButtons').href = SetURL('\/CSS\/GraphButtons.css', 1);\n\t\t\n\t\t\/\/get url parameters\t\t\n\t\tvar currentwloc24 = $(\"#wloc\").val();\n\t\tvar Lon = \"\";\n\t\tvar Lat = \"\";\n\t\t\/\/console.log(currentwloc24);\n\n\t\t\/\/als er geen $site is ingevult zelf uit de URL halen\n\t\tif (currentwloc24 === undefined) {\n\t\t\tvar URLSite = window.location.href;\n\t\t\tvar SplitURL = URLSite.split(\/[\\s\/?]+\/);\n\t\t\t\/\/console.log(SplitURL);\n\n\t\t\tif (SplitURL[3] == \"locations\") {\n\t\t\t\tcurrentwloc24 = SplitURL[4];\n\t\t\t\tDatabaseSource = \"WindMeters\";\n\t\t\t}\n\t\t\telse if(SplitURL[3] == \"extern\")\n\t\t\t{\n\t\t\t\t\/\/console.log(URL);\n\t\t\t\tExternLocation = SplitURL[4].split(\"=\");\n\t\t\t\tcurrentwloc24 = ExternLocation[1];\n\t\t\t\tDatabaseSource = \"ExternalStations\";\n\t\t\t}\n\t\t\telse if(SplitURL[3] == \"forecast\")\n\t\t\t{\n\t\t\t\tLon = parseFloat(new URLSearchParams(window.location.search).get(\"Lon\"));\n\t\t\t\tLat = parseFloat(new URLSearchParams(window.location.search).get(\"Lat\"));\n\t\t\t\tcurrentwloc24 = \"Forecast\";\n\t\t\t\tDatabaseSource = \"None\";\n\t\t\t}\n\t\t}\n\t\tlet ChartName24 = \"GraphForecastDay_\" + currentwloc24;\n\n\t\twindow.addEventListener(\"load\", async function () {\n\t\t\tlet my_div = document.getElementById(\"ForecastCharts\");\n\n\t\t\t\/\/console.log(ChartName24);\n\t\t\tconst newDiv = document.createElement(\"div\");\n\t\t\tnewDiv.id = ChartName24;\n\t\t\tnewDiv.style = \"height: 500px; min-width: 310px\";\n\t\t\t$(\"#ForecastCharts\").prepend(newDiv);\n\t\t\t\/\/document.insertBefore(newDiv, document.getElementById(\"Charts\"));\n\t\t\t\/\/console.log(newDiv);\n\n\t\t\tasync function Set24Graph() {\n\t\t\t\tlet RequestData24 = {\n\t\t\t\t\t'Site': {\n\t\t\t\t\t\t[0]: currentwloc24\n\t\t\t\t\t},\n\t\t\t\t\t'Owner': \"Website\",\n\t\t\t\t\t'NextUpdate': 1,\n\t\t\t\t\t'Data': {\n\t\t\t\t\t\t'LoraName': \"\",\n\t\t\t\t\t\t'DisplayName': \"\",\n\t\t\t\t\t\t'EnableWindDirection': \"\",\n\t\t\t\t\t\t'UpdateRate': \"\",\n\t\t\t\t\t\t'Name': \"\",\n\t\t\t\t\t\t'LoraName': \"\",\n\t\t\t\t\t\t'WaterTemperature': \"\",\n\t\t\t\t\t\t'latitude': Lat,\n\t\t\t\t\t\t'longitude': Lon,\n\t\t\t\t\t},\n\t\t\t\t\tSource: {\n\t\t\t\t\t\t[DatabaseSource]: \"\",\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\/\/RequestData24[\"Source\"][DatabaseSource] = \"\";\n\t\t\t\t\/\/console.log(\"Request data: \")\n\t\t\t\t\/\/console.log(RequestData24);\n\t\t\t\tif(currentwloc48 != \"Forecast\")\n\t\t\t\t{\n\t\t\t\t\tvar LocationData24 = await GetLocations(RequestData24);\n\t\t\t\t\tLocationData24 = LocationData24[DatabaseSource];\n\t\t\t\t\t\/\/console.log(\"location data: \");\n\t\t\t\t\t\/\/console.log(LocationData24);\n\t\t\t\t\tForecastGraphDay(LocationData24[currentwloc24]['LoraName'], LocationData24[currentwloc24]['DisplayName'], LocationData24[currentwloc24]['EnableWindDirection'],\n\t\t\t\t\t\tLocationData24[currentwloc24]['UpdateRate'], LocationData24[currentwloc24]['Name'], LocationData24[currentwloc24]['WaterTemperature'], \n\t\t\t\t\t\tLocationData24[currentwloc24]['NextUpdate'], currentwloc24, LocationData24[currentwloc48]['longitude'], LocationData24[currentwloc48]['latitude'],DatabaseSource);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\t\n\t\t\t\t\tlet date = { date: new Date() };\n\t\t\t\t\tForecastGraphDay(\"Forecast\", \"\", 1,60,\"\",0,date, currentwloc48, Lon, Lat);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$(function () {\n\t\t\t\tSet24Graph();\n\t\t\t});\n\n\t\t})\n\n\t\t\/\/knoppen handelen\n\t\tconst Forecastbuttonclass = document.querySelector('.Forecastbuttons');\n\t\tconst Forecastbtns = document.querySelectorAll('.Forecastbtn');\n\n\n\t\t\/\/zoom all\n\t\tdocument.getElementById('Forecastall').addEventListener('click', e => {\n\t\t\tForecastbtns.forEach(btn => {\n\t\t\t\tif (btn.getAttribute('id') === e.target.getAttribute('id'))\n\t\t\t\t\tbtn.classList.add('active');\n\t\t\t\telse\n\t\t\t\t\tbtn.classList.remove('active');\n\t\t\t});\n\t\t\t\/\/button action\n\t\t\twindow[ChartName24].zoomOut();\n\t\t});\n\n\t\t\/\/zoom last 1h\n\t\tdocument.getElementById('Forecast2h').addEventListener('click', e => {\n\t\t\tForecastbtns.forEach(btn => {\n\n\t\t\t\tif (btn.getAttribute('id') === e.target.getAttribute('id'))\n\t\t\t\t\tbtn.classList.add('active');\n\t\t\t\telse\n\t\t\t\t\tbtn.classList.remove('active');\n\t\t\t});\n\t\t\t\/\/get last point\n\t\t\tlet chart = this,\n\t\t\t\tpoints = [];\n\n\t\t\twindow[ChartName24].series.forEach(function (s) {\n\t\t\t\tif (s.visible) {\n\t\t\t\t\tpoints.push(s.points[s.points.length - 1])\n\t\t\t\t}\n\t\t\t})\n\t\t\t\/\/button action\n\t\t\t\/\/console.log(points);\n\t\t\twindow[ChartName24].xAxis[0].setExtremes(points[0].category - 1 * 60 * 60 * 1000, points[0].category+ 1 * 60 * 60 * 1000)\n\t\t});\n\n\t\t\/\/zoom last 4h\n\t\tdocument.getElementById('Forecast4h').addEventListener('click', e => {\n\t\t\tForecastbtns.forEach(btn => {\n\n\t\t\t\tif (btn.getAttribute('id') === e.target.getAttribute('id'))\n\t\t\t\t\tbtn.classList.add('active');\n\t\t\t\telse\n\t\t\t\t\tbtn.classList.remove('active');\n\t\t\t});\n\t\t\t\/\/get last point\n\t\t\tlet chart = this,\n\t\t\t\tpoints = [];\n\n\t\t\twindow[ChartName24].series.forEach(function (s) {\n\t\t\t\tif (s.visible) {\n\t\t\t\t\tpoints.push(s.points[s.points.length - 1])\n\t\t\t\t}\n\t\t\t})\n\t\t\t\/\/button action\n\t\t\t\/\/console.log(points);\n\t\t\t\/\/console.log(points[0].category - 4*60*60*1000);\n\t\t\t\/\/console.log(points[0].category);\n\t\t\twindow[ChartName24].xAxis[0].setExtremes(points[0].category - 2 * 60 * 60 * 1000, points[0].category+ 2 * 60 * 60 * 1000)\n\t\t});\n\t\t\/\/zoom last 4h\n\t\tdocument.getElementById('Forecast12h').addEventListener('click', e => {\n\t\t\tForecastbtns.forEach(btn => {\n\n\t\t\t\tif (btn.getAttribute('id') === e.target.getAttribute('id'))\n\t\t\t\t\tbtn.classList.add('active');\n\t\t\t\telse\n\t\t\t\t\tbtn.classList.remove('active');\n\t\t\t});\n\t\t\t\/\/get last point\n\t\t\tlet chart = this,\n\t\t\t\tpoints = [];\n\n\t\t\twindow[ChartName24].series.forEach(function (s) {\n\t\t\t\tif (s.visible) {\n\t\t\t\t\tpoints.push(s.points[s.points.length - 1])\n\t\t\t\t}\n\t\t\t})\n\t\t\t\/\/button action\n\t\t\t\/\/console.log(points);\n\t\t\t\/\/console.log(points[0].category - 4*60*60*1000);\n\t\t\t\/\/console.log(points[0].category);\n\t\t\twindow[ChartName24].xAxis[0].setExtremes(points[0].category - 6 * 60 * 60 * 1000, points[0].category+ 6 * 60 * 60 * 1000)\n\t\t});\n\t<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bd86d69 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"bd86d69\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9262ee7 elementor-widget elementor-widget-wp-widget-xyz_insert_php_widget\" data-id=\"9262ee7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wp-widget-xyz_insert_php_widget.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<input type='hidden' name='Domain' id='Domain' value='data.windsurfice.com'><script type=\"text\/javascript\" src=\"https:\/\/code.jquery.com\/jquery-latest.min.js\"><\/script>\n<script type=\"text\/javascript\">\t\n\nDomainWindsurficePHP = $(\"#Domain\").val();\nDomainWindsurficeScriptsPHP = DomainWindsurficePHP;\n\nif(DomainWindsurficePHP =='windsurfice.com')\n{\n\tDomainWindsurficeScriptsPHP = 'data.windsurfice.com';\n}\nelse if (DomainWindsurficePHP =='dev.windsurfice.com')\n{\n\tDomainWindsurficeScriptsPHP = 'dev1.windsurfice.com';\n}\nconsole.log(DomainWindsurficePHP);\nconsole.log(DomainWindsurficeScriptsPHP);\n<\/script><script src=\"https:\/\/data.windsurfice.com\/Highcharts11_4_8\/code\/highcharts.js\"><\/script>\n<script src=\"https:\/\/data.windsurfice.com\/Highcharts11_4_8\/code\/highcharts-more.js\"><\/script>\n<script src=\"https:\/\/data.windsurfice.com\/Highcharts11_4_8\/code\/modules\/windbarb.js\"><\/script>\n<script src=\"https:\/\/data.windsurfice.com\/Highcharts11_4_8\/code\/modules\/datagrouping.js\"><\/script>\n<script src=\"https:\/\/data.windsurfice.com\/Highcharts11_4_8\/code\/modules\/accessibility.js\"><\/script>\n\n<script id=\"highcharts48\"><\/script>\n<script id=\"highcharts48-more\"><\/script>\n<script id=\"highcharts48-windbarb\"><\/script>\n<script id=\"highcharts48-datagrouping\"><\/script>\n\n<script src=\"https:\/\/data.windsurfice.com\/JS\/suncalc.js\"><\/script>\n\n<script\n\tsrc='https:\/\/data.windsurfice.com\/JS\/windsurfice.js?Version=1702483526'><\/script>\n<script id=\"windsurfice48ForecastGraph\"><\/script>\n\n<div id=\"48ForecastCharts\">\n\t<figure class=\"highcharts-figure\">\n\t\t<div id=\"container\">\n\t\t\t<div id=\"loading\">\n\t\t\t\t<i class=\"fa fa-spinner fa-spin\"><\/i> Loading data from external source\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/figure>\n\n\t<script type=\"text\/javascript\">\n\n\t\tconsole.log(typeof(Highcharts));\n\t\tif(typeof(Highcharts) === 'undefined')\n\t\t{\n\t\t\tconsole.log(\"load highcharts\");\n\t\t\tdocument.getElementById('highcharts48').src = SetURL('\/Highcharts11\/code\/highcharts.js', 1);\n\t\t\tdocument.getElementById('highcharts48-more').src = SetURL('\/Highcharts11\/code\/highcharts-more.js', 1);\n\t\t\tdocument.getElementById('highcharts48-windbarb').src = SetURL('\/Highcharts11\/code\/modules\/windbarb.js', 1);\n\t\t\tdocument.getElementById('highcharts48-datagrouping').src = SetURL('\/Highcharts11\/code\/modules\/datagrouping.js', 1);\n\n\t\t}\n\t\t\n\t\tdocument.getElementById('windsurfice48ForecastGraph').src = SetURL('\/JS\/windsurfice48ForecastGraph.js?Version=1766661076', 1);\n\n\t\t\/\/get url parameters\t\t\n\t\tvar currentwloc48 = $(\"#wloc\").val();\n\t\tvar Lon = \"\";\n\t\tvar Lat = \"\";\n\t\t\/\/var currentwloc = \"wscr\";\n\t\tconsole.log(currentwloc48);\n\n\t\t\/\/als er geen $site is ingevult zelf uit de URL halen\n\t\tif (currentwloc48 === undefined) {\n\t\t\tvar PageURL = window.location.href;\n\t\t\tconsole.log(\"PageURL: \" + PageURL);\n\t\t\tvar SplitURL = PageURL.split(\/[\\s\/?]+\/);\n\t\t\t\/\/console.log(SplitURL);\n\n\t\t\tif (SplitURL[3] == \"locations\") {\n\t\t\t\tcurrentwloc48 = SplitURL[4];\n\t\t\t\tDatabaseSource = \"WindMeters\";\n\t\t\t}\n\t\t\telse if(SplitURL[3] == \"extern\")\n\t\t\t{\n\t\t\t\t\/\/console.log(URL);\n\t\t\t\tcurrentwloc48 = new URLSearchParams(window.location.search).get(\"Site\");\n\t\t\t\tDatabaseSource = \"ExternalStations\";\n\t\t\t}\n\t\t\telse if(SplitURL[3] == \"forecast\")\n\t\t\t{\n\t\t\t\tLon = parseFloat(new URLSearchParams(window.location.search).get(\"Lon\"));\n\t\t\t\tLat = parseFloat(new URLSearchParams(window.location.search).get(\"Lat\"));\n\t\t\t\tcurrentwloc48 = \"Forecast\";\n\t\t\t\tDatabaseSource = \"None\";\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"load\", async function () {\n\t\t\t\/*\n\t\t\tvar my_div = document.getElementById(\"ForecastCharts\");\n\n\t\t\tconst newDiv = document.createElement(\"div\");\n\t\t\tnewDiv.id = \"ForecastChart_\" + currentwloc;\n\t\t\tnewDiv.style = \"height: 700px; min-width: 310px\";\n\t\t\t$(\"#ForecastCharts\").prepend(newDiv);\n\t\t\t\/\/document.insertBefore(newDiv, document.getElementById(\"Charts\"));\n\t\t\t\/\/console.log(newDiv);\n*\/\n\t\t\tasync function Set48Graph() {\n\t\t\t\tvar Request48Data = {\n\t\t\t\t\t'Site': {\n\t\t\t\t\t\t[0]: currentwloc48\n\t\t\t\t\t},\n\t\t\t\t\t'Owner': \"Website\",\n\t\t\t\t\t'NextUpdate': 0,\n\t\t\t\t\t'Data': {\n\t\t\t\t\t\t'LoraName': \"\",\n\t\t\t\t\t\t'DisplayName': \"\",\n\t\t\t\t\t\t'Name': \"\",\n\t\t\t\t\t\t'longitude': Lon,\n\t\t\t\t\t\t'latitude': Lat,\n\t\t\t\t\t},\n\t\t\t\t\t'Source': {\n\t\t\t\t\t\t[DatabaseSource]: \"\",\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconsole.log(\"Request48 data: \")\n\t\t\t\tconsole.log(Request48Data);\n\t\t\t\tif(currentwloc48 != \"Forecast\")\n\t\t\t\t{\n\t\t\t\t\tvar Location48Data = await GetLocations(Request48Data);\n\t\t\t\t\tLocation48Data = Location48Data[DatabaseSource]; \n\t\t\t\t\tconsole.log(\"location data: \")\n\t\t\t\t\tconsole.log(Location48Data);\n\t\t\t\t\tForecast48Graph(Location48Data[currentwloc48]['LoraName'], Location48Data[currentwloc48]['DisplayName'],\n\t\t\t\t\tLocation48Data[currentwloc48]['Name'], currentwloc48, Location48Data[currentwloc48]['longitude'], Location48Data[currentwloc48]['latitude']);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tForecast48Graph(\"Forecast\", \"\", \"\", currentwloc48, Lon, Lat);\n\t\t\t\t}\n\n\n\t\t\t}\n\n\t\t\t$(function () {\n\t\t\t\tSet48Graph();\n\t\t\t});\n\n\t\t})\n\n\t<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-973d1bd elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"973d1bd\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-db9759f elementor-widget elementor-widget-wp-widget-xyz_insert_php_widget\" data-id=\"db9759f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wp-widget-xyz_insert_php_widget.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<input type='hidden' name='Domain' id='Domain' value='windsurfice.com'><script type=\"text\/javascript\" src=\"https:\/\/code.jquery.com\/jquery-latest.min.js\"><\/script>\n<script type=\"text\/javascript\">\t\n\nDomainWindsurficePHP = $(\"#Domain\").val();\nDomainWindsurficeScriptsPHP = DomainWindsurficePHP;\n\nif(DomainWindsurficePHP =='windsurfice.com')\n{\n\tDomainWindsurficeScriptsPHP = 'data.windsurfice.com';\n}\nelse if (DomainWindsurficePHP =='dev.windsurfice.com')\n{\n\tDomainWindsurficeScriptsPHP = 'dev1.windsurfice.com';\n}\nconsole.log(DomainWindsurficePHP);\nconsole.log(DomainWindsurficeScriptsPHP);\n<\/script> \n<!DOCTYPE HTML>\n<html>\n<head>\n<meta charset=\"utf-8\">\n    <script src='https:\/\/data.windsurfice.com\/JS\/windsurfice.js?Version=1702483526'><\/script>\n\n\t<link rel=\"stylesheet\" href='https:\/\/data.windsurfice.com\/CSS\/FlowMap.css?Version=1758107265' type=\"text\/css\" \/>\n\t<\/head>\n\t<body>\n\t<script type=\"module\">\n\t\timport { FlowMapInit } from 'https:\/\/data.windsurfice.com\/JS\/FlowBundle.js?Version=1765742054';\n\t\t\t\/\/get url parameters\t\t\n\t\t\n    var currentwlocflow = $(\"#wloc\").val();\n\t\tvar Lon = \"\";\n\t\tvar Lat = \"\";\n\t\t\/\/var currentwloc = \"wscr\";\n\t\tconsole.log(\"currentwlocflow: \" + currentwlocflow);\n    var RequestDataFlow = {};\n    var LocationDataFlow;\n\t\t\/\/als er geen $site is ingevult zelf uit de URL halen\n\n\n\t\twindow.addEventListener(\"load\", async function () {\n      \t\tif (currentwlocflow === undefined) {\n\t\t\tvar PageURL = window.location.href;\n\t\t\tconsole.log(\"PageURL: \" + PageURL);\n\t\t\tvar SplitURL = PageURL.split(\/[\\s\/?]+\/);\n\t\t\tconsole.log(SplitURL);\n\t\t\tif(SplitURL[3] == \"forecast\")\n\t\t\t{\n        console.log(\"forecast\");\n\t\t\t\tLon = parseFloat(new URLSearchParams(window.location.search).get(\"Lon\"));\n\t\t\t\tLat = parseFloat(new URLSearchParams(window.location.search).get(\"Lat\"));\n\t\t\t\tcurrentwlocflow = \"Forecast\";\n        RequestDataFlow = {\n          Site: currentwlocflow,\n          Owner: \"Website\",\n          Data: {\n            Name: \"\",\n            DisplayName: \"\",\n            longitude: Lon,\n            latitude: Lat,\n            MinWind: \"\",\n            AverageWind: \"\",\n            MaxWind: \"\",\n            WindDirection: \"\",\n            LastUpdate: \"\",\n            Status: \"\",\n            UpdateRate: \"\",\n          },\n          Source: {\n            WindMeters: \"\",\n            ExternalStations: \"\",\n          },\n        };\n\t\t\t}\n      else if(SplitURL[3] == \"extern\")\n      {\n        console.log(\"extern\");\n        currentwlocflow = new URLSearchParams(window.location.search).get(\"Site\");\n\t\t\t\tvar DatabaseSourceFlow = \"ExternalStations\";\n        RequestDataFlow = {\n\t\t\t\t\t'Site': {\n\t\t\t\t\t\t[0]: currentwloc\n\t\t\t\t\t},\n\t\t\t\t\t'Owner': \"Website\",\n\t\t\t\t\t'Data': {\n\t\t\t\t\t\t'LoraName': \"\",\n\t\t\t\t\t\t'DisplayName': \"\",\n\t\t\t\t\t\t'EnableWindDirection': \"\",\n\t\t\t\t\t\t'UpdateRate': \"\",\n\t\t\t\t\t\t'Name': \"\",\n\t\t\t\t\t\t'LoraName': \"\",\n\t\t\t\t\t\t'WaterTemperature': \"\",\n            'longitude': \"\",\n            'latitude': \"\",\n\t\t\t\t\t},\n\t\t\t\t\tSource: {\n\t\t\t\t\t\t[DatabaseSourceFlow]: \"\",\n\t\t\t\t\t}\n\t\t\t\t}\n        RequestDataFlow = await GetLocations(RequestDataFlow);\n      }\n      else if(SplitURL[3] == \"locations\")\n      {\n        console.log(\"locations\");\n        currentwlocflow = SplitURL[4];\n\t\t\t\tDatabaseSourceFlow = \"WindMeters\";\n\n        RequestDataFlow = {\n\t\t\t\t\t'Site': {\n\t\t\t\t\t\t[0]: currentwloc\n\t\t\t\t\t},\n\t\t\t\t\t'Owner': \"Website\",\n\t\t\t\t\t'Data': {\n\t\t\t\t\t\t'LoraName': \"\",\n\t\t\t\t\t\t'DisplayName': \"\",\n\t\t\t\t\t\t'EnableWindDirection': \"\",\n\t\t\t\t\t\t'UpdateRate': \"\",\n\t\t\t\t\t\t'Name': \"\",\n\t\t\t\t\t\t'LoraName': \"\",\n\t\t\t\t\t\t'WaterTemperature': \"\",\n            'longitude': \"\",\n            'latitude': \"\",\n\t\t\t\t\t},\n\t\t\t\t\tSource: {\n\t\t\t\t\t\t[DatabaseSourceFlow]: \"\",\n\t\t\t\t\t}\n\t\t\t\t}\n        RequestDataFlow = await GetLocations(RequestDataFlow);\n      }\n      else\n      {\n        console.log(\"Default\");\n        RequestDataFlow = {\n        Site: \"Flow\",\n        Owner: \"Website\",\n        Data: {\n          Name: \"\",\n          DisplayName: \"\",\n          longitude: null,\n          latitude: null,\n          MinWind: \"\",\n          AverageWind: \"\",\n          MaxWind: \"\",\n          WindDirection: \"\",\n          LastUpdate: \"\",\n          Status: \"\",\n          UpdateRate: \"\",\n        },\n        Source: {\n          WindMeters: \"\",\n          ExternalStations: \"\",\n        },\n      };\n      }\n\t\t}\n    \n\t\t\tconsole.log(\"Start Flowmap\");\n      console.log(\"RequestDataFlow:\")\n      console.log(RequestDataFlow);\n\t\t\t\/\/Flowmap had following vars: spot\n\n\t\t\tawait FlowMapInit(RequestDataFlow);\n\t\t  });\n\t  <\/script>\n\t  \n    <div id=\"mapbox\">\n      <div id=\"TopMessage\" class=\"top-window\" style=\"display: none;\">\n        <div id=\"WarningMessage\" class=\"Top-message\" style=\"display: none;\"><\/div>\n        <div id=\"ThunderWarning\" class=\"Top-message\" style=\"display: none;\"><\/div>\n\n    <\/div>\n    <div id=\"WarningDisplay\" class=\"ol-popup\"><\/div>\n      <div id=\"map\" class=\"map\"><\/div>\n      <div id=\"attribution-container\"><\/div>\n      <div id=\"mapcontrols\">\n        <div class=\"gradiant-bar-box\">\n          <div class=\"legendBox\">\n            <!-- Gradient Bar -->\n            <div class=\"legend\">\n              <div class=\"gradient-bar\"><\/div>\n              <!-- Speed Ticks and Labels -->\n              <div class=\"tick-container\">\n                <!-- Ticks and corresponding labels -->\n                <div class=\"tick\" style=\"left: 0%\"><\/div>\n                <div class=\"label speed-label\" style=\"left: 0%\">0<\/div>\n\n                <div class=\"tick\" style=\"left: 12.5%\"><\/div>\n                <div class=\"label speed-label\" style=\"left: 12.5%\">8<\/div>\n\n                <div class=\"tick\" style=\"left: 25%\"><\/div>\n                <div class=\"label speed-label\" style=\"left: 25%\">17<\/div>\n\n                <div class=\"tick\" style=\"left: 37.5%\"><\/div>\n                <div class=\"label speed-label\" style=\"left: 37.5%\">25<\/div>\n\n                <div class=\"tick\" style=\"left: 50%\"><\/div>\n                <div class=\"label speed-label\" style=\"left: 50%\">34<\/div>\n\n                <div class=\"tick\" style=\"left: 62.5%\"><\/div>\n                <div class=\"label speed-label\" style=\"left: 62.5%\">41<\/div>\n\n                <div class=\"tick\" style=\"left: 75%\"><\/div>\n                <div class=\"label speed-label\" style=\"left: 75%\">48<\/div>\n\n                <div class=\"tick\" style=\"left: 87.5%\"><\/div>\n                <div class=\"label speed-label\" style=\"left: 87.5%\">56<\/div>\n\n                <div class=\"tick\" style=\"left: 100%\"><\/div>\n                <div class=\"label speed-label\" style=\"left: 100%\">63<\/div>\n              <\/div>\n              <!-- Title for Knots -->\n            <\/div>\n            <div class=\"title\">Knots<\/div>\n          <\/div>\n          <div id=\"rainContainer\" class=\"legendBox\">\n            <div class=\"legend\">\n              <!-- Gradient Bar -->\n              <div class=\"rain-gradient-bar\"><\/div>\n\n              <!-- Rainfall Intensity Ticks and Labels -->\n              <div class=\"tick-container\">\n                <!-- Ticks and corresponding labels -->\n                <div class=\"tick\" style=\"left: 0%\"><\/div>\n                <div class=\"label intensity-label\" style=\"left: 0%\">0.1<\/div>\n                <div class=\"tick\" style=\"left: 20%\"><\/div>\n                <div class=\"label intensity-label\" style=\"left: 20%\">5<\/div>\n                <div class=\"tick\" style=\"left: 40%\"><\/div>\n                <div class=\"label intensity-label\" style=\"left: 40%\">10<\/div>\n\n                <div class=\"tick\" style=\"left: 60%\"><\/div>\n                <div class=\"label intensity-label\" style=\"left: 60%\">15<\/div>\n                <div class=\"tick\" style=\"left: 80%\"><\/div>\n                <div class=\"label intensity-label\" style=\"left: 80%\">20<\/div>\n                <div class=\"tick\" style=\"left: 100%\"><\/div>\n                <div class=\"label intensity-label\" style=\"left: 100%\">25<\/div>\n              <\/div>\n            <\/div>\n\n            <div class=\"title\">Rain (mm)<\/div>\n          <\/div>\n        <\/div>\n        <div id=\"Buttons\">\n          <!-- Toggle Button -->\n          <button id=\"RainButton\" class=\"toggle-btn\">Rain<\/button>\n          <button id=\"CloudsButton\" class=\"toggle-btn\">Clouds\n            <img decoding=\"async\" src=\"https:\/\/data.windsurfice.com\/img\/Symbols\/svg\/04.svg\" \n                alt=\"Clouds\" \n                style=\"width:24px; height:24px; vertical-align:middle;\">\n          <\/button>\n          <button id=\"RadarButton\" class=\"toggle-btn\">Radar\n            <img decoding=\"async\" src=\"https:\/\/data.windsurfice.com\/img\/Symbols\/svg\/11.svg\" \n                alt=\"Radar\" \n                style=\"width:24px; height:24px; vertical-align:middle;\">\n          <\/button>\n          <button id=\"WarningsButton\" class=\"toggle-btn\">Warnings<\/button>\n          <button id=\"FlowButton\" class=\"toggle-btn\">Flow style<\/button>\n        <\/div>\n      <\/div>\n\n      <div id=\"timeline-container\">\n        <div id=\"timeline-wrapper\">\n          <button id=\"prev-day\" class=\"nav-button\">&laquo; Day<\/button>\n          <button id=\"prev-hour\" class=\"nav-button\">&laquo; Hour<\/button>\n          <div id=\"timeline-row\"><\/div>\n          <button id=\"next-hour\" class=\"nav-button\">Hour &raquo;<\/button>\n          <button id=\"next-day\" class=\"nav-button\">Day &raquo;<\/button>\n        <\/div>\n      <\/div>\n      <div id=\"radar-timeline-container\" style=\"display:none;\">\n        <div id=\"radar-timeline-wrapper\">\n          <button id=\"prev-timestamp\" class=\"nav-button2\">&laquo; 5min<\/button>\n          <div id=\"radar-timeline-row\"><\/div>\n          <button id=\"next-timestamp\" class=\"nav-button2\">5min &raquo;<\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n\n  <\/body>\n<\/html>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3bd0082 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"3bd0082\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2fe4c28 elementor-widget elementor-widget-wp-widget-xyz_insert_php_widget\" data-id=\"2fe4c28\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wp-widget-xyz_insert_php_widget.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t \n<!DOCTYPE HTML>\n<html>\n<head>\n<meta charset=\"utf-8\">\n\n<script src=\"https:\/\/data.windsurfice.com\/Highcharts11\/code\/highcharts.js\"><\/script>\n<script src=\"https:\/\/data.windsurfice.com\/Highcharts11\/code\/highcharts-more.js\"><\/script>\n<script src=\"https:\/\/data.windsurfice.com\/Highcharts11\/code\/modules\/windbarb.js\"><\/script>\n<script src=\"https:\/\/data.windsurfice.com\/Highcharts11\/code\/modules\/datagrouping.js\"><\/script>\n<script src=\"https:\/\/data.windsurfice.com\/Highcharts11\/code\/modules\/accessibility.js\"><\/script>\n    <script src='https:\/\/data.windsurfice.com\/JS\/windsurfice.js?Version=1702483526'><\/script>\n    <script src='https:\/\/data.windsurfice.com\/JS\/RainGraph.js?Version=1761748082'><\/script>\n\t<\/head>\n\t<body>\n\n        <script type=\"module\">\n\t\t\n    var currentwlocRain = $(\"#wloc\").val();\n\t\tvar Lon = \"\";\n\t\tvar Lat = \"\";\n\t\t\/\/var currentwloc = \"wscr\";\n\t\tconsole.log(\"currentwlocflow: \" + currentwlocRain);\n    var RequestDataRain = {};\n\t\t\/\/als er geen $site is ingevult zelf uit de URL halen\n\n\n\t\twindow.addEventListener(\"load\", async function () {\n      \t\tif (currentwlocRain === undefined) {\n\t\t\tvar PageURL = window.location.href;\n\t\t\tconsole.log(\"PageURL: \" + PageURL);\n\t\t\tvar SplitURL = PageURL.split(\/[\\s\/?]+\/);\n\t\t\tconsole.log(SplitURL);\n\t\t\tif(SplitURL[3] == \"forecast\")\n\t\t\t{\n        console.log(\"forecast\");\n\t\t\t\tLon = parseFloat(new URLSearchParams(window.location.search).get(\"Lon\"));\n\t\t\t\tLat = parseFloat(new URLSearchParams(window.location.search).get(\"Lat\"));\n\t\t\t\tcurrentwlocRain = \"Forecast\";\n        RequestDataRain = {\n          Site: currentwlocRain,\n          Owner: \"Website\",\n          Data: {\n            Name: \"\",\n            DisplayName: \"\",\n            longitude: Lon,\n            latitude: Lat,\n            MinWind: \"\",\n            AverageWind: \"\",\n            MaxWind: \"\",\n            WindDirection: \"\",\n            LastUpdate: \"\",\n            Status: \"\",\n            UpdateRate: \"\",\n          },\n          Source: {\n            WindMeters: \"\",\n            ExternalStations: \"\",\n          },\n        };\n\t\t\t}\n      else if(SplitURL[3] == \"extern\")\n      {\n        console.log(\"extern\");\n        currentwlocRain = new URLSearchParams(window.location.search).get(\"Site\");\n\t\tvar DatabaseSourceFlow = \"ExternalStations\";\n        RequestDataRain = {\n\t\t\t\t\t'Site': {\n\t\t\t\t\t\t[0]: currentwlocRain\n\t\t\t\t\t},\n\t\t\t\t\t'Owner': \"Website\",\n\t\t\t\t\t'Data': {\n\t\t\t\t\t\t'LoraName': \"\",\n\t\t\t\t\t\t'DisplayName': \"\",\n\t\t\t\t\t\t'EnableWindDirection': \"\",\n\t\t\t\t\t\t'UpdateRate': \"\",\n\t\t\t\t\t\t'Name': \"\",\n\t\t\t\t\t\t'LoraName': \"\",\n\t\t\t\t\t\t'WaterTemperature': \"\",\n            'longitude': \"\",\n            'latitude': \"\",\n\t\t\t\t\t},\n\t\t\t\t\tSource: {\n\t\t\t\t\t\t[DatabaseSourceFlow]: \"\",\n\t\t\t\t\t}\n\t\t\t\t}\n        RequestDataRain = await GetLocations(RequestDataRain);\n      }\n      else if(SplitURL[3] == \"locations\")\n      {\n        console.log(\"locations\");\n        currentwlocRain = SplitURL[4];\n\t\t\t\tDatabaseSourceFlow = \"WindMeters\";\n\n        RequestDataRain = {\n\t\t\t\t\t'Site': {\n\t\t\t\t\t\t[0]: currentwlocRain\n\t\t\t\t\t},\n\t\t\t\t\t'Owner': \"Website\",\n\t\t\t\t\t'Data': {\n\t\t\t\t\t\t'LoraName': \"\",\n\t\t\t\t\t\t'DisplayName': \"\",\n\t\t\t\t\t\t'EnableWindDirection': \"\",\n\t\t\t\t\t\t'UpdateRate': \"\",\n\t\t\t\t\t\t'Name': \"\",\n\t\t\t\t\t\t'LoraName': \"\",\n\t\t\t\t\t\t'WaterTemperature': \"\",\n            'longitude': \"\",\n            'latitude': \"\",\n\t\t\t\t\t},\n\t\t\t\t\tSource: {\n\t\t\t\t\t\t[DatabaseSourceFlow]: \"\",\n\t\t\t\t\t}\n\t\t\t\t}\n        RequestDataRain = await GetLocations(RequestDataRain);\n      }\n      else\n      {\n        console.log(\"Default\");\n        RequestDataRain = {\n        Site: \"Flow\",\n        Owner: \"Website\",\n        Data: {\n          Name: \"\",\n          DisplayName: \"\",\n          longitude: null,\n          latitude: null,\n          MinWind: \"\",\n          AverageWind: \"\",\n          MaxWind: \"\",\n          WindDirection: \"\",\n          LastUpdate: \"\",\n          Status: \"\",\n          UpdateRate: \"\",\n        },\n        Source: {\n          WindMeters: \"\",\n          ExternalStations: \"\",\n        },\n      };\n      }\n\t\t}\n      console.log(\"RequestDataRain:\")\n      console.log(RequestDataRain);\n\t\t\t\/\/Flowmap had following vars: spot\n\n\t\t\tawait RaingraphInit(RequestDataRain);\n\t\t  });\n\t  <\/script>\n\t  \n      <div id=\"rain-chart\">\n\n  <\/body>\n<\/html>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1925","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Forecast - Wind measurement service @ the spot<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/windsurfice.com\/en\/forecast\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Forecast - Wind measurement service @ the spot\" \/>\n<meta property=\"og:url\" content=\"https:\/\/windsurfice.com\/en\/forecast\/\" \/>\n<meta property=\"og:site_name\" content=\"Wind measurement service @ the spot\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-29T14:13:46+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/windsurfice.com\\\/nl\\\/forecast\",\"url\":\"https:\\\/\\\/windsurfice.com\\\/nl\\\/forecast\",\"name\":\"Forecast - Wind measurement service @ the spot\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/windsurfice.com\\\/nl\\\/#website\"},\"datePublished\":\"2025-06-23T17:56:11+00:00\",\"dateModified\":\"2025-10-29T14:13:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/windsurfice.com\\\/nl\\\/forecast#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/windsurfice.com\\\/nl\\\/forecast\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/windsurfice.com\\\/nl\\\/forecast#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/windsurfice.com\\\/nl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Forecast\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/windsurfice.com\\\/nl\\\/#website\",\"url\":\"https:\\\/\\\/windsurfice.com\\\/nl\\\/\",\"name\":\"Wind measurement service @ the spot\",\"description\":\"Wind measurement service  @ the spot\",\"publisher\":{\"@id\":\"https:\\\/\\\/windsurfice.com\\\/nl\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/windsurfice.com\\\/nl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/windsurfice.com\\\/nl\\\/#organization\",\"name\":\"Wind measurement service @ the spot\",\"url\":\"https:\\\/\\\/windsurfice.com\\\/nl\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/windsurfice.com\\\/nl\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/windsurfice.com\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/logo-1.png\",\"contentUrl\":\"https:\\\/\\\/windsurfice.com\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/logo-1.png\",\"width\":661,\"height\":170,\"caption\":\"Wind measurement service @ the spot\"},\"image\":{\"@id\":\"https:\\\/\\\/windsurfice.com\\\/nl\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Forecast - Wind measurement service @ the spot","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/windsurfice.com\/en\/forecast\/","og_locale":"en_GB","og_type":"article","og_title":"Forecast - Wind measurement service @ the spot","og_url":"https:\/\/windsurfice.com\/en\/forecast\/","og_site_name":"Wind measurement service @ the spot","article_modified_time":"2025-10-29T14:13:46+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/windsurfice.com\/nl\/forecast","url":"https:\/\/windsurfice.com\/nl\/forecast","name":"Forecast - Wind measurement service @ the spot","isPartOf":{"@id":"https:\/\/windsurfice.com\/nl\/#website"},"datePublished":"2025-06-23T17:56:11+00:00","dateModified":"2025-10-29T14:13:46+00:00","breadcrumb":{"@id":"https:\/\/windsurfice.com\/nl\/forecast#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/windsurfice.com\/nl\/forecast"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/windsurfice.com\/nl\/forecast#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/windsurfice.com\/nl\/"},{"@type":"ListItem","position":2,"name":"Forecast"}]},{"@type":"WebSite","@id":"https:\/\/windsurfice.com\/nl\/#website","url":"https:\/\/windsurfice.com\/nl\/","name":"Wind measurement service @ the spot","description":"Wind measurement service  @ the spot","publisher":{"@id":"https:\/\/windsurfice.com\/nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/windsurfice.com\/nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/windsurfice.com\/nl\/#organization","name":"Wind measurement service @ the spot","url":"https:\/\/windsurfice.com\/nl\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/windsurfice.com\/nl\/#\/schema\/logo\/image\/","url":"https:\/\/windsurfice.com\/wp-content\/uploads\/2021\/04\/logo-1.png","contentUrl":"https:\/\/windsurfice.com\/wp-content\/uploads\/2021\/04\/logo-1.png","width":661,"height":170,"caption":"Wind measurement service @ the spot"},"image":{"@id":"https:\/\/windsurfice.com\/nl\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/windsurfice.com\/en\/wp-json\/wp\/v2\/pages\/1925","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/windsurfice.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/windsurfice.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/windsurfice.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/windsurfice.com\/en\/wp-json\/wp\/v2\/comments?post=1925"}],"version-history":[{"count":13,"href":"https:\/\/windsurfice.com\/en\/wp-json\/wp\/v2\/pages\/1925\/revisions"}],"predecessor-version":[{"id":2078,"href":"https:\/\/windsurfice.com\/en\/wp-json\/wp\/v2\/pages\/1925\/revisions\/2078"}],"wp:attachment":[{"href":"https:\/\/windsurfice.com\/en\/wp-json\/wp\/v2\/media?parent=1925"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}