How do I obtain data from a table from a website into MATLAB

Im working on a project to track fire calls in in rockland county and to do that there is a websight that has all calls in the last 24 hours how do I collect the data from the websight into matlab. I've tred using web read but I can't find the call data in the output it gives.
Also how do I deal with repeate data everytime I webscrape the sight

4 Comments

There doesn't appear to be any data in that page. It's all loaded from somewhere else, and it's not obvious to me where 'somewhere else' is.
v = websave('history','https://firewatch.44-control.net/history.html')
v = '/users/mss.system.zzc89/history.html'
T1 = readtable(v)
T1 = 0x6 empty table Time Opened Time Closed FD Incident Type Address Common Name ___________ ___________ __ _____________ _______ ___________
type(v)
<!doctype html> <html lang="en"> <head> <meta name="robots" content="noindex"> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-X8PWFSKMEG"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'G-X8PWFSKMEG'); </script> <title>44-Control Firewatch - Previous Incidents</title> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- https://github.com/vinorodrigues/bootstrap-dark-5/blob/main/docs/bootstrap-nightshade.md --> <meta name="color-scheme" content="light dark"> <!-- Bootstrap / Font Awesome CSS --> <link href="https://cdn.jsdelivr.net/npm/bootstrap-dark-5@1.1.3/dist/css/bootstrap-nightshade.min.css" rel="stylesheet"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.6.1/font/bootstrap-icons.min.css" integrity="sha512-9a1QYep56cYgIPFq0JYfsh9xRYYmPBxKaD6/ZfVAtplQ6y9ZUSk7GxgC2dmwtxK9T2cGQOxCV6J2Ll51nrvP2w==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <!-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer" /> --> <style> .dark .onlylight, .onlydark { display: none !important; } .dark .onlydark, .light .onlylight { display: block !important; } .busyindicator { display: none !important; } .wearebusy .busyindicator { display: block !important; } </style> </head> <body> <main class="container-lg pt-1"> <div class="row col"> <img src="44.png" class="d-none d-lg-block" style="max-width: 171px;"> <img src="fw-logo.png" class="mx-auto d-block" style="max-width: 588px;" /> <img src="44.png" class="d-none d-lg-block" style="max-width: 171px;"> </div> <div class="row col mt-2"> <h2 class="col-1"><span class="bi bi-dot busyindicator" style="color: red;"></span></h2> <h2 class="col-10 text-center">Previous Incidents</h2> <h2 class="col-1">&nbsp;</h2> </div> <div class="row col mt-2 table-responsive"> <table id="maintable" class="table table-bordered table-striped"> <thead> <tr class="table-dark"> <th>Time Opened</th> <th>Time Closed</th> <th>FD</th> <th>Incident Type</th> <th>Address</th> <th>Common Name</th> <!-- <th>Nearest Intersection</th> --> </tr> </thead> <tbody id="maintablebody"> <!-- <tr> <td>John</td> <td>Doe</td> <td>john@example.com</td> </tr> --> </tbody> </table> </div> <div class="mt-2 accordion" id="fdfilterform"> <div class="accorion-item"> <h2 class="accordion-header" id="headingOne"> <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="false" aria-controls="collapseOne"> FD Filter &nbsp; <span id="fdfilterlabel"></span> </button> </h2> <div id="collapseOne" class="accordion-collapse collapse" aria-labelledby="headingOne" data-bs-parent="#fdfilterform"> <div class="accordion-body row"> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD01" data-fw-id="1"> <label class="form-check-label" for="flexCheckDefault">01</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD02" data-fw-id="2"> <label class="form-check-label" for="flexCheckDefault">02</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD03" data-fw-id="3"> <label class="form-check-label" for="flexCheckDefault">03</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD04" data-fw-id="4"> <label class="form-check-label" for="flexCheckDefault">04</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD05" data-fw-id="5"> <label class="form-check-label" for="flexCheckDefault">05</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD06" data-fw-id="6"> <label class="form-check-label" for="flexCheckDefault">06</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD07" data-fw-id="7"> <label class="form-check-label" for="flexCheckDefault">07</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD08" data-fw-id="8"> <label class="form-check-label" for="flexCheckDefault">08</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD09" data-fw-id="9"> <label class="form-check-label" for="flexCheckDefault">09</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD10" data-fw-id="10"> <label class="form-check-label" for="flexCheckDefault">10</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD11" data-fw-id="11"> <label class="form-check-label" for="flexCheckDefault">11</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD12" data-fw-id="12"> <label class="form-check-label" for="flexCheckDefault">12</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD13" data-fw-id="13"> <label class="form-check-label" for="flexCheckDefault">13</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD14" data-fw-id="14"> <label class="form-check-label" for="flexCheckDefault">14</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD15" data-fw-id="15"> <label class="form-check-label" for="flexCheckDefault">15</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD16" data-fw-id="16"> <label class="form-check-label" for="flexCheckDefault">16</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD17" data-fw-id="17"> <label class="form-check-label" for="flexCheckDefault">17</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD18" data-fw-id="18"> <label class="form-check-label" for="flexCheckDefault">18</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD19" data-fw-id="19"> <label class="form-check-label" for="flexCheckDefault">19</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD20" data-fw-id="20"> <label class="form-check-label" for="flexCheckDefault">20</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD21" data-fw-id="21"> <label class="form-check-label" for="flexCheckDefault">21</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD22" data-fw-id="22"> <label class="form-check-label" for="flexCheckDefault">22</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD23" data-fw-id="23"> <label class="form-check-label" for="flexCheckDefault">23</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD24" data-fw-id="24"> <label class="form-check-label" for="flexCheckDefault">24</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD25" data-fw-id="25"> <label class="form-check-label" for="flexCheckDefault">25</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD26" data-fw-id="26"> <label class="form-check-label" for="flexCheckDefault">26</label> </div> <div class="col-2 form-check"> <input class="form-check-input" type="checkbox" value="" id="FD44" data-fw-id="44"> <label class="form-check-label" for="flexCheckDefault">44</label> </div> <div class="col-12 mt-1 row"> <div class="col">&nbsp;</div> <button type="button" class="btn btn-outline-danger col" id="fdfilterreset">Reset</button> <div class="col">&nbsp;</div> <button type="button" class="btn btn-outline-success col" id="fdfiltersave">Apply</button> <div class="col">&nbsp;</div> </div> </div> </div> </div> </div> <div class="row col mt-2"> <p class="text-center" id="timestamptext"></p> <p class="text-center">Return to FireWatch - Active Incidents</p> <p class="text-center">Out of Service Apparatus</p> <p class="text-center">Disclaimer / Information Page</p> <p class="text-center">Toggle Dark Mode</p> <img src="gt-logo-onwhite.png" class="onlylight" style="max-width: 216px;" /> <img src="gt-logo-onblack.png" class="onlydark" style="max-width: 216px;" /> <p class="text-center">&copy; Rockland County Sheriff's Communications 911 - All Rights Reserved</p> </div> </main> <!-- jQuery JavaScript Libraries --> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <!-- Bootstrap JavaScript Libraries --> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.1.3/js/bootstrap.min.js" integrity="sha512-OvBgP9A2JBgiRad/mM36mkzXSXaJE9BEIENnVEmeZdITvwT09xnxLtT4twkCa8m/loMbPHsvPl0T8lRGVBwjlQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap-dark-5@1.1.3/dist/js/darkmode.min.js"></script> <script> queryinterval = 30 // default refresh value queryeventID = null; // ID from table redraw setInterval blinkeventID = null; // ID from reload indicator setInterval fdfilter = []; $("#darkmode-button").click(function (e) { darkmode.toggleDarkMode(); }); $("#fdfilterreset").click(function (e) { $("#fdfilterform").find("input:checkbox").prop("checked", false); }); $("#fdfiltersave").click(function (e) { fdfilter = []; $("#fdfilterform").find("input:checkbox:checked").each(function(z) {fdfilter.push($(this).data("fw-id").toString())}); try { localStorage.setItem("firewatch.fdfilter", fdfilter.join(",")); } catch { ; } $("#fdfilterlabel").text(fdfilter.join(",")) fillmaintable(); }); function shorttime(t) { if (typeof t === 'string') { return t.substring(0,5); } else { return t; } } function busyblink() { clearInterval(blinkeventID); // cancel previous schedule $("body").addClass("wearebusy"); // blink! blinkeventID=setInterval( // schedule un-blink function () { $("body").removeClass("wearebusy"); // un-blink! clearInterval(blinkeventID); // don't repeat blinkeventID=null; // clean up }, 100); // clear blink in 0.1 seconds } function fillmaintable() { // $("#maintablebody").empty(); $.ajaxSetup({ cache: false }); busyblink(); // show that we're updating the table $.getJSON("status.json", function (result) { newtable=""; // collect new table contents try { queryinterval = parseFloat(result["Interval"]) || queryinterval; } catch { ; } $.each(result["Fire"], function (i, row) { FD = row["FD"].match("^FD[0-9]+$") ? row["FD"].replace(/^FD0?/, "") : row["FD"]=="13EM" ? "13" : row["FD"]; if ((row["Call Status"] == "Completed") && (fdfilter.length == 0 || fdfilter.includes(FD))) { newtable+=("<tr>" + "<td>" + row["Time Opened"] + "</td>" + "<td>" + row["Time Closed"] + "</td>" + "<td>" + '' + FD + '' + "</td>" + "<td>" + row["Incident Type"] + "</td>" + "<td>" + (row["Latitude"] ? '' : "") + row["Address"] + // (row["Address2"] // ? "<br />" + row["Address2"] // : "") + // (row["Friendly"] // ? "<br />" + row["Friendly"] // : "") + (row["Latitude"] ? '' : "") + "</td>" + "<td>" + (row["Friendly"] ?? "") + "</td>" + // "<td>" + (row["Nearest Intersection"] ?? "") + "</td>" + "</tr>" ); } }); $("#maintablebody").html(newtable); // replace whole table at once $("#timestamptext").text("Data updated: "+result["Timestamp"]) clearInterval(queryeventID); // cancel previous schedule queryeventID=setInterval(fillmaintable, queryinterval*1000); // set next page refresh in milliseconds }); } $(function () { // run after document loaded try { fdfilter = localStorage.getItem("firewatch.fdfilter"); if (fdfilter=="") {fdfilter=[];} else {fdfilter=fdfilter.split(",");} $("#fdfilterform").find("input:checkbox").each(function(z) {$(this).prop("checked", (fdfilter.includes($(this).data("fw-id").toString())))}); $("#fdfilterlabel").text(fdfilter.join(",")) } catch { fdfilter = []; } fillmaintable() }); // run after document loaded </script> </body> </html>
.

