Benutzer-Werkzeuge

Webseiten-Werkzeuge


Action disabled: revisions
qgis_schulung

QGIS Schulung

Zu dieser Seite …

.. ist entstanden 2013 im Frühsommer als Unterstützung zu einer Schulung zu QGIS 1.8.0. Es ist (derzeit) nicht geplant, diese Seite zu aktualisieren. Falls also Links ins Leere zeigen sollten oder Tipps in einer späteren QGIS-Version nicht mehr funktionieren sollten …. jetzt schon … sorry 8-).

Agenda

Support & Doku

Installation

  • Download von QGIS Download
    • 32 Bit „Eigenständige QGIS-Installation Version 2.6 (32bit)“
    • Starten, Installieren … mit sinnvollen Optionen
  • 2 Icons:
    • QGIS Browser (wird nicht benötigt)
    • QGIS Desktop
  • Vorbereiten … Datenquellen entpacken und „Sortieren“
  • QGIS Desktop starten
  • WMS Daten hinzufügen: (erstmal eine Übersichtskarte)
    • Menü ⇒ Layer ⇒ Layer hinzufügen ⇒ WMS/WMTS Layer hinzufügen
    • „Neu“
    • Name: „Übersichtskarte“
    • URL: http://gdi.stadt-brandenburg.de/ws/osm_roh?
    • Verbinden: Auswahl
      • Obersten Eintrag auswählen (muss blau sein)
      • Koordinatesnsystem Auswahl, Filter: 25833 (Wählt System EPSG:25833 aus!)
      • EPSG:25833 auswählen
      • Hinzufügen
  • Projekt speichern:
    • Menü ⇒ Projekt ⇒ speichern als … sinnvollen Ort und Namen wählen
  • Shapedateien hinzufügen
    • Menü ⇒ Layer hinzufügen ⇒ Vektorlayer hinzufügen
    • Datei *.shp raussuchen,
    • Öffnen, öffnen
    • Kontrolle: ist was zu sehen? („Auf den Layer zoomen“)
  • Kartographie:
    • Layer, Rechtklick ⇒ Eigenschaften ⇒ Stil

Prinzipieller Aufbau

  • Browser
    • Verwaltung von Daten- & Datenquellen
    • Anlegen von Daten
    • Verwalten von Verbindungen
  • Desktop
    • Desktop GIS
  • QGIS-Mapserver
    • Als Erweiterung zum DesktopGIS oder separat auf Server installierbar
    • stellt QGIS-Projekte als WMS zur Verfügung

Installation & Updates

  • BetriebssystemVersionen
    • Linux (z.B. Ubuntu)
      • Stand alone Installation oder
      • OSGeo4W-Installer
  • Vorteile/Nachteile
    • Linux via apt(itude)/Repository, Vorteil: Wird mit dem OS aktuell gehalten
    • Windows via OSGeo4W-Installer, Vorteil: Wird durch den Installer aktuell gehalten (aber nicht im Einsatz und nicht ausprobiert)
    • Nachteile der automatischen Aktualisierung: Wechsel der Version ohne Vorwarnung!

PlugIns

  • Eingebaute:
    • Via Erweiterungen Aktivierbar

Bild Plugins

  • Nachrüstbare:
    • für viele Anwendungsfälle gibt es nachrüstbare PlugIns, die die Funktionalität teils dramatisch erweitern
    • Menü → Erweiterungen → Python Erweiterungen herunterladen

Bild

CadTools

Georeferenzierung für Raster

  • Einpassen von Rasterkarten

Python Erweiterungen manuell hinzufügen

Es soll vorkommen, das QGIS nicht ins Internet kommt, oder der Benutzer kein Administrator ist oder sich aus anderen Gründen die PlugIns nicht via eingebautem Werkzeug installieren lassen … falls das so ist, kann auf diesem Wege die Installation von PlugIns erfolgen:

  • QGIS ausschalten, falls es noch läuft!
  • Herunterladen irgendwo „wos schön ist“ … auf die lokale Platte
  • Auspacken
  • Nach C:\Users\<SieAlsBenutzer>\.qgis\python\plugins\ navigieren
  • Dort Ordner mit dem Plugin hinkopieren, so dass die init.py direkt unter dem Ordner <pluginname> liegt
  • QGIS starten
  • Unter Menü → Erweiterungen → Erweiterungen verwalten, die neue Erweiterung aktivieren

