Erstellen einer animierten Routenkarte in QGIS?


22

Wie kann ich mithilfe von QGIS und anderen kostenlosen Tools mithilfe einer Google Maps-Route eine Routenanimation im Stil der Indiana Jones-Filme erstellen ( https://www.youtube.com/watch?v=5TY5Fp6O5iM )?

Ich habe auf dieser Website zwei Fragen gefunden ( Route des Fahrzeugs als Animation anzeigen und Punkte zwischen Koordinaten interpolieren, um eine reibungslose Animation in Google Maps oder Openmap zu ermöglichen ), die sich mit ähnlichen Problemen befassen. Beide basieren jedoch auf Google Maps- oder OpenLayers-Integrationen und erfordern Codierung .

Ich habe einen sehr nützlichen Artikel darüber gefunden, wie man das Time Manager QGIS-Plugin verwendet, um Flugbahnen abzubilden, die ausgeblendet werden. In meinem Fall würde ich den Pfad nicht benötigen, um mit der Zeit zu verblassen, aber diese Methode könnte eine nützliche Grundlage für das Erhalten des gewünschten Lasereffekts darstellen.

Eine weitere Komplikation ist, dass ich zwar die Route kenne, die ich animieren möchte, aber keine tatsächlichen Daten als Eingaben für die Animation habe. Ich könnte eine Route aus Google Maps abrufen, diese enthält jedoch keine Zeitstempel. Daher benötige ich entweder eine Methode, um die Schritte in der angegebenen Reihenfolge zu animieren, oder füge auf andere Weise einen Zeitstempel hinzu.

Wie kann ich das alles zusammenfassen, oder gibt es vielleicht eine elegantere Möglichkeit, diesen Effekt mit frei verfügbaren Werkzeugen zu erzielen?


Willkommen bei gis.stackexchange! Bitte beachten Sie, dass von einer guten Frage auf dieser Website erwartet wird, dass Sie ein gewisses Maß an Nachforschungen anstellen, dh was Sie bisher versucht und - falls zutreffend - Code. Weitere Informationen finden Sie in unserer FAQ .
Underdunkel

Hallo @underdark, ich habe dies als Frage-und-Antwort-Frage gepostet und denke, dass die Antwort den Beweis für die Forschung liefert. Ich verstehe, dass die Frage als gute Frage immer noch allein stehen muss, also habe ich sie erweitert. Vielen Dank für das hervorragende Time Manager-Plugin, das einen wesentlichen Beitrag zur Lösung dieses Problems geleistet hat!
Rudivonstaden

1
Das ist sehr hilfreich, fast genau das, was ich versuche zu erreichen. Gibt es jedoch eine Möglichkeit, den Kartenausschnitt so einzustellen, dass er der Route folgt? Ich möchte die Route einer vorgeschlagenen Straße anzeigen, für die die Karte verschoben werden muss, damit genügend Details im erforderlichen Maßstab angezeigt werden. Ich habe sehr viel Zeit mit googeln verbracht und ich kann einfach nicht herausfinden, wie ich diesen letzten Schritt machen soll. Wenn Sie sich das Indiana Jones-Video ansehen, werden Sie sehen, dass die Karte auch schwenkt!
Rob Kemp

1
Es tut mir leid, dass ich vermisst habe, dass du selbst geantwortet hast. Ich liebe die Antwort und danke für die Erweiterung der Frage!
Underdunkel

Antworten:


36

Schritt 1: Teilen Sie Ihre Route in Google Maps

Erstellen Sie in Google Maps die Route und geben Sie sie frei, um einen Link zu der Wegbeschreibung zu erhalten.

Kartenlink in Google Maps freigeben

Schritt 2: Konvertieren Sie die Route in eine GPX-Datei

Fügen Sie mithilfe der praktischen Konvertierungsfunktion von GPS Visualizer ( http://www.gpsvisualizer.com/convert_input ) den von Google Maps kopierten Link ein, wählen Sie GPX als Ausgabeformat aus und laden Sie die Datei herunter.

Konvertieren Sie mit GPS Visualizer zu GPX

Schritt 3: Fügen Sie der Route Zeitstempel hinzu

Laden Sie das Dienstprogramm GPX to GOTOES timestamps ( http://gotoes.org/strava/Add_Timestamps_To_GPX.php ) hoch und geben Sie dabei Startzeit, Zeitzone und Durchschnittsgeschwindigkeit an. Laden Sie die resultierende Datei herunter.

Zeitstempel hinzufügen

Schritt 4: Laden Sie die Track-Wegpunkte in QGIS

Fügen Sie die mit einem Zeitstempel versehene GPX-Datei als Vektorebene in QGIS hinzu. Wählen Sie den track_points-Layer aus, wenn Sie gefragt werden, welchen Layer Sie aus der GPX-Datei laden möchten. Dies sollte eine Brotkrümelspur von Wegpunkten entlang der Route laden.

Sie sollten auch eine Basisebene hinzufügen, um der Karte einen Kontext hinzuzufügen. QuickMapServices ist hier hilfreich (siehe Hinzufügen von Grundkarten von Google oder Bing in QGIS? )

Schritt 5: Speichern als Spatialite-Ebene

Sie können die GPX-Ebene nicht unverändert verwenden, da sie nicht bearbeitet werden kann. Es scheint auch einen Fehler zu geben, der die Zeitstempel abschneidet, wenn Sie als Shapefile speichern. Spatialite-Dateien scheinen jedoch gut zu funktionieren. Wählen Sie die Ebene im Ebenenbedienfeld aus und wählen Sie im Menü „Ebene“> „Speichern unter“. Geben Sie als Format "Spatialite" an und vergewissern Sie sich, dass "Gespeicherte Datei zur Karte hinzufügen" ausgewählt ist.

Schritt 6: Symbologie reparieren

Doppelklicken Sie im Ebenenbedienfeld auf die Ebene, um die Eigenschaften zu öffnen, und klicken Sie auf die Registerkarte „Stil“. Klicken Sie auf den Stil "Einfache Markierung" und wählen Sie eine geeignete Farbe für Ihre "Laser" -Stil-Route. Ändern Sie die Größe auf 1,5 (oder Ihre eigene Präferenz). Setzen Sie den Gliederungsstil auf "Kein Stift".

Symbologie aktualisieren

Schritt 7: Fügen Sie das Time Manager-Plugin zu QGIS hinzu

Wenn Sie dies noch nicht getan haben, fügen Sie das Time Manager-Plugin zu QGIS hinzu. Gehen Sie zu 'Plugins> Plugins verwalten und installieren ...', wählen Sie die Registerkarte 'Alle' und suchen Sie nach 'TimeManager' (ein Wort). Stellen Sie sicher, dass das Kontrollkästchen neben dem Namen aktiviert ist, und klicken Sie auf "Plugin installieren".

Schritt 8: Registrieren Sie die Ebene in Time Manager

Sie sollten nun ein Zeitmanagerfenster unter Ihrem Kartenbereich sehen. Klicken Sie auf die Schaltfläche "Einstellungen" und dann auf "Ebene hinzufügen". Geben Sie den Namen Ihres Routenlayers an, wählen Sie das Attribut "Zeit" für die Startzeit und "Keine Endzeit ..." für die Endzeit.

Fügen Sie die Ebene in Time Manager hinzu

Schritt 9: Video exportieren

Wählen Sie eine geeignete Zeitrahmengröße für Ihre Daten (jeder Rahmen repräsentiert diese Zeitspanne). Klicken Sie auf die Wiedergabetaste, um die Einstellungen zu testen. Klicken Sie zum Exportieren auf die Schaltfläche "Video exportieren". (Wenn Sie die Animation abgespielt haben, stellen Sie sicher, dass Sie den Schieberegler zuerst zurück an die Startposition bewegen.) Unter Windows können Sie nur eine Reihe von Bildern exportieren (mindestens ab Version 2.2.4). Das ist in Ordnung, wir können ein anderes Tool verwenden, um sie zu einem Video zu kombinieren.

Schritt 10: In eine Animation kompilieren

Kopieren Sie den Inhalt des Ausgabeordners und fügen Sie ihn in Windows Movie Maker (oder ein anderes bevorzugtes Tool) ein. Wählen Sie alle Bilder aus (klicken Sie auf eines und dann auf Strg + A, um alle auszuwählen), klicken Sie auf das Menü Bearbeiten und stellen Sie die Anzeigedauer der Bilder entsprechend ein (ca. 0,1 Sekunden pro Bild). Verwenden Sie Datei> Film speichern, um in einem geeigneten Format zu speichern.

Film exportieren

Das Ergebnis sollte ungefähr so ​​aussehen (danach in eine GIF-Datei konvertiert):

Ergebnis

Ich habe keine gute Technik, um der Linie zu folgen und die Karte selbst zu verschieben. Möglicherweise müssen Sie ein neues QGIS-Plugin oder -Skript erstellen oder das Time Manager-Plugin so ändern, dass die Zeichenfläche für jeden Frame auf dem aktuellen Punkt zentriert wird. Sie können den Effekt in Windows Movie Maker mithilfe der Schwenk- und Zoomanimationen im Animationsmenü approximieren. Andere Videosoftware bietet möglicherweise bessere Funktionen zum Verfolgen eines sich bewegenden Elements.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.