Mehr

Abrufen von Punktkoordinaten aus dem Kartenbereich mit der QGIS-API

Abrufen von Punktkoordinaten aus dem Kartenbereich mit der QGIS-API


Ich versuche, ein Plugin zu erstellen, das zunächst die Kartenkoordinaten erfasst.

Ich habe versucht, das in diesem Beitrag erläuterte Kartenwerkzeug anzupassen: So überprüfen Sie programmgesteuert auf einen Mausklick in QGIS

Der Code, den ich für die Hauptfunktion verwendet habe, ist unten:

def canvasReleaseEvent(self, event): #Erhalte den Klick x = event.pos().x() y = event.pos().y() canvas = self.canvas canvas.mapRenderer().setProjectionsEnabled(True) canvas .mapRenderer().setDestinationCrs(QgsCoordinateReferenceSystem(27700)) espg = canvas.mapRenderer().destinationCrs().authid() point = self.canvas.getCoordinateTransform().toMapCoordinates(x, y)

Leider wird der Punkt beim Drucken immer als (0,0) zurückgegeben. Ich habe verschiedene Möglichkeiten ausprobiert, um die crs der Punkte einzustellen, aber keine funktioniert. Was muss getan werden, damit es funktioniert?


Dies sollte es tun:

class PointTool(QgsMapToolEmitPoint): def __init__(self, canvas): QgsMapToolEmitPoint.__init__(self, canvas) def canvasReleaseEvent(self, mouseEvent): qgsPoint = self.toMapCoordinates(mouseEvent.pos()) print('x:', qgsPoint .x(), ', y:', qgsPoint.y())

Da Ihre Frage möglicherweise ein Duplikat zu diesem Beitrag ist.


Zugreifen auf den Kartenbereich, Ändern von Karteneinheiten und Durchlaufen von Ebenen Layer

Dieser Abschnitt des Vorschaukapitels, Erstellen dynamischer Karten aus QGIS Python Programming CookBook wirft einen Blick darauf, wie Sie ein Objekt über den Kartenbereich steuern, Karteneinheiten ändern und Kartenebenen durchlaufen. Mit 140 kurzen, wiederverwendbaren Rezepten zur Automatisierung raumbezogener Prozesse in QGIS lehrt das QGIS Python Programming CookBook den Lesern, wie man Python und QGIS verwendet, um Daten zu erstellen und zu transformieren, ansprechende GIS-Visualisierungen zu erstellen und komplexe Kartenlayouts zu erstellen.


Es gibt keine Möglichkeit, dies mit der Haupt-API zu tun, und Sie sollten es auch nicht versuchen, da die Haupt-API hauptsächlich für Redakteure gedacht ist.

Was Sie wollen, ist der Geocoder, Nominatim. Details dazu finden Sie im Wiki, aber im Grunde möchten Sie eine Abfrage wie diese verwenden:

Dadurch wird ein XML-Dokument zurückgegeben, das mögliche Übereinstimmungen und ihre Speicherorte auflistet.

Wenn Sie Python verwenden, können Sie das Geocoder-Modul verwenden, um die Koordinaten abzurufen:


Fortgeschrittene Nutzung¶

Im Sammlung Registerkarte, der Unterabschnitt Sammlungs-Editor stellt den Python-Code bereit, der für den Zugriff auf die Bilder verwendet wird, und ermöglicht die vollständige Kontrolle über den vom Benutzer ausgeführten Code. Beispielsweise möchten wir möglicherweise die angegebene Sammlung vor dem Plotten und Visualisieren filtern.

