DBRep: SQLResult Werte weiterverarbeiten

Begonnen von Phili, 07 Mai 2018, 23:21:43

Vorheriges Thema - Nächstes Thema

Phili

Hallo Zusammen,

ich möchte gerne geloggte Koordinaten aus der DBlog weiterverabeiten, um sie als Heatmap in Google Maps darzustellen.

Was ich bereits manuell zusammengebaut habe ist die Karte mit ein paar von Hand eingetragener Werte:

sub ShowGoogleMapsCode() {
  my $htmlcode = "";
 
  $htmlcode .= "<script src='https://maps.googleapis.com/maps/api/js?key=MEINGOOGLEKEY&libraries=visualization'></script>";
  $htmlcode .= "<script>";
  $htmlcode .= "function initialize() {  ";
  $htmlcode .= "var heatmapData = [new google.maps.LatLng(LatGeheim,LngGeheim),";
  $htmlcode .= "new google.maps.LatLng(LatGeheim,LngGeheim),";
  $htmlcode .= "new google.maps.LatLng(LatGeheim,LngGeheim),";
$htmlcode .= "new google.maps.LatLng(LatGeheim,LngGeheim),";
$htmlcode .= "new google.maps.LatLng(LatGeheim,LngGeheim),";
$htmlcode .= "new google.maps.LatLng(LatGeheim,LngGeheim),";
$htmlcode .= "new google.maps.LatLng(LatGeheim,LngGeheim),";
$htmlcode .= "new google.maps.LatLng(LatGeheim,LngGeheim),";
$htmlcode .= "new google.maps.LatLng(LatGeheim,LngGeheim),";
$htmlcode .= "new google.maps.LatLng(LatGeheim,LngGeheim),";
$htmlcode .= "new google.maps.LatLng(LatGeheim,LngGeheim)";
  $htmlcode .= " ];  ";
  $htmlcode .= "var myLatlng = new google.maps.LatLng(LatGeheim,LngGeheim);  ";
  $htmlcode .= "var mapOptions = {    ";
  $htmlcode .= "  zoom: 15,    ";
  $htmlcode .= "  mapTypeId: 'satellite', ";
  $htmlcode .= "  center: myLatlng  ";
  $htmlcode .= "};  ";
  $htmlcode .= "var map = new google.maps.Map(document.getElementById('map'), mapOptions);  ";
  $htmlcode .= "var heatmap = new google.maps.visualization.HeatmapLayer({ data: heatmapData });  ";
  $htmlcode .= "heatmap.setMap(map);";
  $htmlcode .= "}";
  $htmlcode .= "google.maps.event.addDomListener(window, 'load', initialize);    ";
  $htmlcode .= "</script>    ";
  $htmlcode .= "<div id='map' style='width:800px;height:800px;'></div>";
 
  return $htmlcode;
}


Das sieht dann für diese paar Daten dann auch ok aus (siehe Anhang).

Die Koordianten werden über das Automower Modul in meine db geschrieben. Ideal wäre es natürlich jetzt, wenn ich diese automatisiert auslesen und als string var heatmapdata = [...]; in die Karte einbauen kann.
Über DBRep und sqlcmd habe ich zumindest mal eine Ergebnisreihe der Koordinaten eines Mähvorganges bekommen:

sqlCmd select value from history where device='Robbi' and timestamp>="2018-05-07 08:00:00" and timestamp <= "2018-05-07 09:00:00" order by timestamp;

Diese werden allerdings in mehrere Readings (SqlResultRow_01 bis n) geschrieben. Und an diesem Punkt komme ich nicht weiter. Kann ich hier irgendwie durch die Ergebnisse der Abfrage durch laufen, um den html string zusammenzubauen?

Danke für jeden Denkanstoss.

Gruß
Philipp 


Phili