<?php function generate_tooltip_description($row) { global $arrCategory; global $arrUnfallart; global $arrUnfalltyp; global $arrLicht; global $arrRad; global $arrStrassenzustand; global $arrWochentage; global $db; $strDescription = "<h3>Daten zum Unfall</h3>"; $description = "<strong>Unfallkategorie:</strong> ".$arrCategory[$row['UKATEGORIE']]."<br>"; $description .= "<strong>Unfallmonat/Jahr:</strong> ".$row['UMONAT']."/".$row['UJAHR']."<br>"; $description .= "<strong>Tag/Stunde:</strong> ".$arrWochentage[$row['UWOCHENTAG']]." ".$row['USTUNDE']." Uhr<br>"; $description .= "<strong>Unfallart:</strong> ".$arrUnfallart[$row['UART']]."<br>"; $description .= "<strong>Unfalltyp:</strong> ".$arrUnfalltyp[$row['UTYP1']]."<br>"; $description .= "<strong>Lichtverhältnisse:</strong> ".$arrLicht[$row['ULICHTVERH']]."<br>"; $description .= "<strong>Straßenzustand:</strong> ".$arrStrassenzustand[$row['STRZUSTAND']]."<br>"; $description .= "<strong>Unfallbeteiligte:</strong> "; if ($row['IstRad']) $description .="mit Fahrradbeteiligung, "; if ($row['IstPKW']) $description .="mit PKW-Beteiligung, "; if ($row['IstFuss']) $description .="mit Fußgängerbeteiligung, "; if ($row['IstKrad']) $description .="mit Kraftradbeteiligung, "; if ($row['IstGkfz']) $description .="mit Güterkraftzeugbeteiligung, "; if ($row['IstSonstige']) $description .="mit Beteiligung eines oben nicht genannten Verkehrsmittels"; $strDescription .= nl2br2($description); return $strDescription; } /** * reads gps location form picture data */ function read_gps_location($file){ if (is_file($file)) { $info = exif_read_data($file); if (isset($info['GPSLatitude']) && isset($info['GPSLongitude']) && isset($info['GPSLatitudeRef']) && isset($info['GPSLongitudeRef']) && in_array($info['GPSLatitudeRef'], array('E','W','N','S')) && in_array($info['GPSLongitudeRef'], array('E','W','N','S'))) { $GPSLatitudeRef = strtolower(trim($info['GPSLatitudeRef'])); $GPSLongitudeRef = strtolower(trim($info['GPSLongitudeRef'])); $lat_degrees_a = explode('/',$info['GPSLatitude'][0]); $lat_minutes_a = explode('/',$info['GPSLatitude'][1]); $lat_seconds_a = explode('/',$info['GPSLatitude'][2]); $lng_degrees_a = explode('/',$info['GPSLongitude'][0]); $lng_minutes_a = explode('/',$info['GPSLongitude'][1]); $lng_seconds_a = explode('/',$info['GPSLongitude'][2]); $lat_degrees = $lat_degrees_a[0] / $lat_degrees_a[1]; $lat_minutes = $lat_minutes_a[0] / $lat_minutes_a[1]; $lat_seconds = $lat_seconds_a[0] / $lat_seconds_a[1]; $lng_degrees = $lng_degrees_a[0] / $lng_degrees_a[1]; $lng_minutes = $lng_minutes_a[0] / $lng_minutes_a[1]; $lng_seconds = $lng_seconds_a[0] / $lng_seconds_a[1]; $lat = (float) $lat_degrees+((($lat_minutes*60)+($lat_seconds))/3600); $lng = (float) $lng_degrees+((($lng_minutes*60)+($lng_seconds))/3600); //If the latitude is South, make it negative. //If the longitude is west, make it negative $GPSLatitudeRef == 's' ? $lat *= -1 : ''; $GPSLongitudeRef == 'w' ? $lng *= -1 : ''; return array( 'lat' => $lat, 'lng' => $lng ); } } return false; } function nl2br2($string) { $string = str_replace(array("\r\n", "\r", "\n"), "<br />", $string); return $string; } function get_statistics($numVehicle,$strWhere,$strYear) { global $db; global $arrUnfallart; global $arrUnfalltyp; global $arrCategory; global $strLocation; $strTable="<h5>Unfallkategorie</h5>"; $strTable.="<table class='statistik'>"; $strSQL="SELECT UKATEGORIE, count(UKATEGORIE) as anz FROM data WHERE ".$strWhere.$strYear.$strLocation." GROUP BY UKATEGORIE"; $result = $db->query($strSQL); while ($row = $result->fetch(PDO::FETCH_ASSOC)) { $strTable.="<tr><td>".$arrCategory[$row['UKATEGORIE']]."</td><td>".$row['anz']."</td></tr>\n"; } $strTable.="</table>"; $strSQL="SELECT sum(IstRad) as rad, sum(IstPKW) as pkw, sum(IstFuss) as fuss, sum(IstKrad) as krad, sum(IstGkfz) as lkw, sum(IstSonstige) as sonstiges, count(*) as summe FROM data WHERE ".$strWhere.$strYear.$strLocation; $result = $db->query($strSQL); $strTable.="<h5>Unfallbeteiligte</h5>"; $strTable.="<table class='statistik'>"; //$strTable.="<tr><th>Unfallbeteiligte</th><th>Anzahl</th></tr>"; while ($row = $result->fetch(PDO::FETCH_ASSOC)) { $strTable.="<tr><td>Fahrräder</td><td>".$row['rad']."</td></tr>"; $strTable.="<tr><td>PKWs</td><td>".$row['pkw']."</td></tr>"; $strTable.="<tr><td>Fussgänger</td><td>".$row['fuss']."</td></tr>"; $strTable.="<tr><td>Krafträder</td><td>".$row['krad']."</td></tr>"; $strTable.="<tr><td>LKWs</td><td>".$row['lkw']."</td></tr>\n"; $strTable.="<tr><td>Sonstiges</td><td>".$row['sonstiges']."</td></tr>\n"; } /* $strSQL="SELECT count(*) as count FROM data WHERE IstRad=0 and IstPKW=0 and IstFuss=0 and IstKrad=0 and IstGkfz=0 and IstSonstige=0"; */ switch ($numVehicle) { case 1: case 0: $strSQL="SELECT count(*) as count FROM data WHERE IstPKW=0 and IstFuss=0 and IstKrad=0 and IstGkfz=0 and IstSonstige=0".$strLocation; break; case 2: $strSQL="SELECT count(*) as count FROM data WHERE IstRad=0 and IstFuss=0 and IstKrad=0 and IstGkfz=0 and IstSonstige=0".$strLocation; break; case 3: $strSQL="SELECT count(*) as count FROM data WHERE IstPKW=0 and IstRad=0 and IstKrad and IstGkfz=0 and IstSonstige=0".$strLocation; break; case 4: $strSQL="SELECT count(*) as count FROM data WHERE IstPKW=0 and IstFuss=0 and IstRad=0 and IstGkfz=0 and IstSonstige=0".$strLocation; break; case 5: $strSQL="SELECT count(*) as count FROM data WHERE IstPKW=0 and IstFuss=0 and IstKrad=0 and IstRad=0 and IstSonstige=0".$strLocation; break; case 6: $strSQL="SELECT count(*) as count FROM data WHERE IstPKW=0 and IstFuss=0 and IstKrad=0 and IstGkfz=0 and IstRad=0".$strLocation; break; } $result = $db->query($strSQL.$strYear); if ($row = $result->fetch(PDO::FETCH_ASSOC)) { $strTable.="<tr><td>Alleinunfälle und Unfälle mit geicher Fahrzeugart</td><td>".$row['count']."</td></tr>"; } $strTable.="</table>"; //Unfallart $strSQL="SELECT UART, count(UART) as anz FROM data WHERE ".$strWhere.$strYear.$strLocation." GROUP BY UART"; $strTable.="<h5>Unfallart</h5>"; $strTable.="<table class='statistik'>"; $result = $db->query($strSQL); while ($row = $result->fetch(PDO::FETCH_ASSOC)) { $strTable.="<tr><td>".$arrUnfallart[$row['UART']]."</td><td>".$row['anz']."</td></tr>\n"; } $strTable.="</table>"; //Unfallart $strSQL="SELECT UTYP1, count(UTYP1) as anz FROM data WHERE ".$strWhere.$strYear.$strLocation." GROUP BY UTYP1"; $strTable.="<h5>Unfalltyp</h5>"; $strTable.="<table class='statistik'>"; $result = $db->query($strSQL); while ($row = $result->fetch(PDO::FETCH_ASSOC)) { $strTable.="<tr><td>".$arrUnfalltyp[$row['UTYP1']]."</td><td>".$row['anz']."</td></tr>\n"; } $strTable.="</table>"; $strTable.="<a href='https://recht.nrw.de/lmi/owa/br_vbl_show_pdf?p_id=12225' target='_blank'>Unfalltpyen</a><br>"; $strTable.="<a href='https://www.destatis.de/DE/Themen/Gesellschaft-Umwelt/Verkehrsunfaelle/Methoden/verkehrsunfaelle-grundbegriffe.pdf?__blob=publicationFile' target='_blank'>Unfallbeschreibung</a><br>"; return $strTable; }