Sehen Sie sich die im Earth Engine-Katalog verfügbaren Datensätze an, indem Sie auf klicken . Betrachten Sie vorerst die MOD13Q1 16-Tage-Vegetationsindexprodukt (https://developers.google.com/earth-engine/datasets/catalog/MODIS_006_MOD13Q1). Öffne das Sammlungs-Editor und stellen Sie Python-Code bereit, der die Sammlung lädt und eine benutzerdefinierte Cloud-Maskierungsfunktion anwendet. Wichtig: Der Variablenname der endgültigen ImageCollection muss lauten imageCollection um vom Plugin verstanden zu werden.


Standardkonstruktor, erstellt eine ungültige QgsCoordinateTransform.

Parameter

QuelleQuell-CRS, typischerweise des Koordinatensystems des Layers
ZielCRS, in der Regel des Koordinatensystems des Kartenbereichs, verarbeitet die Datumstransformationseinstellungen des Benutzers korrekt. Stattdessen sollte stattdessen die Konstruktorvariante verwendet werden, die ein QgsCoordinateTransformContext- oder QgsProject-Argument akzeptiert. Es ist sehr wahrscheinlich, dass dieser Konstruktor in zukünftigen QGIS-Versionen entfernt wird.
Hinweis Nicht verfügbar in Python-Bindungen. Veraltet: Von der Verwendung dieses Konstruktors wird dringend abgeraten, da dies nicht der Fall ist

Konstruiert eine QgsCoordinateTransform zur Transformation aus dem from Quelle zu Ziel Koordinatenbezugssystem.

Das Kontext -Argument gibt den Kontext an, unter dem die Transformation angewendet wird, und wird zum Berechnen der erforderlichen Datumstransformationen verwendet.

Python-Skripte sollten im Allgemeinen die Konstruktorvariante verwenden, die eine QgsProject-Instanz anstelle dieses Konstruktors akzeptiert.

Warnung Verwenden Sie beim Erstellen von QgsCoordinateTransform-Objekten KEIN leeres/standardmäßig konstruiertes QgsCoordinateTransformContext()-Objekt. Dies verhindert eine korrekte Behandlung von Datumstransformationen und kann zu ungenauen Transformationen führen. Stellen Sie immer sicher, dass das QgsCoordinateTransformContext-Objekt basierend auf dem aktuellen Codekontext korrekt abgerufen wird, oder verwenden Sie stattdessen die Konstruktorvariante, die ein QgsProject-Argument akzeptiert. Seit QGIS 3.0

Konstruiert eine QgsCoordinateTransform zur Transformation aus dem from Quelle zu Ziel Koordinatenbezugssystem, wenn es mit dem angegebenen verwendet wird Projekt.

Kein Hinweis auf Projekt wird außerhalb des Konstruktors gespeichert oder verwendet und wird nur zum Abrufen des Transformationskontexts des Projekts verwendet.

Python-Skripte sollten beim Erstellen von QgsCoordinateTransform die Projektinstanz QgsProject.instance() verwenden. Dadurch wird sichergestellt, dass alle im Projekt definierten Datumstransformationen bei Koordinatentransformationen korrekt berücksichtigt werden. Z.B.

Konstruiert eine QgsCoordinateTransform zur Transformation aus dem from Quelle zu Ziel Koordinatenreferenzsystem mit den angegebenen Datumstransformationen (siehe QgsDatumTransform).


Exemplarische Vorgehensweise: Abrufen von Quelldaten von OpenStreetMap

Das Herausholen von Daten aus OpenStreetMap (OSM) stellt mehr technische Herausforderungen als das Eingeben von Daten in OSM. Wenn Sie Daten in OSM eingeben, können Sie zwischen verschiedenen Editortypen wählen. Sie können beliebige Tags verwenden, wobei Sie natürlich versuchen, sich an die Tagging-Konventionen zu halten.

Im Gegensatz dazu müssen Sie sich beim Abrufen von Daten aus OSM mit folgenden Punkten befassen:

  • Nur die Tags abrufen, die Sie benötigen
  • Abrufen des benötigten Datenformats
  • Überfordern Sie sich oder den Server nicht, indem Sie zu viele Daten anfordern

Erschwerend kommt hinzu, dass OSM Daten in einer eigenen XML-Struktur zurückgibt, die von vielen GIS-Anwendungen nicht sofort lesbar ist. Daher erfordert das Abrufen von Daten von OSM häufig die Konvertierung von diesem XML in ein anderes Format.

Es gibt verschiedene Mechanismen zum Herunterladen von OSM-Daten. Die einfachsten lösen die Herausforderungen, indem sie eine Möglichkeit bieten, die gewünschten Tags zu filtern, das Ausgabeformat anzugeben und einen geografischen Begrenzungsrahmen für die angeforderten Daten anzugeben, damit Sie nicht zu viel abrufen.

Eine der benutzerfreundlichsten GUI-orientierten Möglichkeiten, die ich zum Abrufen von OSM-Daten gefunden habe, ist ein Server bei BBBike.org. Mit diesem kleinen webbasierten Tool können Sie interaktiv einen Begrenzungsrahmen zeichnen und das gewünschte Ausgabeformat angeben. Nach einiger Zeit erhalten Sie eine E-Mail mit einem Link zum Herunterladen Ihrer Daten.

In der exemplarischen Vorgehensweise verwenden wir jedoch den OSM-Download-Mechanismus, der in QGIS über das OSMDownloader-Plugin verfügbar ist. Obwohl dieser Weg etwas fortgeschrittener ist als der BBBike-Extraktionsdienst, ist er unmittelbarer und ermöglicht eine größere Flexibilität bei der Menge der ausgewählten Daten und Tags.

Herunterladen von OSM-Daten mit QGIS

Untersuchen Sie das Bild unten von Cayenne, Französisch-Guayana. Sie werden feststellen, dass in der Stadt detaillierte Gebäudegrundrisspolygone verfügbar sind. Nehmen wir an, wir möchten mit QGIS ein Shapefile dieser Gebäudegrundrisse erhalten.

Beachten Sie, dass wir unsere drei wesentlichen Informationen definiert haben, um die gewünschten OSM-Daten zu filtern:

  • Die Tags, die wir wollen: jedes Polygon mit dem Gebäude-Tag, das als etwas anderes als building=no gefüllt ist (ein etwas seltener Wert, der jedoch gelegentlich verwendet wird)
  • Das gewünschte Format: ein Shapefile
  • Die Bounding Box von Daten, die wir wollen: nur die Stadt Cayenne

Während in der vorherigen Version von QGIS das Herunterladen von OSM-Daten in das Hauptprogramm integriert war und unter Vektor > OpenStreetMap > Daten herunterladen, diese Funktionalität wurde entfernt und erfordert nun die Installation eines Plugins. Positiv ist, dass diese Plugins jetzt viel weniger Schritte benötigen, um die Daten zu erhalten. Es gibt mehrere Plugins, die zum Herunterladen von OSM-Daten verwendet werden können. Wir zeigen Ihnen hier die Schritte mit dem OSMDownloader-Plugin. Fahren Sie fort und installieren Sie dieses Plugin über den QGIS-Plugin-Manager. Sie sollten es unter "Nicht installiert" finden. Wenn aktiviert, fügt das Plugin eine Symbolleiste mit einer einzigen Schaltfläche zu QGIS hinzu: Wenn Sie darauf klicken, wird diese Schaltfläche hervorgehoben und Sie können dann einen Bereich im Kartenbereich auswählen, für den Sie die OSM-Daten herunterladen möchten.

Führen Sie nun die folgenden Schritte aus:

  1. Erstellen Sie einen neuen Datenordner wie c:dataCayenne, um die Daten herunterzuladen.
  2. Starten Sie in QGIS ein neues Projekt und verwenden Sie EPSG:4326 als Koordinatenbezugssystem. Dies ist nur so, dass alle von QGIS angezeigten Koordinaten WGS84-Breiten- und Längengrad-Koordinaten sind.
  3. Fügen Sie dem Projekt eine OSM-Grundkarte hinzu und navigieren Sie dann nach Cayenne in Französisch-Guayana an der Nordküste Südamerikas. Die Koordinaten im Bild unten helfen Ihnen, wenn Sie Probleme haben, die Stadt auf der Karte zu finden.
  4. Aktivieren Sie die im vorherigen Absatz beschriebene Schaltfläche OSMDownloader und klicken und ziehen Sie dann im Kartenbereich, um einen rechteckigen Bereich auszuwählen, der die Stadt umfasst. Dadurch wird das unten gezeigte Dialogfeld OSMDownloader geöffnet. Wenn Sie genau den gleichen Bereich verwenden möchten, den wir hier verwenden, bearbeiten Sie die obere und untere Grenze manuell, damit die Breiten- und Längenkoordinaten denen im Screenshot entsprechen.

    Abbildung 9.8

Drücken Sie unter Speicherort die Schaltfläche Datei speichern und navigieren Sie zu dem Ordner, den Sie in Schritt 1 erstellt haben. Verwenden Sie dann Then cayenne.osm für den Dateinamen.

Klicken Sie auf OK, um den Downloadvorgang zu starten. Es erscheint ein Fortschrittsbalken und schließlich ein Fenster, das Sie darüber informiert, dass der Download abgeschlossen ist.

Abbildung 9.9

Wir sind jetzt mit dem Download-Plugin fertig. Als nächstes fügen wir die heruntergeladene .osm-Datei mit den OSM-Daten zu unserem QGIS-Projekt hinzu. Dazu können Sie einfach die Datei cayenne.osm aus dem Windows File Explorer auf den Kartenbereich in QGIS ziehen. Die .osm-Datei enthält Entitäten unterschiedlichen Geometrietyps. Der Layer, der zu QGIS hinzugefügt wird, kann jedoch nur Features eines einzelnen Geometrietyps enthalten. Daher wird Ihnen ein Dialogfenster angezeigt, in dem Sie diesen Geometrietyp auswählen müssen. Da wir uns für den Bau von Polygonen interessieren, sollten Sie hier "Multipolygone" auswählen und dann auf OK klicken.

Abbildung 9.10

Herunterladen von Daten mit der Overpass OpenStreetMap-Abfrage-API

Hinter jedem Datenabrufmechanismus von OSM steht eine Webservice-Anfrage. Sie können diese Anfragen direkt von Ihrem Webbrowser oder einem automatisierten Programm mit einer OSM-Abfrage-API senden. Eine der leistungsstärksten dieser APIs heißt Overpass. Versuche Folgendes:

  1. Fügen Sie die folgende URL in einen Webbrowser ein und warten Sie eine Minute, bis Sie aufgefordert werden, eine Datei zu speichern: Beachten Sie, was dies erfordert. Es sollte bekannt vorkommen.
  2. Wenn Sie aufgefordert werden, die Datei zu speichern, speichern Sie sie als Gebäude.osm .
  3. Öffnen Sie buildings.osm in einem Texteditor und sehen Sie, wie alle Gebäude in Cayenne aussehen, wenn sie als OSM-formatiertes XML ausgedrückt werden.

Sie können Python oder andere Skriptsprachen verwenden, um diese Anforderungen automatisch zu stellen. So können Sie beispielsweise mit Python OSM für alle Bauernmärkte in Philadelphia abfragen und in einer .osm-Datei speichern. (Sie müssen diesen Code nicht ausführen).

Für Python-Junkies: Der obige Code verwendet eine Bibliothek namens urllib, die Webanfragen stellen und die Antworten lesen kann. Sie müssen nur die URL für die Anfrage angeben. Um nicht als Definition einer Liste interpretiert zu werden, werden die Zeichen "[" und "]" mit den Sequenzen %5B bzw. %5D maskiert, ansonsten hat die Abfrage jedoch dieselbe Syntax wie die, die Sie oben für Cayenne-Gebäude ausgegeben haben . Das resultierende XML wird dann mit der standardmäßigen Python-Schreibmethode in eine Datei geschrieben.

Ein solches Skript kann nützlich sein, wenn Sie einen oder mehrere Datensätze regelmäßig aktualisieren möchten. Das Skript kann mit der GDAL-Verarbeitung kombiniert werden, um die Daten in ein für Ihre Webkarte geeignetes Format zu bringen. Neuere Versionen von GDAL (1.10 und höher) können OSM-XML lesen und in verschiedene Formate wie GeoJSON oder Shapefiles konvertieren. (Seien Sie jedoch bei Shapefiles vorsichtig, da GDAL die meisten der weniger verbreiteten "anderen Tags" in ein Feld schreibt, das bei 256 Zeichen abgeschnitten wird, eine Einschränkung des Shapefile-Formats).

Als Ausrufezeichen am Ende all dieser Geekiness spielen Sie ein paar Minuten mit dem grafischen Tool overpass turbo herum. Dadurch erhalten Sie eine interaktive Umgebung, um OSM abzufragen und die Ergebnisse auf der Karte anzuzeigen. Sie können jedes interessante Ergebnis in gängigen Formaten wie KML speichern. Dies ist hilfreich, wenn Sie nur eine einmalige Anfrage an OSM für einen bestimmten Funktionstyp stellen möchten.

Es gibt viele Umstände und Anforderungen, die sich darauf auswirken können, wie Sie Daten von OSM abrufen. Hoffentlich hat diese exemplarische Vorgehensweise genügend Optionen bereitgestellt, damit Sie eine fundierte Entscheidung darüber treffen können, wie Sie den Umfang und Umfang der benötigten Daten am besten erhalten. Kommen wir nun zur Unterrichtsaufgabe, bei der Sie einige Erfahrungen mit der anderen Seite der Dinge sammeln: dem Setzen von Daten hinein OSM.


Abrufen von Punktkoordinaten aus dem Kartenbereich mit QGIS API - Geographic Information Systems

Dieses Tutorial verwendet QGIS 3, um Anfängern ohne vorherige Kartenerfahrung die Grundlagen der Desktop-Mapping-Software zu vermitteln.

Mehrere Aufzeichnungen dieses Workshops sind verfügbar:

  • 30. April 2019 mit QGIS 3.4 UC Davis DataLab YouTube-Kanal
  • 14. April 2020 mit QGIS 3.12 UC Davis DataLab YouTube-Kanal
  • 17. Juli 2020 mit QGIS 3.14 QGIS North America YouTube Channel

Sie sollten QGIS Version 3.14 oder höher herunterladen und auf Ihrem Computer installieren.

Die Daten, die wir in diesem Workshop verwenden, sind in diesem Box Folder Online verfügbar.

Dieser Einführungsworkshop konzentriert sich auf die grundlegenden Konzepte und Fähigkeiten, die für die Erkundung und Analyse erforderlich sind, um mit der Verwendung von Software für geografische Informationssysteme (GIS) für die Erkundung und Analyse von Geodaten mit der QGIS-Plattform zu beginnen.

Es sind keine Vorkenntnisse mit QGIS oder anderer GIS-Software erforderlich, jedoch sollten die Teilnehmer mit dem Erlernen neuer Computeranwendungen, der Arbeit mit den Grundlagen von Tabellenkalkulationen und der Verwaltung/Organisation von Computerdateien vertraut sein.

Am Ende dieses Workshops sind Sie in der Lage:

  • Definieren Sie GIS und raumbezogene Konzepte und Terminologie.
  • Kennen Sie den Unterschied zwischen Vektor- und Raster-Datentypen
  • Richtig verbinden und Daten zu einem QGIS-Projekt hinzufügen
  • Wissen, wo Sie die Attribute Ihrer Daten in QGIS finden
  • Führen Sie grundlegende Auswahlen und Abfragen in QGIS durch
  • Daten nach Attributen symbolisieren
  • Stellen Sie eine Basiskarte für den Export zusammen

GIS steht entweder für Geographic Information System oder Geographic Information Science, je nachdem für welchen Aspekt des Begriffs wir uns interessieren.

Geografische Informationen System bezieht sich normalerweise auf die Software wie QGIS, die wir verwenden, um räumliche Daten zu erstellen und räumliche Beziehungen zwischen diesen Daten zu untersuchen.

Geografische Informationen Wissenschaft ist der Rahmen, den wir verwenden, um Fragen zur räumlichen Beziehung zwischen Daten zu stellen.

Es ist gut, den Unterschied zu verstehen, aber Sie werden selten hören, dass die Leute zwischen den beiden unterscheiden. Wir werden heute beides tun - mit der Software arbeiten und Fragen zu den räumlichen Beziehungen in unseren ausgewählten Datensätzen stellen.

Von der QGIS-Website "QGIS ist ein benutzerfreundliches Open Source Geographic Information System (GIS), das unter der GNU General Public License lizenziert ist. QGIS ist ein offizielles Projekt der Open Source Geospatial Foundation (OSGeo). Es läuft auf Linux, Unix, Mac, OSX, Windows und Android und unterstützt zahlreiche Vektor-, Raster- und Datenbankformate und -funktionen."

QGIS ist ein Desktop-GIS. Das heißt, Sie erhalten ein Programm, das sich auf Ihrem Computer als Fenster mit Schaltflächen öffnet, auf die Sie klicken können, Formularen, die Sie zum Erledigen von Aufgaben ausfüllen können, und es ist im Allgemeinen eine visuelle interaktive Erfahrung (im Gegensatz zur Befehlszeilenprogrammierung in einem Terminal). Oft wird diese Art von Schnittstelle als grafische Benutzeroberfläche oder kurz GUI (oft "klebrig" ausgesprochen) bezeichnet.

QGIS ist Open Source. Das bedeutet, dass Sie den Code lesen oder ändern können, wenn Sie dies wünschen, aber nicht müssen. Was ist der Vorteil davon? Das bedeutet, dass jeder Korrekturen vornehmen kann, wenn etwas nicht stimmt, oder jeder neue Funktionen hinzufügen kann. Sie müssen nicht warten, bis ein bezahlter Entwickler etwas hinzufügt.

QGIS ist ein offizielles Projekt der Open Source Geospatial Foundation (OSGeo). "Die Open Source Geospatial Foundation (OSGeo) ist eine gemeinnützige Organisation, deren Mission es ist, die globale Akzeptanz offener Geospatial-Technologie zu fördern, indem sie eine integrative Software-Stiftung ist, die sich einer offenen Philosophie und einer partizipativen, gemeinschaftsorientierten Entwicklung verschrieben hat." OSGeo unterstützt und unterstützt Open-Source-Georaumprojekte, die Infrastruktur und Organisation sowie Konferenzen und Kommunikationsmittel mit der breiteren Öffentlichkeit und Bildung bereitstellen.

QGIS ist eine Open-Source-Community-gesteuerte Desktop-GIS-Software, die es Benutzern ermöglicht, räumliche Daten auf vielfältige Weise zu visualisieren und zu analysieren. Es gibt viele Gründe, QGIS zu verwenden, aber hier sind einige:

  • Es ist ein robustes, leistungsstarkes Desktop-GIS
  • Läuft auf allen gängigen Plattformen: Mac, Linux und Windows
  • Kostenlos, alle Zugriffe (keine kostenpflichtigen Add-Ons oder Erweiterungen)
  • Häufige Updates und Fehlerbehebungen
  • Reaktionsfreudige, enthusiastische Community
  • Integration mit anderen Geodatentools und Programmiersprachen wie R, Python und PostGIS
  • Zugriff auf Analysetools anderer etablierter Software wie GRASS und SAGA
  • Nativer Zugriff auf offene Datenformate wie geoJSON & GeoPackage
  • Erhältlich in mehr als 40 Sprachen, was die Zusammenarbeit mit einer größeren Vielfalt von Mitarbeitern erleichtert
  • Zunehmende Nutzung durch lokale, staatliche, föderale und internationale Regierungen

Datentypen - Vektor vs. Raster vs. andere Arten von räumlichen Daten

Bei der Arbeit mit räumlichen Daten können Sie auf verschiedene räumliche Datenmodelle stoßen. Die beiden, denen Sie wahrscheinlich am häufigsten begegnen werden, werden als Vektor- und Rasterdaten bezeichnet.

Vektordaten repräsentieren diskrete Objekte in der realen Welt mit Punkten, Linien und Polygonen im Dataset.

Wenn Sie für einen Freund eine Karte zu Ihrem Haus zeichnen würden, würden Sie normalerweise Vektordaten verwenden – Straßen wären Linien, ein Einkaufszentrum, das als wichtiger Orientierungspunkt enthalten ist, könnte eine Art Rechteck sein und Ihr Haus könnte ein Punkt sein (vielleicht dargestellt durch einen Stern oder ein Haussymbol).

Rasterdaten stellen kontinuierliche Felder oder diskrete Objekte in einem Raster dar und speichern Messungen oder Kategorienamen in jeder Zelle des Rasters.

Digitalfotos sind Rasterdaten, mit denen Sie bereits vertraut sind. Wenn Sie ein digitales Foto weit genug heranzoomen, sehen Sie, dass das Foto aus Pixeln besteht, die als farbige Quadrate erscheinen. Pixel sind Zellen in einem regelmäßigen Raster und jedes enthält den digitalen Code, der der Farbe entspricht, die dort angezeigt werden soll. Satellitenbilder sind eine sehr ähnliche Situation.

In diesem Workshop verwenden wir die folgenden Daten:

  1. Digitales Höhenmodell (DEM) von San Francisco
  2. Straßen
  3. Bäume
  4. Seismische Gefahrenzonen
  5. Stadtgrenze von San Francisco (Küste)

Alle diese Daten können Sie aus diesem Box Folder Online herunterladen.

QGIS starten & ein neues Projekt öffnen

Starten Sie QGIS so, wie Sie normalerweise jedes Programm auf dem Betriebssystem Ihres Computers öffnen. Es ist normal, dass das Öffnen eine Minute dauern kann.

Wenn QGIS geöffnet wird, sehen Sie möglicherweise eine Liste der letzten Projekte, oder wenn es sich um eine neue Installation handelt, sind möglicherweise keine aufgelistet. Es spielt keine Rolle, was Sie sehen, denn wir wollen ein neues Projekt starten. Klicken Sie dazu auf das Projekt Menü oben links im Fenster und wählen Sie Neu - oder Sie können auf das Symbol für die weiße Seite klicken, das sich normalerweise in der Nähe des Projekt Menü in der Symbolleiste.

Beginnen wir mit dem Laden der Rasterdaten:

  1. Klicken Sie auf die Open Data Source Manager Schaltfläche in Ihrer Symbolleiste. Es sieht so aus, als wären drei Karten (eine rote, eine gelbe und eine blaue) aufgefächert.
  2. Drücke den Raster Knopf (er sieht aus wie ein Schachbrett) auf der linken Seite des Datenquellen-Manager Fenster.
  3. Klicken Sie auf die Schaltfläche "." und navigieren Sie dann zu dem Ort, an dem Sie Ihre Werkstattdaten gespeichert haben, und wählen Sie die DEM_SF.tif Datei.
  4. Klicken Offen.
  5. Klicken Sie abschließend auf "Hinzufügen" und Sie sollten ein Schwarzweiß-Rasterbild im Kartenbereich unter dem Dialogfeld sehen, in dem Sie arbeiten.

Du kannst das verlassen Datenquellen-Manager Fenster geöffnet, damit wir weitere Daten hinzufügen können.

Shapefiles sind ein sehr beliebtes Vektordatenformat. Laden wir unsere Shapefile-Daten.

  1. Im Datenquellen-Manager, klicken Sie auf die Vektor Registerkarte auf der linken Seite.
  2. Im Quelle klicken Sie auf "." und navigieren Sie zu dem Ordner, der Ihre Vektordaten enthält.
  3. Halten Sie die Strg-Taste auf Ihrer Tastatur gedrückt, während Sie klicken, und wählen Sie die StreetCenterlines.shp, SeismicHazardZones.shp, und Küstenlinie.shp. Dann klick Offen.
  4. Im Datenquellen-Manager klicken Hinzufügen.

Es ist ziemlich üblich, Punktdaten in einer "CSV"-Datei abzurufen, insbesondere wenn die räumlichen Daten durch Breiten- und Längenkoordinaten dargestellt werden. CSV steht für Comma Separated Value. Normalerweise handelt es sich um Tabellendaten, bei denen der Rand jeder Zelle der Tabelle durch ein Komma gekennzeichnet ist. Manchmal verwenden Benutzer ein anderes Zeichen anstelle des Kommas, z. B. Semikolon, Tabulator oder Pipe. Das Zeichen, das verwendet wird, um den Rand der Zellen anzuzeigen, wird als "Trennzeichen" bezeichnet. Wenn eine Datei beispielsweise Tabulatoren als Trennzeichen hat, würden Sie diese Datei als "tabulatorgetrennte" Datei bezeichnen.

  1. Im Datenquellen-Manager, klicken Sie auf die Getrennter Text Registerkarte auf der linken Seite. Beachten Sie, dass das Symbol ein Komma ist.
  2. Neben dem Dateinamen Textfeld, klicken Sie auf die Schaltfläche "." und navigieren Sie dann zu Ihrem Street_Tree_Map.csv Datei und klicken Sie Offen.
  3. Im Datei Format Abschnitt belassen wir die Standardauswahl von CSV (kommagetrennte Werte), aber wenn Sie eine Datei mit einem anderen Trennzeichen haben, können Sie das Trennzeichen ändern, indem Sie verwenden Benutzerdefinierte Trennzeichen.
  4. Im Optionen für Datensätze und Felder Abschnitt, stellen Sie sicher Der erste Datensatz hat Feldnamen wird geprüft. Wenn Ihre Daten keine Tabellenüberschriften enthielten, sollten Sie dieses Kontrollkästchen deaktivieren.
  5. Im Geometriedefinition Abschnitt ist, wo wir angeben, welche Art von Geometrie wir haben. Wählen Sie für unsere Punktkoordinaten und in der X-Feld, wählen Sie "Längengrad" und für die Y-Feld Wählen Sie "Breitengrad".
  6. Überprüfen Sie die Beispieldaten Abschnitt, um eine Vorschau des Aussehens der Attributtabelle anzuzeigen. Dies ist eine gute Möglichkeit, um herauszufinden, ob Sie das richtige Trennzeichen ausgewählt haben oder ob Ihre Daten Formatierungsprobleme aufweisen (z. B. wenn jemand Kommas in ein Textfeld einfügt und Kommas als Trennzeichen verwendet).
  7. Wenn alles gut aussieht, klicke Hinzufügen. Dies ist eine relativ große Datei, also seien Sie geduldig, während sie geladen wird.
  8. Schließe Datenquellen-Manager Fenster, weil wir mit dem Hinzufügen von Daten fertig sind.

Nachdem wir unserem Projekt nun Daten hinzugefügt haben, speichern wir sie, damit wir später darauf zurückkommen können.

  1. Klicken Sie auf das blaue Diskettensymbol (oder aus dem Datei Menü, wählen Speichern).
  2. Navigieren Sie zu dem Ort, an dem Sie Ihre Projektdatei speichern möchten.
  3. Im Dateinamen Geben Sie im Feld den Namen ein, den Ihre Datei haben soll. Geben Sie ihm einen aussagekräftigen Namen, damit Sie sich daran erinnern, wofür die Datei gedacht war.
  4. Klicken Speichern.

Hinweis für ESRI-Benutzer: Die .qgs- und .qgz-Dateien von QGIS entsprechen den .mxd-Dateien von ArcMap.

Sehen wir uns zunächst einige Raster-Daten an. Wir arbeiten mit einem digitalen Höhenmodell (DEM) für San Francisco. Ein DEM ist ein Raster, in dem jede Zelle im Raster die Höhe an dieser Position enthält.

Deaktivieren Sie zunächst alle Ebenen im Lagen mit Ausnahme des Layers DEM_SF, indem Sie die Kontrollkästchen neben den Layernamen im Lagen Panel auf der linken Seite Ihres Bildschirms.

Jetzt sollten Sie ein Graustufenbild sehen, das ungefähr wie die Halbinsel von San Francisco aussieht. Dies ist ein digitales Höhenmodell (DEM). Jede Zelle im Raster enthält eine Zahl, die die Höhe an dieser Position darstellt.

  1. Öffne das Ebenenstyling Panel durch Anklicken des Sicht Menü, dann Platten, und aktivieren Sie das Kontrollkästchen für Ebenenstyling.
  2. Wählen Sie oben im sich öffnenden Bedienfeld das DEM aus dem Dropdown-Menü aus oder markieren Sie diese Ebene im Lagen Tafel.
  3. Klicken Sie auf die Symbolik auf der linken Seite (das Symbol sieht aus wie ein Pinsel, der einen Regenbogen malt).
  4. Für die Rendertyp Drop-Down (direkt darunter, wo Sie die Ebene ausgewählt haben), wählen Sie), Einzelband-Pseudofarbe.
  5. Erweitern Sie den Bereich *Min/Max-Werteinstellungen". Statistikumfang Dropdown, wählen Sie Ganzes Raster. Für Genauigkeit, auswählen Tatsächlich (langsamer).
  6. Für die Farbverlauf, auswählen Neue Farbrampe erstellen
  7. Auswählen Katalog: cpt-city aus dem Dropdown-Menü und klicken Sie auf Okay
  8. Wählen Topographie aus den Optionen auf der linken Seite.
  9. Wählen CD-A für unsere Steigung. Oder wählen Sie ein anderes Schema, das Ihrer Meinung nach gut für die Darstellung der Topografie geeignet ist. Klicken Okay.
  10. Sie werden sehen, dass der Farbverlauf in den Ebeneneigenschaften aktualisiert wurde. Klicken Anwenden um zu sehen, wie es mit unseren Daten aussieht oder aktivieren Sie das Kästchen neben Live-Update um Änderungen zu übernehmen, während Sie sie vornehmen.

