Diskussion:Reliefkarten erstellen: Unterschied zwischen den Versionen

Aus Recorder-Wiki
Wechseln zu: Navigation, Suche
(Erstellen eines Kartenrahmens)
(Rastergitter erzeugen)
Zeile 101: Zeile 101:
  
 
* Projekt → Projekteinstellungen
 
* Projekt → Projekteinstellungen
** Im Dialogfenster, linke Leiste, KBS (Koordinatenbezugysystem) wählen
+
** Im Dialogfenster linke Leiste, KBS (Koordinatenbezugysystem) wählen
 
** Dort DHDN, epsg 4314 einstellen und bestätigen
 
** Dort DHDN, epsg 4314 einstellen und bestätigen
  

Version vom 2. Juli 2014, 07:25 Uhr

Notizen:

Erstellung einer Reliefkarte ausschließlich mit Quantum GIS:

Testumgebung Quantum Gis Lisboa Windows 7 64bit

  • SRTM Geotiff Kacheln laden (Layer → Rasterlayer hinzufügen: (GDAL) GeoTIF (*.tif) )
  • Kacheln zusammenfügen (Raster → Sonstiges → Verschmelzen)
    • Eingabedateien auswählen
    • Ausgabedateinamen festlegen
    • OK klicken
  • Erstellte Datei laden (Layer → Rasterlayer hinzufügen: (GDAL) GeoTIF (*.tif) )
  • Quellkacheln aus Projekt entfernen (Vermeidung von Datenmüll)

Gebietsrahmen erstellen:

  • MTB Schnitt wird als Gebietsrahmen gewünscht
  • MTB-Grenzpolygone als Shapedatei laden (Wichtig WGS84 EPSG 4326 als Georeferenz, da sonst nicht für das Ausschneiden des Reliefs geeignet)
  • Gewünschte MTB durch Rechteck auswählen (Ansicht → Auswahl → Objekte durch Rechteck wählen)
  • Mit dem Objekte abfragen - Tool (I) kontrollieren, ob Objekte Korrekt abgefragt
  • Ausgewählte MTB-Raster als neues Shape abspeichern: Rechte Maustaste auf Layereintrag in Leiste links, dort "Auswahl speichern als" wählen.
  • Datei Karte hinzufügen, wenn nicht bereits beim Speichern ausgewählt.
  • Deutschland-MTB Raster kann jetzt entfernt werden.
  • Verschmelzen der Raster zu einem Gebietsumriß (Projektrahmen): Vektor → Geoverarbeitungswerkzeuge → Auflösen:
    • Im Dialogfenster den richtige Layer auswählen, Auflösungsfeld: " Alles auflösen " wählen. Ausgabeshapedatei (Namen und Pfad) festlegen. Mit [OK] starten.
  • Datei laden, wenn nicht beim Speichern ausgewählt
  • Höhen-Rasterdaten anhand des eben erstellen Projektrahmens ausschneiden: Raster → Extraktion → Clipper
    • Im Dialog Clipper Eingabedatei auswählen, Auschnittmodus auf Maskenlayer setzen, Projektrahmen als Maskenlayer auswählen
    • Nach Abschluß "zu Karte hinzufügen" nicht auswählen, führt gelegentlich zu Fehlern.
  • Dialog schließen (Close), Raster hinzufügen, großes Höhenrsater kann entfernt werden.
  • Schummerung erstellen: Raster → Geländeanalyse → Schummerung wählen
    • Im Dialog Schummerung folgende Einträge: Geländehöhenlayer: auswählen, Ausgabelayer: (Pfad und Namen) festlegen, Ausgabeformat: Geotiff, Z-Faktor: mindestens 11000, für Überhöhung höher, z.B. 55560, Azimuth: 300, Vertikaler Winkel: 40. Für bessere Ergebnisse mit den Werten experimentieren.
  • Erstellte Datei laden. Rechte Maustaste auf Layereintrag in Leiste links, dort "Eigenschaften" wählen.
  • Im Dialogfenster Reiter "Transparenz" wählen. Kein Datum-Wert: auf -32768 setzten, ebenso transparente Pixel Liste: -32768, 100%. Reiter Stil: Kontrastverbesserung: Strecke auf MinMax wählen.


Erstellen eines Kartenrahmens