eigene PlugIns

Mit etwas Programmierkenntnissen lassen sich auch eigene PlugIns bauen …

Vektor-Daten

  • Immer in Tabellenform
  • Zu einem (Satz) Attribute gehört immer (mindestens) eine Geometrie
    • Bsp:
name Geometrie
Klosterstr.14 Punkt(rechts=333545, hoch=5809693)

Logisch

  • Polygone (POLYGON, MULTIPOLYGON) Notation: (1(r/h), 2(r/h), 3(r/h), 1(r/h))
  • Punkte (POINT, MULTIPOINT) Notation: 1(r/h),
  • Linien (LINE, MULTILINE) Notation: (1(r/h), 2(r/h), 3(r/h), 4(r/h))

Durch die Notation haben die Elemente ggf. eine „Richtung“

MULTI* bedeutet: Es können mehrere Geometrien derselben Art an EINEM Attribut hängen.

Fehlerhafte Geometrien

  • Überschneidungen:

Bsp. Überschneidungen

  • Polygone, die sich in EINEM Punkt treffen:

Polg Ein Punkt

Prüfung & Behebung:

  • Prüfung auf gültige Geometrien via Menü: Vektor → Geometrie-Werkzeuge → Geometriegültigkeit prüfen
    • Listet alle fehlerhaften Geometrien, reparieren muss man „händisch“

Weitere Prüfoptionen für Geometrien:

  • PostgreSQL:
-- auflisten
SELECT * FROM <meineTAbelle> WHERE NOT ISVALID(the_geom);
 
-- REPARIEREN durch Buffern:
UPDATE <meineTAbelle> SET the_geom = multi(buffer(the_geom, 0.0005)) WHERE isvalid(the_geom) = FALSE;
UPDATE <meineTAbelle> SET the_geom = multi(buffer(the_geom, -0.0005)) WHERE isvalid(the_geom) = FALSE;

Reparatur durch Buffer prüfen! Es gibt Szenarien, da sind die Daten danach kaputt!

  • ArcGIS:
    • Ausgabe der Daten als Shape
    • Toolbox: Reparieren/Repair von Geometrien (Suchen nach „Reparieren“ ArcMap10 bzw. „Repair“ ArcMap9.3.1)
    • dann wieder SQL draus machen und in die DB importieren

Interessanterweise kann es sein, dass nach Reparatur durch ArcMap andere Geometrien fehlerhaft (bei Prüfung durch ISVALID()) sind …

Datenquellen

Shape

  • ESRI-Format
  • Quasi-Standard
  • basiert auf dBase
  • Begrenzungen:
    • Spaltennamen nur acht Zeichen
    • auch fehlerhafte Geometrie abspeicherbar
    • nicht MULTI*
  • besteht IMMER aus mindestens drei Dateien:
    • *.shp (die Geometrie notwenidg)
    • *.dbf (die Attribute notwenidg)
    • *.shx (die Indizes notwenidg)
    • *.prj (das Koordinatensystem optional)

ist ein „Binär-Format“, bedeutet: Kann man nicht auf Datei-Ebene manipulieren … (also die DBF-DFatei mit Excel aufmachen und Attribute ändern oder so … )

  • Inhalt Spaltennamen
    • ACHTUNG: nie nie niemals :!: mit Sonderzeichen, Umlauten oder ähnlichem, nur Buchstaben, auch keine ß, ä, ü, ö … maximal mit Unterstrich und immer klein schreiben!
  • Länge Spaltennamen: maximal 8 Zeichen
    • es kann sein, dass mehr akzeptiert wird, aber spätestens bei Manipulationen gibt es „Beulen“
    • bsp.: sowas wie auftragnehmer_geplant, auftragnehmer_vergeben, auftragnehmer_neu ist absolut tödlich, da es dann drei Spalten mit dem Namen auftragn gibt! …
    • besser: verg_an, gepl_an, neu_an)
  • Geometrie-Typen: Punkte, Linien, Flächen
  • Attribut-Typen: Text(Länge), Ganzzahl(länge), Gleitkommazahl(länge,länge) … analog dBase
  • Spalte id wird immer mit angelegt - wird intern verwendet, nix eintragen, nicht anfassen
  • Es wird nicht geprüft ob Geometrien fehlerhaft sind! d.h. es können auch fehlerhafte Geometrien abgespeichert werden :!:

PostgreSQL/PostGIS

  • Für QGIS fast natives Format.
  • Datenbank!
    • für den Zugriff werden benötigt:
      • „Dienst“ - leer lassen
      • Host (wie heisst der Rechner auf dem die Datenbank läuft?)
      • Port: 5432 (immer!)
      • Datenbank (wie heisst die Datenbank)
      • SSL-Modus: <egal> … im Intranet
      • Benutzername (wer bin ich gegenüber der Datenbank)
      • Passwort
    • Daten sind in Tabellen organisiert
    • Spalte „gid“ ist Systemspalte, wird durch Datenbank verwaltet!
    • Tabellen können schreibbar oder nicht schreibbar sein (z.B. Views)
    • In einer zentralen Tabelle („geometry_columns“) werden die Metadaten der Tabellendaten gehalten (Koordinatensystem, Spaltennamen der Geometriespalte etc.)
    • Zugriff auf Datenbank üblicherweise eingeschränkt, d.h. nicht alle Tabellen sind für jeden sichtbar/schreibbar
    • Üblicherweise KEIN Neuanlegen von Tabellen möglich (für den „normalen“ Nutzer!)
    • Die Datenbank überwacht teilweise die Gültigkeit von Geometrien! … leider kann man sich nicht drauf verlassen :-(
  • Funktionen/Übungen
    • Anlegen von Daten
    • Manipulation von Daten
    • Auswerten von Daten
    • Verschnitt etc.
  • „OIDs“:
    • für QGIS nicht zwingend nötig
    • Allerdings zwingend, wenn man auf die Datenbank mit ArcMap zugreifen möchte/muss
    • Implementierung beim Anlegen von Tabellen: (dummerweise lässt sich WITH OIDS nicht nachträglich via ALTER TABLE anbauen)
CREATE TABLE meinetabelle
(
  bezeichnung CHARACTER VARYING,
  bla CHARACTER VARYING,
  blabla CHARACTER VARYING,
  datenstatus INTEGER,
  oska INTEGER,
  the_geom geometry,
  CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2),
  CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTIPOLYGON'::text OR the_geom IS NULL),
  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 25833)
)
WITH (
  OIDS=TRUE
);

WMS

  • Einladen und gut … :-D
  • … Druckproblematik: Wenn Bilder gezogen werden, die größer als die maximale Bildgröße, die vom Server unterstützt wird, wird nix dargestellt!

WFS

  • Kann wie PostgreSQL/PostGIS geladen werden
  • Daten werden in einem Cache gehalten (wichtig zu wissen, wenn sich Daten auf der Quelle ändern!)
  • WFS-T wird unterstützt (Geoserver getestet und funktioniert)

SpatiaLite

Raster

  • Alle gängigen Formate
  • GDAL-Bibliothek im Hintergrund

GDAL/OGR

ArcMap

  • Special: Lesender Zugriff mit ArcGIS auf PostgreSQL/PostGIS!
  • Datenbank/Tabelle muss mit OIDs geführt werden!!!
    • 10.1: direkt als Datenquelle angebbar
    • 10.0:
      • Datei → Daten hinzufügen → Abfrage-Layer hinzufügen
      • Verbindungen → Neu Auswahl postgresql, sinnvoll füllen!
      • Tabelle anklicken, Doppelklick generiert Abfrage, Namen für die Abfrage vergeben
      • Fertigstellen fügt Layer hinzu
    • Optionen/Eigenschaften
      • Weitergabe von *.lyr-Files nur möglich, wenn auf allen beteiligten Rechnern derselbe Name für dieselbe Datenverbindung verwendet wird!
      • Abfrage bestimmter Objekte durch Manipulation des SELECT-Statements möglich
      • Kein Ändern möglich
    • Dann Kartographie bauen …
    • andere Option: OGR-PlugIn for ArcGIS … (noch) nicht getestet …

Handhabung