Dieses Ergebnis ist in Ordnung, aber ich denke, wir können noch einige Verbesserungen vornehmen, um die Küste besser zu sehen.

  1. Im Ebenenstyling Panel wieder, für die Interpolation Dropdown, wählen Sie Diskret.
  2. Für die Modus, auswählen Gleiches Intervall. Für Klassen, Eingabe 10.
  3. Ändere das Wert Nummer für die niedrigste Kategorie auf 0. Und dann klick Anwenden in den Layer-Eigenschaften, um zu sehen, wie es aussieht. Sie sollten eine definiertere Küste sehen, die eher wie die Docks rund um die Stadt aussieht.
  4. Passen Sie die Farben und/oder Unterbrechungen weiter an, bis Sie mit dem Aussehen zufrieden sind, und klicken Sie dann auf Okay. (Siehe das Bild unten für eine Option.)

Ich wählte Breaks bei 0, 50, 75, 125, 175, 225, 275, 325, 350 und inf.

Hinweis: Der Min-Wert ist -9.36748 und der Max-Wert ist 399.963. Sie können dies bei Bedarf zurücksetzen, indem Sie die Minimal Maximal Radiobutton im Min/Max-Wert-Einstellungen nochmal.

Jetzt haben Sie einen ersten Blick darauf geworfen, wie Raster-Daten für ein besseres Verständnis des Betrachters formatiert werden. Es gibt eine Vielzahl von Analysen und Datenverarbeitungen, die wir heute in unserer begrenzten Zeit nicht erlernen können. Weitere Informationen zum Arbeiten mit Rasterdaten finden Sie im Raster-Modul des QGIS-Schulungshandbuchs.