Erstellen eines Kartenrahmens für MTB-Rasterkarten

  • Einbinden des Quadranten-Layers:
    • Layer → Vektorlayer hinzufügen, Layer d_mtbq_epsg3395 auswählen (aus Deutschland Resource)
    • umrahmende MTB-Reihe auswählen mittels Rechteck-Auswahl-Werkzeug
    • Auswahl als Layer abspeichern: Layer → Auswahl als Vektordatei speichern. Namen vergeben. ZB: Kartenrahmen_qu_epsg3395. Gespeicherte Datei als Layer hinzufügen.
    • Deutschland Layer kann jetzt entfernt werden (d_mtbq_epsg3395)
    • Umwandlung des Polygonlayers in einen Linienlayer:
      • Vektor → Geometriewerkzeuge → Polygon zu Linie. Im Dialogfenster Layer Kartenrahmen_qu_eps3395 wählen. Dateinamen für Ausgabedatei festlegen, z.B. Kartenrahmen_qu_li_epsg3395, bei Nachfrage dem Projekt als neuen Layer hinzufügen.

Erstellen passender Auschnitte aus den Vektordaten

  • Einbinden der Vektor-Layer, wie z.B. Flüsse:
    • Layer → Vektorlayer hinzufügen, z.B. Layer d_gw_fluesse1_linie_epsg3395 auswählen (aus Deutschland Resource)
    • Vektor → Geoverarbeitungsverkzeuge → Clip
    • Im Dialogfenster wählen:
      • Eingabevektiorlayer: d_gw_fluesse1_linie_epsg3395;
      • Layer zuschneiden: Rahmen_epsg3395 (der Rahmen, der zur Abgrenzung des Gebietes erstellt wurde, d.h. die Maskendatei);
      • Ausgabeshapedatei: z.B. rheinland_gw_fluesse1_linie_epsg3395
    • Wichig: die Maskendatei muss die gleiche Georeferenzierung haben wie die Datei, aus der ausgeschnitten werden soll.
    • Nacheinander alle benötigten Layer einbinden und nach dem obigen Schema ausschneiden


Schön gestalteten Kartenrahmen erstellen

Um einen schön gestalteten Kartenrahmen zu erhalten, sind zahlreiche Einzelschritte notwendig. Ich zeige hier einen möglichen Weg auf, dieser kann jedoch nach individuellen Designwünschen erheblich abweichen.

Folgende Designs ist vorgegeben: Um eine Karte, die durch die Eckkoordinten eines Messtischblattrahmens definiert wurde, soll ein Kartenrahmen erstellt werden, der oben die Spalten der Messtischblattnummern, links die Reihen der Messtischblattnummern, unten eine Auswahl an Längengraden und rechts entsprechende Breitengrade enthält. Der Rahmen soll gleichmäßig in einem in Meter definierten Abstand um das Kartenbild erstellt werden. MTB-Reihen/Spaltennummern mittig.

Pufferlayer erstellen

Zunächst wird ein Puffer um das Kartenbild erstellt. Die Maßzahl für den Pufferabstand ist vom Koordinatenbezugssystem (KBS/CRS) des Quelllayers abhängig. Wir wählen den bereits erstellten Rahmenlayer in Raumreferenzsystem "WGS 84/World Mercator", epsg 3395. Ein passender Pufferabstand für Karten mit ca. 16 MTB-Spalten liegt bei diesem RBZ bei 120000.

  • Vektor → Geoverarbeitungswerkzeuge → Puffer
  • Im Dialogfenster folgende Einstellung:
    • Eingabevektorlayer: [Name des Rahmenlayers]
    • Pufferabstand: 12000
    • beim Rest die Standardwerte belasssen, Ausgabelayer festlegen, z.B. mit puffer_12000 bezeichnen

QGIS erstellt nun einen Puffer mit abgrundeten Ecken. Dieses Verhalten lässt sich in der Version 2.0 Dufour nicht ändern. Deswegen ist ein weitere Schritt notwendig:

  • Vektor → Forschungswerkzeuge → Polygon aus Layergrenzen
  • Im Dialogfeld folgende Einstellung:
    • Eingabelayer: [Name des soeben erstellten Layers, hier puffer_12000]
    • Ausgabepolygonlayer: z.B. kartenrahmen_epsg3395

Bei Nachfrage den soeben erstellte Polygonlayer dem Projekt hinzufügen

Der Pufferlayer puffer_12000 kann jetzt aus dem Projekt entfernt und dann auch von der Festplatte gelöscht werden.

Es wird noch ein zweiter Pufferlayer benötigt, der mit dem halben Abstand analog zu oben erstellt wird. Er kann z.B. als kartenhilfsrahmen_epsg3395 bezeichnet werden.

Rastergitter erzeugen

