Verwenden Sie OpenLayers (mit OpenStreetMaps) und PostGis zum Rendern von Daten, die vom GPS-Tracking-Gerät erfasst wurden?

7

Ich recherchiere und plane, Daten von einem GPS-Gerät zu erfassen und in einer PostGIS-Datenbank zu speichern. Dann verwende ich Geodjango, um sie zu verarbeiten / auszuarbeiten und sie schließlich mit OpenLayers auf einer Karte aufzuzeichnen.

Werden diese Technologien für meinen Plan ausreichen, da ich meine Karten nicht möchte, möchte ich OpenStreetMap verwenden und meine Punkte auf einer OpenLayers-Vektorebene zeichnen.

Ich möchte auch Echtzeit-Tracking auf einer Karte implementieren. Ich werde die PostGIS-Datenbank in Echtzeit mit AJAX abfragen und dann Objekte auf einer Karte neu erstellen. Ich kann mit OpenLayers einfach keine guten Beispiele dafür finden. Kann ich Jquery dafür verwenden und mit OpenLayers kombinieren, da ich gut in der Verwendung der AJAX-Methoden von Jquery bin?

PS Bitte denken Sie daran, dass ich diese Technologien noch erforsche, aber OpenLayers / geodjango / postGIS scheint eine großartige Kombination für meine Bedürfnisse zu sein. Ich habe Literatur für fast alles gefunden, was mich an diesen 3 interessiert, nur dass mir die Beispiele für Echtzeit-Diagramme und das Aktualisieren von Objekten auf der OpenLayers-Vektorebene fehlen.

TIA

D00de
quelle

Antworten:

5

Schauen Sie sich das OpenLayers-Beispiel für Rotationsfunktionen an .

Das Verschieben von Features funktioniert auf die gleiche Weise, verwendet jedoch das Verschieben , z.

var vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry");
// create a point feature
var point = new OpenLayers.Geometry.Point(-110, 45);
pointFeature = new OpenLayers.Feature.Vector(point, null, style_blue);

map.addLayer(vectorLayer);
map.setCenter(new OpenLayers.LonLat(point.x, point.y), 5);
vectorLayer.addFeatures([pointFeature]);

// move the point one unit up and redraw            
window.setInterval(function() {
    pointFeature.geometry.move(0, map.getResolution() * 1);
    pointFeature.layer.drawFeature(pointFeature);
}, 100);
diciu
quelle
Danke für deine Antwort. Es ist hilfreich, und in der Zwischenzeit habe ich Beispiele für die Kombination von Jquery mit OpenLayers gefunden. Daher werde ich jetzt versuchen, einige Beispiele durchzuarbeiten.
D00de
4

Zeitfilterstrategie

Beispiel

Ein anderer Weg ist die Verwendung einer zeitlichen Filterstrategie (Filterung nach Zeit). Aber zuerst müssen Sie Ihre Daten im OGC-Webdienstformular offenlegen.

Da Sie diese Technologien noch erforschen, werden Sie möglicherweise feststellen, dass es von Vorteil ist, GeoServer oder MapServer zwischen PostGIS und OpenLayers zu verwenden. Auf diese Weise können Ihre PostGIS-Daten als Webdienste in OGC-Standards wie WFS, WMS usw. verfügbar gemacht werden. OpenLayers können dies auf viele Arten nutzen, und Sie werden sich später bei mir bedanken.

Sobald Sie Ihre Daten über einen Kartenserver wie GeoServer verfügbar gemacht haben, können Sie die zeitliche Filterstrategie verwenden .

CaptDragon
quelle
Dies ist ein sehr hilfreicher Kommentar. Da ich mich noch in der Forschungs- und Lesephase befinde, kann ich die Vorteile der Verwendung von Mapserver zwischen OpenLayers und PostGIS immer noch nicht erkennen. Ich gehe den einfacheren Weg, Daten direkt von PostGIS zu OpenLayers zu zeichnen. Ich versuche jetzt, einen Mapserver zwischen ihnen zu platzieren, damit ich daraus Vorteile ziehen kann, die später nützlich sein können. Und Sie haben Recht, ich muss mich wahrscheinlich später bei Ihnen bedanken, wenn ich Mapserver-Funktionen lerne.
D00de
Kein Problem. Eine andere Sache: Ich glaube, Geoserver ist einfacher zu installieren und einzurichten als Mapserver, wenn Sie es nur ausprobieren möchten.
CaptDragon
Gestern habe ich über Geoserver, Mapserver, FeatureServer und Tilecaching gelesen. Ich habe versucht, offensichtliche Vorteile der Verwendung von Mapserver zwischen meinem Frontend und Backend zu finden, aber ich konnte sie nicht finden. Meine Anwendung funktioniert wie ein gewöhnlicher GPS-Tracker. Die Grundfunktionen sind das Zeichnen von Objekten, Zeichnen von Pfaden, Bewegen von Objekten und andere einfache Kartenaufgaben. Ich hatte vor, OSM als Basisschicht in meiner OpenLayers-Oberfläche zu verwenden, und dort habe ich eine Vektorebene darüber, in der ich die verschiedenen Objekte grafisch darstellen kann. Ich kann immer noch nicht vorhersagen, welchen Nutzen der Kartenserver in meiner Tracking-App haben würde.
D00de
Nun, es gibt keinen Grund, eine weitere Komplexitätsebene hinzuzufügen, wenn Sie diese nicht benötigen. Vor allem, wenn Sie PostGIS verwenden. Es ist so gut darin, GML, KML, WKT und verschiedene Formate zurückzugeben.
CaptDragon