Jetzt lernen wir das Arbeiten mit Vektordaten kennen. Im Lagen schalten Sie das DEM aus und aktivieren Sie den Straßen-Layer. Beachten Sie, dass die Straßen durch Linien dargestellt werden.

Ihre Straßenebene wird standardmäßig mit einer zufällig ausgewählten Farbe geladen. Beginnen wir unsere Vektorarbeit, indem wir das Styling unserer Straßen in etwas Passenderes ändern.

  1. Wenn dein Ebenenstyling Panel ist noch nicht geöffnet, öffnen Sie es erneut über das Sicht Menü durch Auswahl Platten und dann das Kästchen neben ankreuzen Ebenenstyling.
  2. Stellen Sie sicher, dass das Dropdown-Menü zur Auswahl der zu bearbeitenden Layer auf Ihre Straßendaten eingestellt ist.
  3. Lassen Sie das Dropdown-Menü zur Auswahl der Symbolisierungsmethode für die Daten auf Einzelsymbol. Wir werden uns später einige der anderen Optionen ansehen.
  4. In der weißen Box oben siehst du das Wort Linie und Einfache Linie. Klicke auf die Wörter Einfache Linie. Dadurch können wir auf viele Optionen zugreifen, um diesen Satz von Linien zu symbolisieren.
  5. Im Farbe klicken Sie auf das farbige Feld, um den Farbauswahldialog zu öffnen.
  6. Der Farbauswahldialog bietet mehrere Optionen für die Auswahl Ihrer Farben. Nehmen Sie sich eine Minute Zeit, um ein Gefühl dafür zu bekommen, wie jede dieser Funktionen funktioniert. Ich finde, dass jede davon Vorteile für bestimmte Situationen hat.
  7. Wählen Sie eine Farbe, die Ihrer Meinung nach Straßen gut repräsentiert. Ich habe ein dunkles Grau verwendet. Sie können eintreten #666666 in die HTML-Notation Box, um die gleiche Farbe zu verwenden, wenn Sie möchten.
  8. Sobald Sie eine Farbe ausgewählt haben, verwenden Sie die Geh zurück Schaltfläche, um zum Hauptdialog zurückzukehren.