Werkzeuge & Einstellungen

  • Fangoptionen:
    • Menü → Einstellungen → Fangoptionen stellt ein:
    • Welcher Layer fängt wie auf welchen Layer … am besten ausprobieren …
    • Topologisches Editieren: Wenn man Flächen hat, die eine geschlossene „Decke“ bilden sollen, dann ermöglicht Topologisches Editieren das „mitziehen“ der benachbarten Punkte einer Fläche … am besten ausprobieren …
  • Optionen:
    • Menü → Einstellungen → Optionen → Registerkarte „Digitalisierung“
    • stellt Farben, Symbole, Fangradien etc. ein …

Projektionen

  • orientiert sich an den EPSG-Systemen, Zugriff ist über die EPSG-Kennzahlen gewährleistet.
  • Einstellung: Einstellungen → Projekteigenschaften Reiter KBS
  • Kürzlich benutzte KBS: Schnellzugriff
  • „On-The-Fly-KBS-Transformationen aktivieren“ - benötigt Angaben zum KBS für jede Datenquelle
  • Layer: KBS für Layer setzen → macht Sinn, wenn KBS für Projekt auch angepasst wird
  • Es können auch PostGIS-Layer transformiert werden (z.B. von EPSG:25833 → EPSG:4326) und im Format der Wahl abgespeichert werden …

Layergruppen

  • Gruppen bilden:
    • Rechtsklick in leere Fläche in Layersteuerung
    • „Neue Gruppe hinzufügen“ wählen
    • Gruppe sinnvollen Namen geben z.B. „alle NaturschutzLayers“
    • Durch verschieben der Layer diese unter der Gruppe anordnen

Bild

  • Nun können alle Layer der Gruppe gemeinsam ein- und ausgeschaltet werden.

Digitalisieren

  • Layer auswählen durch Klick (Layernamen ist blau hinterlegt)
  • Start Bearbeiten: Menü → Layer → Bearbeitungsstatus umschalten („der Blaue Stift“)
  • Die entsprechende Werkzeugleiste wird farbig
  • Klick auf die entsprechende Schaltfläche (z.B. Menü → Bearbeiten → Objekt hinzufügen) aktiviert das Werkzeug
  • Nun kann eine neue Geometrie erzeugt werden! Klick links, Klick links, letzter Klick: RECHTS
  • Es öffnet sich eine Maske zur Erfassung der Attribute, dort Attribute eintragen. Klick auf OK schliesst ab
  • Sichern: Menü → Layer → Änderungen speichern („Diskette“) … Bearbeitungsmodus ist aber noch aktiv!
  • Bearbeitungsmodus wieder abschalten: Menü → Layer → Bearbeitungsstatus umschalten („der Blaue Stift“)
  • Es können mehrere Layer gleichzeitig im Bearbeitungsmodus aktiv sein!
  • Es ist möglich, Objekte von einem Layer in den anderen zu kopieren (bei gleicher Attribut-Struktur!, immer nur Objekte derselben Art: also Punkt/Polygone/Linien)

Kartografie

  • Kartographie (Rechtsklick auf Layer → Eigenschaften auswählen!)
    • Unterschied: „alte Darstellung“ ./. „neue Darstellung“ (Bei Mapserver-Export nur „alte Darstellung“ nutzen!)
    • Man kann „Stile“ speichern!
    • Reiter Stil:
      • Anpassen der kartografischen Darstellung
      • Einzelsymbol: alle Elemente werden gleich dargestellt
      • abgestuftes Symbol: Darstellung nach Klassen über Gleitkommazahlen (z.B. höhe von bis …)
      • fortlaufende Farbe: Gleitende Darstellung über Gleitkommazahlen (z.B. höhe von hellgrün bis dunkelgrün)
      • eindeutiger Wert: Darstellung nach Eigenschften eines Feldes, alle Werte werden berücksichtigt (z.B. nach Baumarten)
    • Beschriftung (Reiter „Beschriftungen“)
      • anhaken!
      • Beschriftungsvorgabe: was soll drin stehen, wenn das Attributfeld NULL beinhaltet (also wenn nix drin steht …)
      • Größe, Schriftart …
      • Maßstabsabhängig: z.B. wenn Beschriftungen nur gezeichnet werden sollen, wenn man ganz nah dran ist …
      • Freistellen: Zeichnet um die Beschriftung einen Rand in anderer Farbe, damit mans besser erkennen kann.
      • Versatz: damit kann man die Beschriftung weiter weg schieben …
      • Registerkarte „erweitert“: Steuerung der Beschriftung über Attribute … Fortgeschrittenes Thema ;-)
    • Erstellen von thematischen Karten
      • Zusammenstellen einer sinnvollen Visualisierung (Was soll ausgesagt werden??)
      • Sinnvolle Beschriftung