Is there another way you can think of to get the information?

There are nly two options I can think of.
The firsi is to copy the entire table manually and paste it into a text editor or spreadsheet. This will require parsing it manually as well. Then you can read it using readtable.
The second is to contact the website owner and ask them if there is a way to access the table informaiton. There might be. Since that might not produce immediate results, unless you have an absolutely urgent need for that information, (in which instance the copy-paste-parse-readtable approach is the only option), that would be how I would approach this.
I got as far as extracting the table headers and then realized that the table content appears to be dynamically loaded after the page is loaded so webread will not see it. I confirmed this by viewing the page source where the table content is missing (it's visible in Inspect Element view but that's not what webread sees). You could used a 3rd party API or try to save the page in a format that could be used with MATLAB's readtable or webread.
url = "https://firewatch.44-control.net/history.html";
data = webread(url);
tree = htmlTree(data);
tableNode = findElement(tree, "table#maintable");
headerNodes = findElement(tableNode, "th");
headers = extractHTMLText(headerNodes)
headers = 6x1 string array
"Time Opened" "Time Closed" "FD" "Incident Type" "Address" "Common Name"

Sign in to comment.

 Accepted Answer

For reference, readtable now works directly on urls, but as @Adam Danz pointed out, the data on this webpage is loaded dynamically so that approach still won't work in this case.
readtable("https://firewatch.44-control.net/history.html")
ans = 0x6 empty table Time Opened Time Closed FD Incident Type Address Common Name ___________ ___________ __ _____________ _______ ___________
That said, you can manually download the rendered HTML from the webpage and read it into MATLAB using readtable.
readtable("44-Control Firewatch - Previous Incidents.txt",FileType="html")
ans = 28x6 table
Time Opened Time Closed FD Incident Type Address Common Name _____________________ _____________________ __ _________________ ____________________ ______________________________________________ "15:04:17 05/05/2025" "15:17:59 05/05/2025" 18 "Alarm Sounding" "15 FONDA DR" <missing> "14:44:17 05/05/2025" "15:34:24 05/05/2025" 6 "Automatic Alarm" "1 PHIL TISI WAY" "CLOVER STADIUM" "14:41:16 05/05/2025" "15:02:42 05/05/2025" 12 "Electric Inside" "125 ABLONDI RD" <missing> "14:11:04 05/05/2025" "14:37:58 05/05/2025" 19 "Rescue Call-Inj" "MILE RD & VIOLA RD" <missing> "14:11:04 05/05/2025" "14:37:58 05/05/2025" 20 "Rescue Call-Inj" "MILE RD & VIOLA RD" <missing> "13:40:05 05/05/2025" "13:52:38 05/05/2025" 11 "Automatic Alarm" "127 ROUTE 303" "ORANGETOWN WASTE WATER - ADMINISTRATION BLDG" "11:24:15 05/05/2025" "11:48:17 05/05/2025" 16 "Outside Fire" "244 TWEED BLVD" <missing> "09:11:49 05/05/2025" "09:34:10 05/05/2025" 22 "Automatic Alarm" "142 LAKE RD" "NYACK UFSD LIBERTY ELEMENTARY" "09:11:49 05/05/2025" "09:34:10 05/05/2025" 3 "Automatic Alarm" "142 LAKE RD" "NYACK UFSD LIBERTY ELEMENTARY" "08:31:51 05/05/2025" "08:46:17 05/05/2025" 16 "Automatic Alarm" "125 ROUTE 340" "ST. THOMAS AQUINAS, BORELLI" "08:25:41 05/05/2025" "08:54:34 05/05/2025" 4 "Structure Fire" "52 COOLIDGE ST" <missing> "08:25:41 05/05/2025" "08:54:34 05/05/2025" 23 "Structure Fire" "52 COOLIDGE ST" <missing> "08:25:41 05/05/2025" "08:54:34 05/05/2025" 44 "Structure Fire" "52 COOLIDGE ST" <missing> "01:12:26 05/05/2025" "01:32:36 05/05/2025" 19 "Automatic Alarm" "200 LAFAYETTE AV" "ROCKLAND HOME FOR THE AGED" "23:57:23 05/04/2025" "00:19:15 05/05/2025" 10 "Alarm Sounding" "221 PIERMONT AV" <missing> "21:06:54 05/04/2025" "21:37:28 05/04/2025" 12 "Electric Hazard" "55 KINSLEY GROVE" <missing>