Vektordaten bestehen normalerweise aus zwei Teilen: (1) den Punkten, Linien oder Polygonen, die reale Entitäten darstellen, die als Geometrie bezeichnet werden, und (2) Informationen über diese Entitäten, normalerweise im Tabellenformat, genannt Attribute.

Schauen wir uns die Attributtabelle für unsere Straßen an:

  1. Im Lagen Klicken Sie mit der rechten Maustaste auf die Straßenebene und wählen Sie Attributtabelle öffnen.
  2. Scrollen Sie nach rechts, um die Informationen in dieser Tabelle anzuzeigen. Wir haben Informationen wie den Namen der Straße, ob es sich um eine Einbahnstraße handelt oder nicht, und den Namen der Nachbarschaft, in der sie sich befindet.
  3. Jede Zeile in dieser Tabelle ist mit einer Straße in unserem Datensatz verknüpft. Klicken Sie auf die Zeilennummer einer beliebigen Zeile. Das Programm hebt diese Straße automatisch im Kartenfenster hervor. ABER viele dieser Straßen sind klein, sodass wir sie möglicherweise nicht sofort sehen. Wir können auf die ausgewählte Zeile zoomen, indem wir auf klicken Karte auf ausgewählte Zeile zoomen Taste.
  4. Minimieren Sie die Attributtabelle und verwenden Sie die Werkzeuge zum Vergrößern und Verkleinern um Ihre Ansicht anzupassen. Das Pfanne Tool kann auch bei der Navigation helfen.
  5. Sie können die Auswahl aufheben (nichts auswählen) mit der Funktionen abwählen Werkzeug. Dieses Tool macht einfach nichts ausgewählt, es löscht keine Daten.
  6. Wenn Sie zoomen möchten, um alle Straßendaten anzuzeigen, klicken Sie mit der rechten Maustaste auf den Straßen-Layer im Lagen Panel und wählen Sie Auf Ebene zoomen.

Die manuelle Auswahl von Straßen ist hilfreich, aber je nachdem, was wir tun möchten, möchten wir möglicherweise eine automatisierte Methode zum Auswählen der Straßen, die wir hervorheben möchten. Untersuchen wir die Klassencode Säule.

  1. Klicken Sie in der Attributtabelle für den Straßen-Layer auf das Auswählen von Features mithilfe eines Ausdrucks die öffnen Nach Ausdruck auswählen Werkzeug.
  2. Wir erstellen einen Ausdruck im weißen Feld auf der linken Seite des Werkzeugs. Erweitern Sie im mittleren Bereich die Felder und Werte aufführen.
  3. Doppelklicken Sie auf das Klassencode Feld, um es zum Ausdrucksfeld auf der linken Seite hinzuzufügen.
  4. Klicken Sie dann auf = , um der Gleichung ein Gleichheitszeichen hinzuzufügen.
  5. Wir können auch auf das klicken Alles einzigartig Schaltfläche auf der rechten Seite, um alle Werte anzuzeigen, die in der Klassencode Säule. Ich empfehle nicht, diese Option für kontinuierliche Daten zu verwenden. Sie ist am besten für kategoriale Daten mit einer relativ kleinen Anzahl eindeutiger Werte geeignet. Klicken '1' In der Liste. Beachten Sie, dass wir uns die Elemente in dieser Liste zwar als Zahlen vorstellen, diese Spalte jedoch als Text definiert wurde. Aus diesem Grund werden die Zahlen in Anführungszeichen gesetzt. Wenn wir versuchen, die Zahl ohne Anführungszeichen zu verwenden, würde das GIS keine Übereinstimmungen finden, da es nach der Zahl 1 und nicht nach dem Text 1 sucht. Ihr Ausdruck sollte so aussehen "Klassencode" = '1'.
  6. Klicken Funktionen auswählen. Sie werden feststellen, dass Zeilen in der Attributtabelle und Zeilen auf der Karte hervorgehoben wurden. Was denkst du a Klassencode von 1 bedeutet?

Herausforderung: Versuchen Sie, den Ausdruck zu ändern, um andere auszuwählen Klassencode Kategorien. Was denkst du, bedeutet jede Kategorie?

Sie können das Metadaten-/Datenwörterbuch auf der Registerkarte Über auf der Startseite der Daten überprüfen. 1 Autobahnen 2 Autobahnen 3 Hauptstraßen 4 Nebenstraßen 5 Ortsstraßen 6 Autobahnauffahrten 0 Privatstraßen

Die Auswahl unserer Daten basierend auf den Attributinformationen ist eine gute Möglichkeit, Daten zu untersuchen und zu verstehen, aber es ist nur eine vorübergehende Möglichkeit, Daten hervorzuheben. Um Unterschiede in den Attributdaten in einer Karte zu verwenden, müssen wir mit der Layer-Symbologie arbeiten.

Symbolisieren von Layern nach Attributen

Lassen Sie uns diese Straßendaten basierend auf der Art der Straße formatieren. Dies ist eine gute Visualisierung, um einigen der anderen Daten, mit denen wir arbeiten müssen, einen Kontext zu geben.

  1. Löschen Sie alle Auswahlen, die Sie möglicherweise noch haben, mit dem Funktionen abwählen Werkzeug.
  2. Im Ebenenstyling Wählen Sie die Straßendaten aus der Dropdown-Liste aus, damit wir mit diesen Daten arbeiten.
  3. Anstatt Einzelsymbol, wählen Kategorisiert aus dem Dropdown-Menü oben im Dialogfeld.
  4. Für die Wert Dropdown, wählen Sie die Klassencode Spalte, damit wir diese Daten für unsere Kategorien verwenden können.
  5. Drücke den Klassifizieren um unsere Kategorien zu sehen.

Okay! Wir können jede Straße nach ihr klassifiziert sehen Klassencode. Die Farben werden standardmäßig auf Zufällige Farben für die Palette. Wir können die Farben ändern, um unsere Bedürfnisse zu erfüllen und besser zu kommunizieren. Lassen Sie uns die Breite der Linie anstelle der Farbe verwenden, um den Straßentyp anzugeben.

  1. Sie können die 7. Zeile in der Symbolliste deaktivieren. Diese Kategorie ist für Daten ohne Klassencode.
  2. Wählen Sie alle Symbolebenen in der Symbolliste aus, indem Sie bei gedrückter Umschalttaste die erste Zeile und dann die letzte Zeile auswählen.
  3. Klicken Sie mit der rechten Maustaste auf die markierten Symbole und wählen Sie Farbe ändern.
  4. Wählen Sie eine graue Farbe. ich nahm HTML Quelltext #a0a0a0. Klicken Anwenden. Alle Straßen haben jetzt die gleiche graue Farbe.
  5. Drücke den Geh zurück , um zum Hauptfenster zurückzukehren.

Um unsere Arbeit zu leiten, ändern wir den Text der Legende. Doppelklicken Sie für jedes Legendenelement auf das Etikett und ändern Sie das Nummernetikett in den folgenden Text:

Wert Legende
0 Privatstraßen
1 Autobahnen
2 Autobahnen
3 Hauptstraßen
4 Nebenstraßen
5 Lokale Straßen
6 Autobahn-Rampen

Als nächstes ändern wir die Linienbreite (auch bekannt als Linienstärke).

  1. Doppelklicken Sie für jede Zeile in der Legende auf das Liniensymbol, um das Symbolauswahl Dialog.
  2. Ändere das Breite entsprechend der Linienstärke in der Tabelle unten.

Wir haben gerade gesehen, wie wir eine automatisierte Klassifizierungsmethode verwenden können, um die Symbologie von Daten zu ändern. Sehen wir uns nun an, wie wir auf Attributen basierende Regeln erstellen können, um eine maßgeschneiderte Symbologie zu erstellen. Der Straßenbaum-Layer hat viele, viele Baumstandorte – zu viele, um eine nützliche Karte aller Bäume zu erstellen, daher müssen wir eine Teilmenge der einzuschließenden Daten auswählen.

Here's a real-world scenario for us to think about: in recent years, a number of non-native bark beetles have been introduced to California. These beetles can damage and kill trees. Let's make a map of one species of tree that might be affected, Canary Pine (Pinus canariensis) to see the spatial distribution and think about where you might want to concentrate monitoring efforts. The UC IPM site has more information about bark beetle species and tree species affected by them.

Let's look at rule-based symbology:

  1. Im Layer Styling panel, select the street tree data.
  2. Auswählen Rule-Based from the drop-down menu for the symbology method.
  3. Click the green + button (near the bottom) to add a rule.
  4. Im Label box, type "Canary Pine". This will give our new rule a name we can easily understand.
  5. Next to the Filter box, click on the Ausdruck button to open the Expression String Builder dialog. This should look familiar - it's very similar to how we selected rows by their attributes earlier.
  6. Ergänzen Sie die qSpecies field to the expression window from the Fields & Values aufführen.
  7. Next, type the word MÖGEN. MÖGEN is a comparison operator for strings. You might think of this as = for text.
  8. Finally, we need to say which species we want. You may have noticed that the species column typically contains a long string with several pieces of information. We can search for a portion of the text by using a wildcard character to match part of the string in the column. Typ '%Pinus canariensis%' nach MÖGEN in your expression. The single quotes indicate that the words we just typed are a string (and not another variable or field from the attribute table) and the % means "it doesn't matter what text is here". So the program will search for rows that contain the sting Pinus canariensis, regardless of what else the column says.
  9. Your expression string should look like this: "qSpecies" LIKE '%Pinus canariensis%' Klicken OK when you are done.
  10. Im Rule Editing dialog, you can also make changes to the color, size, and shape.
  11. Click the back button when you are done.

Based on where the Canary Pines are in the city, where would you want to focus your monitoring efforts? Are there places you think might be impacted more quickly if a bark beetle came to the city?

Challenge: Choose another species to add to your map. Add another rule-based classification with a different map symbol.

To learn more about processing and analyzing vector data, see the QGIS Training Manual's Module on Vector Analysis. To learn about creating vector data, see the QGIS Training Manual's Module on Creating Vector Data.

Making a map with the print composer

One common task in any desktop GIS is to produce a map to include in a document or presentation. In QGIS we create maps in the Print Composer. Let's make a finished map of our tree locations.

The first thing we need to do is add all the layers we want in our finished map to our Map Canvas in the main QGIS window. Turn on your trees and roads layers and add in any other data you think will help support the tree locations such as the shoreline data.

We also need to style our layers here as well. Take some time to work with your layer symbology. Make choices that you feel help communicate the data well. Simple or plain choices are often better than complicated or fancy symbology. For example, you could use a tree-shaped icon to represent your trees, but this would probably make a rather busy map. A simple circle icon might be better.

Just get to a point where you have a solid draft. We can always make changes later if we decide we need to adjust.

Working in the Print Composer

Once you've added all the layers you need to your Map Canvas and styled them in a way you like, we can start composing our map.

  1. Öffne das Print Composer by clicking on the Projekt menu and choosing New Print Layout.
  2. Give your new Print Layout a name. I'll call mine "Canary Pine Locations". You can have multiple map layouts using the data in this map document, so pick a name that will remind you of the purpose of this map. Klicken OK when you've picked a name. Das Print Composer will now open.
  3. The white box in the middle of the window is where you will compose your map. Right click in this white space and choose Page Properties aus dem angezeigten Menü. The menu on the right will now let us adjust the page size and orientation. Let's use size Buchstabe und Landschaft orientation for this map.
  4. Add a map to your layout by clicking the Add Map tool and then clicking and dragging on your map layout. You can adjust the size so don't worry if it's not perfect at first. Das Move Item tool moves and adjusts items in your map.
  5. Adjust the scale of your map by selecting your map. Im Item Properties on the right, adjust the scale number to zoom in or out of your map data. I used a scale of about 40,000.
  6. Add other items to your map as needed: title, legend, scale bar, etc. The item properties for each item you add are available by selecting the item and editing the properties in the pane on the right side of the Print Composer Fenster.
  7. When you've made a layout you like, you can export the map to a variety of formats. Auf der Layout menu, select Save as Image. Navigate to where you would like to save the image, name the file, and choose the type of image. Let's pick .png for this image. Klicken Speichern.
  8. Make any adjustments to the image parameters you would like. Klicken Speichern to finish the process.

Your map might look something like this. I added an Outer Glow in dem Draw Effects menu to the Shoreline data to achieve the fading blue outline.

You may want to add background layers such as coastlines or land masses from data sources like:

So far, we've seen analysis that relies mainly on cartographic choices. There are many other kinds of analysis we could do. Let's look at an example were we need to undertand the spatial relationship between two different layers: identify large trees inside areas designated as earthquake hazard zones.

One way to measure the size of a tree is by measuring the width of the trunk, about 4 feet off the ground. This measurement is called the Diameter at Breast Height oder DBH for short. The street tree data has a column in the attribute table called DBH so we can use this to identify the larger trees.

First, let's use the Select By Attributes process we learned earlier today to select trees with a DBH of 36 inches or larger. A quick reminder of the process: open the attribute table and use the query tool to write a query. Hinweis: We can write "greater than or equal to" as >= in the selection interface.

Because the street tree dataset is so large, let's save our large tree selection as a new file to make processes run faster with this subset of the data. Now that you have the trees with a DBH of 3 feet or more selected:

  1. Right click on the layer in the Layers Panel.
  2. Auswählen Export from the menu that pops up and then Save selected features as.
  3. For the format, choose ESRI Shapefile, or any of the vector formats you prefer (I personally like geojson because it's one text file, but geopackage is also pretty handy. KML is only a good choice if you're going to use the file in a Google application).
  4. Next to the File Name box, click the ". " button to pick a folder to save the file in and give the file a name. I called my "LargeTrees". Klicken Speichern when you're done.
  5. Make sure the Save only Selected Features und Add saved file to map boxes are checked, then click OK.
  6. You should have a file with only the features we had previously selected.
  7. You can uncheck the full street trees layer in the Layers Panel.

Now we can find which of the large trees are inside seismic hazard zones:

  1. Auf der Vektor menu, select Research Tools und dann Select by Location die öffnen Select by Location Werkzeug.
  2. Select features from Large Trees, das Intersect das Seismic Hazards layer and create a new selection.
  3. Klicken Laufen.

The large trees that fall inside the seismic hazard zones are now selected. But how to we record this information in a way that we can keep and use in a map? Let's add a column with this information in our attribute table:

  1. Open the attribute table for the large trees layer.
  2. Klicken Sie auf die Field Calculator Taste.
  3. Check the box next to "Only update selected features" at the top of the window.
  4. Name your new field "EarthQZone" so we remember what information it contains.
  5. For the field type, select Text.
  6. In the expression field, type 'yes'. This will add the word "yes" to the EarthQZone column where the record is currently selected.
  7. Klicken OK and then inspect your attribute table to see the new column.
  8. When we started the Field Calculator, QGIS automatically turned on editing for our shapefile. Save the edits we made by clicking the Save Edits button (blue floppy disk on the attribute table) and turn off the editing mode by clicking the Toggle Editing Mode button (yellow pencil).

Use your new symbology skills to syle this layer to show which large trees are in seismic hazard zones.

Change your settings back to Stop algorithm execution when a geometry is invalid.

Further Reading & Resources

QGIS Documentation: includes the User Guide, Training Manual, and Gentle Introduction to GIS

Open Source Geospatial Foundation: includes news and information about projects, conferences, and community


We’re going to start by writing a program to load in some raster-format data and analyze its contents. To make this more interesting, we’ll use a Digital Elevation Model (DEM) file, which is a raster format data file that contains elevation data.

The Global Land One-Kilometer Base Elevation Project (GLOBE) provides free DEM data for the world, where each pixel represents one square kilometer of the Earth’s surface. GLOBE data can be downloaded from http://www.ngdc.noaa.gov/mgg/topo/gltiles.html. Download the E tile, which includes the western half of the USA. The resulting file, which is named e10g, contains the height information you need. You’ll also need to download the e10g.hdr header file so that QGIS can read the file—you can download this from http://www.ngdc.noaa.gov/mgg/topo/elev/esri/hdr. Once you’ve downloaded these two files, put them together into a convenient directory.

You can now load the DEM data into QGIS using the following code:

Unfortunately, there is a slight complexity here. Since QGIS doesn’t know which coordinate reference system is used for the data, it displays a dialog box that asks you to choose the CRS. Since the GLOBE DEM data is in the WGS84 CRS, which QGIS uses by default, this dialog box is redundant. To disable it, you need to add the following to the top of your program:

Now that we’ve loaded our raster DEM data into QGIS, we can analyze. There are lots of things we can do with DEM data, so let’s calculate how often each unique elevation value occurs within the data.

Notice that we’re loading the DEM data directly using QgsRasterDataProvider. We don’t want to display this information on a map, so we don’t want (or need) to load it into QgsRasterLayer.

Since the DEM data is in a raster format, you need to iterate over the individual pixels or cells to get each height value. The provider.xSize() and provider.ySize() methods tell us how many cells are in the DEM, while the provider.extent() method gives us the area of the Earth’s surface covered by the DEM.

Using this information, we can extract the individual elevation values from the contents of the DEM in the following way:

The returned block variable is an object of type QgsRasterBlock, which is essentially a two-dimensional array of values. Let’s iterate over the raster and extract the individual elevation values:

Now that we’ve loaded the individual elevation values, it’s easy to build a histogram out of those values. Here is the entire program to load the DEM data into memory, and calculate, and display the histogram:

Note that we’ve added a no data value check to the code. Raster data often includes pixels that have no value associated with them. In the case of a DEM, elevation data is only provided for areas of land pixels over the sea have no elevation, and we have to exclude them, or our histogram will be inaccurate.


Inhalt

1. Installation of QGIS

  • System requirements to install QGIS
  • Add QGIS repositories on Ubuntu Linux OS
  • Installation of QGIS on Ubuntu Linux OS
  • Visit the Official QGIS Website
  • Download QGIS installer for Windows 10
  • Installation of QGIS on Windows 10
  • Download QGIS installer for Mac OS X
  • Installation of QGIS on Mac OS X
  • Open and show QGIS interface

2. Downloading GIS Datasets

  • Basic introduction to GIS
  • Download open source vector datasets from Natural Earth Data website
  • About geospatial data
  • About vector data
  • View vector data in QGIS
  • Save the map in .qgs format
  • Download raster dataset from Bhuvan website
  • About raster data
  • View raster data in QGIS

3. Coordinate Reference Systems

  • Add layers to the projections in QGIS
  • Change the color of the layer
  • Resize the panels on the canvas
  • View metadata information for layers in QGIS
  • Save selected features from a layer to a new layer
  • Re-project and overlay data layers of different projections together
  • Delete a layer from the dataset


4. Digiiizing Map Data

  • Create Point and Polygon shape files
  • Digitize Point and Polygon shape files
  • About Toggle editing and Add Feature tools
  • Open attribute table for Point feature
  • Open attribute table for Polygon feature
  • Change style and color for Point and Polygon features


5. Importing Spreadsheets

  • Import speadsheets in CSV format to create a Point layer
  • Convert Point layer to a Polyline layer
  • About QGIS Geoalgorithm
  • About WMS layers
  • Select a WMS map from Bhuvan website
  • Load WMS (Web Map Service) layers in QGIS


6. Vector Data Styling

  • Load vector data in QGIS
  • Open attribute table for the layer
  • Learn to style vector layers using,

Single symbol styling Categorized styling Graduated styling

7. Geometric Properties of Vectors

  • Show attribute table for a shapefile layer
  • Show selected features from attribute table on the map
  • Change the CRS of the layer
  • Add columns to the attribute table
  • Calculate statistics for the attributes using Field Calculator tool

8. Raster Data Styling

  • Information about download and save example files from the Code files link
  • Change Coordinate Reference System for the given layer
  • Use Identify Features tool to view the pixel value
  • Change the style of the raster map
  • About raster properties
  • View metadata information
  • Write an expression in the raster calculator
  • Information on how to download the example files given in Code files link
  • Add vector layer on the canvas
  • Show labels for the cities on the map
  • About Print Composer tool
  • Show how to show and hide panels
  • Create a map using Print Composer
  • Add map elements in the composer (add a new map, grid, images, label, scale, inset map)
  • Export the map

10. Creating Dataset using Google Earth Pro

About Google Earth Pro program Download and install Google Earth Pro on Ubuntu Linux 16.04 Navigate Google Earth Pro Create a point dataset for a few locations in Maharashtra Use Google Earth Pro to create a boundary layer for Maharashtra state About Kml and Kmz file formats Save the layers in Kml format Open the points layer and boundary layer in QGIS


One option would be to process the GeoJson as it is loaded using the "addfeature" event, then displaying the text on the map using the third party InfoBox library

a google.maps.LatLng has its coordinates in the order Latitude,Longitude, GeoJson is in the opposite order.

  1. to "process" the GeoJson as it is loaded use an event listener on the Data addFeature event:
  1. to rotate the text, code from this related question: Show Value next to line in google maps

code snippet:

Sounds like you will want to be using MarkerWithLabel

Is something that I've used in the past.

You'll note that the label is classed on the fourth line of the object's instantiation: labelClass In your corresponding CSS, you should use transform to angle it appropriately. Of course you'll want to use JQuery here, so something like $('.Label').css('transform','rotate('+yourAngle+'deg)')

For the coordinates, instead of using parameters, just use the two coordinates given. So