Straßengraph

  • Installation des PlugIns (Erweiterungen → Erweiterungen verwalten → Straßengraph-Erweiterung)
  • Einstellungen setzen: Vektor → Straßengraph→ Einstellungen:
    • Welcher Layer soll verwendet werden?
    • Zeit/Distanz/Vorwärts/Rückwärts etc.
  • Ansicht → Bedienfelder → kürzester Weg aktivieren (Es erscheint ein Fester unter den Layern
  • Start: Mit dem Kreuz in die Karte klicken
  • Stopp: Mit dem Kreuz in die Karte klicken
  • Klick auf „Berechnen“ berechnet die kürzeste Distanz

QGIS-Erfassungsmasken

Voraussetzung: QT4 Designer/QT-Creator

Installation

Linux (Debianartige …)

apt-get install qt4-designer

Windows:

  • passendes Paket herunterladen
  • installieren

Handhabung

  • Start Designer → Qt → Qt Designer-Formular

Start … Klick macht groß

  • Dialog with Buttons → weiter
  • Sinnvollen Ablageort angeben
  • FGUI startet:

Ansicht … Klick macht groß

  • Beschriftung: Label (aus Display Widgets), Doppelklick bearbeitet, rechts kann man Schiftgröße etc. einstellen
  • Input Widgets: Line Edit, (alle anderen funktionieren auch, sollten dann zu den Attribut-Typen passen)
    • Rechtsklick → Objektname: Attribut-Name aus der entsprechenden Tabelle!
    • Entsprechend geeignete Erfassungsmaske aufbauen …

Ansicht2 … Klick macht groß

  • speichern!
  • In QGIS einbinden:
    • Layereigenschaften öffnen
    • Reiter: Allgemein
    • Feld → UI zur Bearbeitung: Eintragen des Pfads zum erstellten UI-File

QGIS

  • Bei der Erfassung von Attributen wird nun die Maske geöffnet.

Mapserver-Export

  • PlugIn „MapServer Export (Version 0.4.3)“ einrichten …
    • via QGIS-Erweiterungen,
    • Haken dran machen
    • Speichern
  • Projekt anlegen und schon mal speichern
  • Layer hinzufügen,
  • Kartografie gestalten nur mit der „alten Darstellung“
  • Web → MapServer Export aufrufen

MapserverExport

  • kommt drauf an, wie der Mapserver konfiguriert ist …
  • … an sich kann man dier Einstellungen so übernehmen
  • … üblicherweise kopiert man dnur die LAYER-Blöcke raus
  • Sicherlich müssen die Datenquellen, sofern z.B. Datenbank-Verbindungen verwendet werden oder WebServices auch vom Server unter den angegebenenen Namen erreichbar sein.

QGIS-Mapserver

Hier Beschreibung für Q&D unter Linux … (Q&D: Quick & Dirty ;-))

Installation

unter ubuntu12.04 Server …

Apachen draufnageln (wenn nicht schon drauf …)

sudo apt-get install apache2 apache2-mpm-prefork apache2-utils libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-pgsql

Paketquellen eintragen:

sudo vim /etc/apt/sources.list

einbauen:

# QGIS Mapserver
deb     http://qgis.org/debian precise main
deb-src http://qgis.org/debian precise main

Schlüssel:

gpg --keyserver keyserver.ubuntu.com --recv 1F9ADD375CA44993
gpg --export --armor 1F9ADD375CA44993 | sudo apt-key add -

kann sein, dass es nicht klappt … macht nix ;-)

installieren:

sudo apt-get update
sudo apt-get install qgis-mapserver libapache2-mod-fcgid

falls der Schlüsselimport nicht geklappt haben sollte … ignorieren: „keine Überprüfung möglich → trotzdem installieren“

Test & Ersteinrichtung