Im nächsten Schritt wird ein Rastergitter erzeugt, das jeweils die Mitte der MTB-Raster darstellt. Dazu folgende Überlegungen: Das deutsche MTB-Raster ist ein geographisches Raster, das auf Basis des Bessel-Ellipsoids und des RBS DHDN definiert ist. Der EPSG-Code dafür ist 4314. Jedes MTB ist 10 geographische Minuten breit und 6 hoch.

Für die nächsten Schritte muss das KBS des Projektes umgestellt werden:

  • Projekt → Projekteinstellungen
    • Im Dialogfenster linke Leiste, KBS (Koordinatenbezugysystem) wählen
    • Dort DHDN, epsg 4314 einstellen und bestätigen

Die Karte wird jetzt umprojeziert und sieht zunächst etwas merkwürding verzerrt aus. Jetzt wird das Vektorgitter erstellt.

Zunächst die groben Eckkoordinaten der Karte in Grad ermitteln. Dazu die Darstellung der Koordinaten umstellen:

  • Projekt → Projekteinstellungen
    • Im Dialogfenster, linke Leiste, "Allgemein" wählen
    • Dort Karteneinheiten: Grad und Gradanzeige: "Grad, Minuten, Sekunden" wählen und bestätigen

Danach mittels der Maus die West-, Ost-, Nord- und Südgrenze des Rahmens ermitteln. Im Beispiel sind es die Koordinaten:

 W 5°50' E 8°30' N 52°00', S 49°30'

Um ein entsprechendes Rastergitter zu erhalten, wird das Raster um 15 Minuten nach Westen bzw. Osten und 9 Minuten nach Süden bzw Norden ausgedehnt:

 W 5°35', E 8°45', N 52°09', S 49°21'

Diese Daten müssen in Dezimalnotation umregrechnet werden:

x min 5.5833333333333333
x max 8.75
y min 49.35
y max 52.15
  • Vektor → Forschungswerkzeuge → Vektorgitter
    • Im Dialogfenster für das oben genannte Beispiel folgende Angaben:
    • Gittergrenze von Layer:
      • kartenrahmen_epsg3395 (???)
      • x-Min 5.5833333333333333
      • x-Max 8.75
      • y-Min 49.35
      • y-Max 52.15
    • Parameter
      • X: 0,1666666666666666
      • Y: 0,1

Danach muss das korrekte Koordinatenbezugssystem dem erstellen Layer zugeordnet werden:

  • Vektorgitter-Layer aus der Layerleiste auswählen
  • mit rechter Maustaste Kontext-Menü öffnen, auswählen: KBS für Layer setzen
  • im Dialogfenster KBS DHDN, EPSG:4314 einstellen und bestätigen

Spalten und Reihenlinien erzeugen

  • Notation der Spalten und Reihen errechen und zuordnen
    • Vektorgitter-Layer aus der Layerleiste auswählen
    • mit rechter Maustaste Kontext-Menü öffnen, auswählen: Bearbeitungsstatus umschalten
    • mit rechter Maustaste Kontext-Menü öffnen, auswählen: Attributtabelle öffnen
    • Im Fenster Attributtabelle das Werkzeug Feldrechner (ganz rechts) anklicken
    • im Dialogfenster Feldrechner Folgendes eingeben/auswählen
      • nur ausgewählte Objekte aktualisieren: deselektiert
      • neues Feld anlegen: auswählen
      • Ausgabefeldname: Spalte
      • Ausgabefeldtyp: Text
      • Ausgabefeldbreite: 2
      • ins Textfeld Ausdruck folgenden Code kopieren, danach Berechnung mit OK starten
CASE WHEN  "COORD" > 49 THEN '' ELSE  right('0' || tostring (floor( (("COORD" - (5.833333333333)) * 6) + 1 )) , 2) END
    • Im Fenster Attributtabelle erneut das Werkzeug Feldrechner (ganz rechts) anklicken
    • im Dialogfenster Feldrechner Folgendes eingeben/auswählen:
      • nur ausgewählte Objekte aktualisieren: deselektiert
      • neues Feld anlegen: auswählen
      • Ausgabefeldname: Reihe
      • Ausgabefeldtyp: Text
      • Ausgabefeldbreite: 2
      • ins Textfeld Ausdruck folgenden Code kopieren
CASE WHEN  "COORD" > 49 THEN right('0' || tostring( floor( ( (55.1 - "COORD")/0.1) +9)) ,2) ELSE  ' ' END
      • Berechnung mit OK starten