1 Comment

Looks like the raw data come from https://firewatch.44-control.net/status.json, so you can use readstruct to get the data and struct2table to convert the data into a table.
s = readstruct("https://firewatch.44-control.net/status.json")
s = struct with fields:
Timestamp: "16:22:18 05/05/2025" Interval: "30" Fire: [1x32 struct] FireOOS: [1x6 struct] Runtime: "3.66 seconds"
struct2table(s.Fire)
ans = 32x15 table
ID IncidentNumber TimeReported TimeOpened TimeClosed FD IncidentType Address Address2 Friendly NearestIntersection CallStatus Units Latitude Longitude ___________ ______________ _____________________ _____________________ _____________________ ______ _________________ _______________________ __________________________ ______________________________________________ ______________________________________________________ _______________ ____________ ________ _________ "25-093646" "2506-0341" "16:05:48 05/05/2025" "16:05:48 05/05/2025" <missing> "FD06" "Automatic Alarm" "1 PHIL TISI WAY" "N E RAMAPO, NY 10970" "CLOVER STADIUM" "STATION RD & FIREMENS MEMORIAL DR" "Under Control" {1x1 struct} 41.169 -74.039 "25-093643" "2518-0126" "15:59:28 05/05/2025" "15:59:28 05/05/2025" "16:18:16 05/05/2025" "FD18" "Rescue Call-Inj" "PIP E14 SB - OFF RAMP" "STONY POINT, NY 10980" "" "PALISADES INTERSTATE PKWY S & WILLOW GROVE RD" "Completed" {1x1 struct} 41.222 -74.035 "25-093641" "2508-0209" "15:55:39 05/05/2025" "15:55:39 05/05/2025" "16:11:56 05/05/2025" "FD08" "Alarm Sounding" "23 GLEN DR" "BARDONIA, NY 10954" "" <missing> "Completed" {1x1 struct} 41.112 -73.998 "25-093640" "2517-0373" "15:54:58 05/05/2025" "15:54:58 05/05/2025" "16:19:23 05/05/2025" "FD17" "Automatic Alarm" "46 W CHURCH ST" "SPRING VALLEY, NY 10977" "USIS 46 CHURCH STREET" "N MYRTLE AV & JOHNSON ST" "Completed" {1x1 struct} 41.113 -74.048 "25-093607" "2518-0125" "15:04:17 05/05/2025" "15:04:17 05/05/2025" "15:17:59 05/05/2025" "FD18" "Alarm Sounding" "15 FONDA DR" "STONY POINT, NY 10980" "" "ANDERSON DR & WILES DR" "Completed" {1x1 struct} 41.221 -73.993 "25-093598" "2506-0340" "14:44:17 05/05/2025" "14:44:17 05/05/2025" "15:34:24 05/05/2025" "FD06" "Automatic Alarm" "1 PHIL TISI WAY" "N E RAMAPO, NY 10970" "CLOVER STADIUM" "STATION RD & FIREMENS MEMORIAL DR" "Completed" {1x1 struct} 41.169 -74.039 "25-093595" "2512-0125" "14:41:16 05/05/2025" "14:41:16 05/05/2025" "15:02:42 05/05/2025" "FD12" "Electric Inside" "125 ABLONDI RD" "PEARL RIVER, NY 10965" "" "CARA DR & VILLA RD" "Completed" {1x1 struct} 41.072 -74 "25-093576" "2519-0116" "14:11:04 05/05/2025" "14:11:04 05/05/2025" "14:37:58 05/05/2025" "FD19" "Rescue Call-Inj" "MILE RD & VIOLA RD" "MONTEBELLO, NY" "" "VIOLA RD & CHARNWOOD DR" "Completed" {1x1 struct} 41.137 -74.111 "25-093576" "2520-0239" "14:11:04 05/05/2025" "14:11:04 05/05/2025" "14:37:58 05/05/2025" "FD20" "Rescue Call-Inj" "MILE RD & VIOLA RD" "MONTEBELLO, NY" "" "VIOLA RD & CHARNWOOD DR" "Completed" {1x1 struct} 41.137 -74.111 "25-093553" "2511-0118" "13:40:05 05/05/2025" "13:40:05 05/05/2025" "13:52:38 05/05/2025" "FD11" "Automatic Alarm" "127 ROUTE 303" "ORANGEBURG, NY 10962" "ORANGETOWN WASTE WATER - ADMINISTRATION BLDG" "JIM DEAN DR" "Completed" {1x1 struct} 41.036 -73.939 "25-093468" "2516-0063" "11:24:15 05/05/2025" "11:24:15 05/05/2025" "11:48:17 05/05/2025" "FD16" "Outside Fire" "244 TWEED BLVD" "SPARKILL, NY 10960" "" "ROUTE 9W & NIKE LN" "Completed" {1x1 struct} 41.046 -73.923 "25-093362" "2522-0062" "09:11:49 05/05/2025" "09:11:49 05/05/2025" "09:34:10 05/05/2025" "FD22" "Automatic Alarm" "142 LAKE RD" "VALLEY COTTAGE, NY 10989" "NYACK UFSD LIBERTY ELEMENTARY" "CHARLES BLVD, VALLEY RD & ROCKLAND LAKE RD, ROUTE 9W" "Completed" {1x1 struct} 41.13 -73.927 "25-093362" "2503-0077" "09:11:49 05/05/2025" "09:11:49 05/05/2025" "09:34:10 05/05/2025" "FD03" "Automatic Alarm" "142 LAKE RD" "VALLEY COTTAGE, NY 10989" "NYACK UFSD LIBERTY ELEMENTARY" "CHARLES BLVD, VALLEY RD & ROCKLAND LAKE RD, ROUTE 9W" "Completed" {1x1 struct} 41.13 -73.927 "25-093331" "2516-0062" "08:31:51 05/05/2025" "08:31:51 05/05/2025" "08:46:17 05/05/2025" "FD16" "Automatic Alarm" "125 ROUTE 340" "SPARKILL, NY 10976" "ST. THOMAS AQUINAS, BORELLI" "THORPE DR & ROUTE 303, GREENBUSH RD" "Completed" {1x1 struct} 41.042 -73.937 "25-093324" "2504-0079" "08:25:41 05/05/2025" "08:25:41 05/05/2025" "08:54:34 05/05/2025" "FD04" "Structure Fire" "52 COOLIDGE ST" "HAVERSTRAW, NY 10927" "" "COOLIDGE CT & FERRACANE PL" "Completed" {1x1 struct} 41.201 -73.98 "25-093324" "2523-0099" "08:25:41 05/05/2025" "08:25:41 05/05/2025" "08:54:34 05/05/2025" "FD23" "Structure Fire" "52 COOLIDGE ST" "HAVERSTRAW, NY 10927" "" "COOLIDGE CT & FERRACANE PL" "Completed" {1x1 struct} 41.201 -73.98

Sign in to comment.

More Answers (0)

Categories

Tags

Asked:

on 25 Apr 2025

Edited:

on 5 May 2025

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!