Testen:

  • QGIS Projekt bauen … mit Daten aus einer vom Server aus zugänglichen Datenbank (Adresse muss passen) oder als kaskadierten WMS.
  • QGIS-Projekt abspeichern (hier als test.qgs)
  • auf den Server nach /home/myuser kopieren

auf dem Server:

cd /usr/lib/cgi-bin/
sudo mkdir test
cd test
sudo ln -s ../qgis_mapserv.fcgi .
sudo cp ../wms_metadata.xml .
sudo cp /home/myuser/test.qgs .
sudo /etc/init.d/apache2 restart

dann aufrufen:

http://<myserver>/cgi-bin/test/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities

muss die Capabililties liefern!

als WMS aufrufen: WMS-URL: http://<myserver>/cgi-bin/test/qgis_mapserv.fcgi?

sollte nen WMS liefern … :-)

Nun kann die wms_metadata.xml sinnvoll angepasst werden …

Viel Spass! LOL

QGIS - verschwundene Buttons

Buttons = Toolbars = Werkzeugleiste

verschieben von Toolbars

  • Problem
    • Das Problem tritt auf, wenn viele Karteninhalte, vor allem WMS, in die Karte geladen wurden
    • Wenn die Toolbars mit der Maus verschoben werden, passt sich die Größe des Kartenbildes automatisch an. Wenn der Aufbau des Kartenbildes länger dauert, weil viele Daten geladen werden müssen, wird in diesem Moment die neue Position der Toolbar nicht gespeichert, die Toolbar verschwindet.
  • Lösung:
    • Buttons nur bei leerem Projekt verschieben
    • Wenn man mit geladenem Kartenbild Buttons verschieben will/muss, dann sollten zumindest die WMS-Layer vorher ausgemacht werden!

Kurzfassung

Wenn die Toolbars aber schon verschwunden sind:

  • QGIS schliessen
  • als Administrator anmelden (Admin-Rechte notwendig)
  • ggf. auch als der jeweilige Nutzer den Schlüssel löschen … kann man wohl auch mit den normalen Nutzer-Rechten, da es wohl ein „user-defined“ Key zu sein scheint.
  • folgenden Registry-Schlüssel löschen:
\HKEY_CURRENT_USER\Software\QuantumGIS\qgis\UI\state
  • QGIS neu starten
  • Buttons sollten alle wieder da sein, müssen ggf. neu sortiert werden

Langfassung

you have to delete this key in order to reset the default toolbars setting: \HKEY_CURRENT_USER\Software\QuantumGIS\qgis\UI\state

von hier

Szenariendiskussion

… offen …

Entwurf/Notizen

  • Datenquellenzugriff
    • A ArcSDE-Raster
    • B ArcSDE-Vektor lesend/schreibend?
    • C alternativ Organisation Sekundärdatenhaltung/Update MSSQL/ArcSDE to PGSQL/Shape
    • D alternativ Organisation Sekundärdatenhaltung Rasterkataloge (Zugriff auf in Kacheln vorliegende Rasterfiles tif,ecw,jpg)
      • Programmfeatures Arbeiten mit Projektionen
      • Programmfeatures Georeferenzierung Rasterdaten
      • Programmfeatures Erzeugung von Map-Files für UMN-Mapserver
      • Programmfeatures Datenmanipulationen (Intersect, Buffer etc.),
      • Kartographie, Drucken) eher weniger, Überblick wichtiger
  • Kartografie (Alt/Neu)
    • Unterschiede, (wichtig für Mapfile-Erzeugung!)
    • Möglichkeiten & Grenzen
  • Praktisch
    • Projektionen
    • Georeferenzierung Rasterdaten
    • Erzeugung von Map-Files für UMN-Mapserver
    • Datenmanipulationen (Intersect, Buffer etc.),
  • Zusammenfassung: Schwerpunkt Integration in bestehende GIS-Umgebung … Optionen & Szenarien …
    • PostgreSQL-DB, Mapserver & QGIS, ArcMAp lesend …
    • Arc* … & PostgreSQL-DB, QGIS
    • Arc* … & QGIS
    • etc. etc. … Diskussion :-x
qgis_schulung.txt · Zuletzt geändert: 2021/09/06 17:52 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki