Hallo QGIS-Freunde,
ein paar Vorbemerkungen: Um Teil 20 von Bernds QGIS-Kurs nachzuvollziehen, war für mich persönlich einige Vorarbeit nötig. Bislang arbeite ich wie oben geschrieben mit QGIS 2.18 (da auf meinem Linux-Rechner keine neuere Version verfügbar ist), aber zur Erstellung einer Eingabemaske, wie in Teil 20 c) beschrieben, ist eine neuere QGIS Version erforderlich. Dazu habe ich auf einem anderen Rechner QGIS 3.10 installiert und will nun das Projekt dorthin übertragen.
Daher trage ich hier in einem Exkurs zum verschieben / teilen von QGIS (Teil-) Projekten ein paar Infos und Erfahrungen bei.
Ziel :
- zB QGIS (Teil-) Projekt von einem Rechner zum anderen kopieren, zB auch zur offline-Nutzung im Feld
- zB QGIS (Teil-) Projekt einem Kollegen schicken oder in die Cloud stellen
- alle erforderlichen layer / Einstellungen etc. sollen vorhanden sein
Wichtig: von Anfang an im Projekt auf relative Pfade achten. Einstellen in: Projekt > Projekteigenschaften > Allgemein > Pfade speichern: Relativ
Möglichkeiten, die Projektdaten zu transferieren - Einführung und Übersicht:
Beispiel: Ich möchte alles zu den Bäumen im Zoologischen Stadtgarten Karlsruhe verschieben. Aus den früheren Teilen der QGIS-Serie sind jedoch noch eine Menge Daten vom oberen Reutweg im Projekt, die nicht ausgelagert werden sollen (vergleiche unten Bild 1 ) .
Man kann nun sämliche Daten des gesamten Projektes kopieren, aber manchmal ist es sinnvoll, dass man aus einem “großen” Projekt (mit vielen angesammelten und evt. überholten Daten) nur einen Teil auslagert. Das sind eine neue qgs-Projektdatei und die Auswahl der zugehörigen layer.
Nach etwas Internetrecherche sah es danach aus, dass diese Aufgabe zB mit Hilfe von diversen plugins gelöst werden kann.
Eine Übersicht dazu fand ich hier: shapefile - Is there an automatic function in QGIS to package all files in a project for transferability? - Geographic Information Systems Stack Exchange. Dort wurden 3 plugins erwähnt:
- QConsolidate -> dies habe ich jedoch nicht gefunden, gibt es wohl nicht mehr.
- relocator -> habe ich nicht ausprobiert
- QPackage -> wurde dort empfohlen und von mir getestet. Damit hatte ich schon einen fast fertigen Forenbeitrag erstellt, bis mir zum Schluss klar wurde, dass zwar die von mir gewünschten und ausgewählten layer kopiert wurden, die neu erstellte Projektdatei (.qgs) jedoch auf die Datenquellen im alten Projektordner verwiesen hat. Soll das so sein und hatte ich nur andere Erwartungen oder ist es ein Anwendungsfehler von mir oder ein Fehler im plugin ?
Dann bin ich auf das plugin QFieldSync gestoßen und damit hat der Teil-Projekttransfer wie gewünscht funktioniert.
Teil-Projekttransfer mit dem plugin QFieldSync:
Hier die Schritte in der Übersicht
- Installation vom package QFieldSync
- Im Falle einer geplanten offline-Nutzung: Erzeugen einer Basiskarte (mbtiles)
- Projektkonfiguration von QFieldSync, besonders die Auswahl der zu kopierenden layer
- (Teil-) Projekt auslagern
Die Installation vom package QFieldSync erfolgt wie bekannt über: Erweiterungen > Erweiterungen verwalten und installieren.
Für eine mögliche offline-Nutzung habe ich zunächst mit QTiles eine Karte erzeugt, siehe QGIS für Pilzfreunde Teil 10 (QGIS 2.18) – Offline-Basiskarten für Smartphones etc. erstellen QGIS für Pilzfreunde Teil 10 (QGIS 2.18) – Offline-Basiskarten für Smartphones etc. erstellen
Ich hatte hier im Beispiel zoom-level 10-20 gewählt.
Diese Karte, habe ich dann in das Projekt "Karlsruhe Zoologischer Stadtgarten" eingefügt.
In der Projektkonfiguration erfolgt die Auswahl der layer und ggf. einer Basiskarte, welche transferiert werden sollen.
Hierzu wird aufgerufen: Erweiterungen > QFieldSync > Projektkonfiguration
Es geht ein Fenster auf, wie im folgenden Bild gezeigt.
Bild1
zur layer-Auswahl:
Neben den layern ist ein Auswahlfenster. Je nach Typ und Einstellungen des layers werden verschiedene Optionen angeboten.
zB für die shape-Datei (Punkte) mit den Bäumen, ich habe sie "baeume-Karlsruhe" genannt, gibt es die Auswahl
- kopieren
- kopieren, falls fehlend
- offline bearbeiten
- entfernen
(mehr dazu zB in QGIS-QField.pdf von Jessica Kane )
In meinem Beispiel hier habe ich eingestellt
- baeume-Karlsruhe (offline) -> kopieren
- Karlsruhe-Zool-Stadtgarten-mbtiles -> kopieren
Für alle anderen shape-Dateien habe ich "entfernen" gewählt, werden also nicht vom alten aufs neue Projekt übertragen.
Bei den Hintergrundkarten wie OpenStreetMap, WebAtlas, google hybrid usw. habe ich die Auswahl
Hier habe ich "keine Aktion" gewählt.
Basiskarte:
Unten habe ich "Basiskarte erzeugen" angewählt.
Die Basiskarte ist allerdings eine sehr einfache Übersichtskarte, die ein stärkeres zoomen nicht gestattet. Deshalb hatte ich vorab eine mbtiles-Karte erzeugt.
Kachelgröße 1024 habe ich übernommen.
Karteneinheiten pro Pixel war 10. Hilfe bekommt man, wenn man mit der Maus in das Eingabefeld fährt und etwas wartet.
Der Vorgabe-Wert 10 bedeutet, dass mit einem Pixel eine Fläche von 10m x 10m abgedeckt wird. Da war mir die Karte zu verschwommen.
Mit 1 Karteneinheiten pro Pixel ist die Basiskarte besser, aber immer noch unscharf.
Bei den ganzen Optionen zur layer-Auswahl und zur Basiskarte bin ich nicht sattelfest.
Zum Schluss nur noch die ausgewählten layer mit der zughörigen QGIS-Datei in einem neuen Ordner abspeichern
- Erweiterungen > QFieldSync > Für QField verpacken
- Verzeichnis für export wählen
- Kartenausschnitt im QGIS-Fenster einstellen
- Erstellen
Bild 2
Es wurden dann folgende Dateien in das export-Verzeichnis kopiert:
Bild 3
Die bisherige shape-Datei "baeume-Karlsruhe" ist dabei in eine sqlite-Datenbank-Datei data.sqlite umgewandelt worden, im Projekt liefert diese das layer "baeume-Karlsruhe (offline)" .
Ausblick:
Wer ein Android-Smartphone oder Tablet hat, kann darauf QField installieren.
Dann kann man sich das oben erzeugte Projekt dorthin kopieren, und das Projekt offline im Feld bearbeiten.
Dazu vielleicht später mal mehr.
Das wars für heute, vielleicht kann jemand was damit anfangen.
Grüße
Günter