Mehr

Erhalten Sie Koordinaten und die entsprechenden Pixelwerte von GeoTiff mit Python gdal und speichern Sie sie als numpy Array


Wie kann ich projizierte Koordinaten sowie die tatsächlichen Pixelwerte an diesen Koordinaten aus einer GeoTiff-Datei abrufen und sie dann in einem numpy-Array speichern? Ich habe die Datei arsenci020l.tif und ihre Koordinaten sind in Metern. Unten ist die gekürzte Ausgabe von gdalinfo, die ich darauf ausgeführt habe.

~$ gdalinfo arsenci020l.tif Treiber: GTiff/GeoTIFF Dateien: arsenci020l.tif arsenci020l.tfw Größe ist 10366, 7273 Koordinatensystem ist: PROJCS["Lambert Azimuthal Equal Area Projektion mit beliebigem Ebenenraster; Projektionszentrum 100.0 Grad W, 45.0 Grad N ", GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84",6378137,298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich",0], UNIT["degree",0.0174532925199433], AUTHORITY["EPSG","4326"]], PROJECTION["Lambert_Azimuthal_Equal_Area"], PARAMETER["latitude_of_center",45], PARAMETER["longitude_of_center ",-100], PARAMETER["false_easting",0], PARAMETER["false_northing",0], UNIT["meter",1, AUTHORITY["EPSG","9001"]]] Herkunft = (-6086629.0000000000000, 4488761.00000000000000) Pixelgröße = (1000.000000000000000,-1000.000000000000000)…

Es gab hier eine ähnliche Frage zum Erhalten von Breiten-/Längen-Koordinaten aus tiff (Obtain Latitude and Longitude from a GeoTIFF File) und die Antwort zeigte, wie man nur die oberen linken x- und y-Pixelkoordinaten erhält. Ich muss ALLE projizierten Pixelkoordinaten abrufen sowie die Pixelwerte abrufen und in einem numpy-Array speichern. Wie kann ich es tun?


würde als Kommentar hinzufügen, aber ein bisschen lang - falls Sie gdal / ogr in Python verwenden wollten - so etwas könnte funktionieren (zusammengehackt aus einem anderen Code, den ich hatte - nicht getestet!) Dies geht auch davon aus, anstatt den nächsten zu finden Rasterpixel zu einem Polygon-Schwerpunkt, fragen Sie einfach das Raster an der xy des Schwerpunkts ab. Ich habe keine Ahnung, was der Geschwindigkeitskompromiß sein könnte ...

from osgeo import gdal,ogr fc="PathtoYourVector" rast="pathToYourRaster" def GetCentroidValue(fc,rast): #Vektorebene öffnen drv=ogr.GetDriverByName('ESRI Shapefile') #Shapefile annehmen? ds=drv.Open(fc,True) #Öffnen zum Bearbeiten lyr=ds.GetLayer(0) #open Rasterlayer src_ds=gdal.Open(rast) gt=src_ds.GetGeoTransform() rb=src_ds.GetRasterBand(1) gdal .UseExceptions() #damit es nicht jedes Mal auf dem Bildschirm gedruckt wird, wenn der Punkt außerhalb des Rasters liegt für feat in lyr: geom=feat.GetGeometryRef() mx=geom.Centroid().GetX() my=geom.Centroid().GetY () px = int((mx - gt[0]) / gt[1]) #x pixel py = int((my - gt[3]) / gt[5]) #y pixel try: #in case raster isnt full extension structval=rb.ReadRaster(px,py,1,1,buf_type=gdal.GDT_Float32) #Angenommen 32 Bit int- 'float' intval = struct.unpack('f' , structval) #assume float val=intval [0] außer: val=-9999 #oder ein Wert, um einen Fehler anzuzeigen feat.SetField('YOURFIELD',val) lyr.SetFeature(feat) src_ds=Keine ds=Keine GetCentroidValue(fc,rast)

Das sollte dich weiterbringen. Die Rasterwerte werden mit rasterio gelesen und die Pixelmittelpunktkoordinaten werden mit affin in Ost- und Nordwerte konvertiert, die dann mit pyproj in Breitengrad/Längengrad konvertiert werden. Die meisten Arrays haben dieselbe Form wie das Eingabe-Raster.

import rasterio import numpy as np from affin import Affine from pyproj import Proj, transform fname = '/path/to/your/raster.tif' # Lese Raster mit rasterio.open(fname) as r: T0 = r.transform # upper -linke Pixelecke affine Transformation p1 = Proj(r.crs) A = r.read() # Pixelwerte # Alle Zeilen und Spalten cols, rows = np.meshgrid(np.arange(A.shape[2]), np .arange(A.shape[1])) # Affine Transformation für Pixelzentren abrufen T1 = T0 * Affine.translation(0.5, 0.5) # Funktion zum Konvertieren des Pixelzeilen-/Spaltenindex (von 0) in Rechtswert/Nordwert in der Mitte rc2en = lambda r, c: (c, r) * T1 # Alle Rechts- und Hochwerte (es gibt wahrscheinlich einen schnelleren Weg) Rechts- und Hochwerte = np.vectorize(rc2en, otypes=[float, float])(rows, cols) # Projiziere alle Längengrade, Breitengrade p2 = Proj(proj='latlong',datum='WGS84') longs, lats = transform(p1, p2, Eastings, Northings)

Von 2 Geotiffs zu einem trainierten U-Net: Beispiel für 2D-, 3D- und 4D-Bilder. Teil 2: Modelle

Im vorherigen Beitrag haben wir zwei analysebereite Datensätze vorbereitet, wobei der erste aus RGB- (oder 3D-)Bildern und zugehörigen Graustufenbeschriftungen besteht und der zweite aus 4D-Bildern (RGB + DEM) und denselben Beschriftungen besteht. Hier zeige ich, wie Sie diese Bilder in drei verschiedenen Arbeitsabläufen verwenden, zuerst mit RGB-Bildern, dann mit DEM und dann mit einer Kombination aus beiden. Wir evaluieren mit einem Validierungs-Dataset und einigen nicht sichtbaren (nicht erweiterten) Beispielbildern, um die Verallgemeinerungsfähigkeit des Modells zu testen. Wir sehen, dass die 4D-Daten etwas besser sind als die 3D-Daten, die für diese Aufgabe viel besser sind als die 2D-Daten. In jedem Fall schnitt das Modell jedoch bei den Beispielbildern nicht gut ab, sodass eine Fehlerbehebung erforderlich ist. Wahrscheinlich werden viel mehr Daten benötigt, dieser Workflow verwendet nur 16 Originalbildkacheln, viel mehr wären für genaue Ergebnisse erforderlich. Dieser Blogbeitrag zeigt jedoch, dass die mlmondays-Workflows an unterschiedliche Datensätze und komplexere Daten und Klassen angepasst werden können.

Wir benötigen eine Funktion, um jeden Beispieldatensatz aus den TFRecord-Shards zu segnen. Ähnliche Funktionen finden Sie in mlmondays-Workflows für OBX- und OysterNet-Datensätze. Wir beginnen mit der Erstellung eines Wörterbuchs, um die beiden Funktionen (Bild- und Beschriftungspaar) als Binärzeichenfolgen zu analysieren. Konvertieren Sie dann jeweils in JPEG und skalieren Sie auf den Bereich [0, 1]. Wenn eine Zahl im Etikett größer als 8 ist, wird sie auf Null gesetzt. Zero wird als NULL-Klasse für null Bildpixel verwendet. Schließlich wird das Etikettenbild in einen One-Hot-Stack mit 9 Bändern konvertiert (einer für jede der 8 Klassen und die Nullklasse).

Von nun an sollte Ihnen der Code-Look bekannt vorkommen, wenn Sie die Übungen im Rahmen der mlmondays Woche 3 Bildsegmentierung durchgespielt haben. Wir definieren einen Datenpfad zu den tfrecord-Dateien, einen Dateipfad für die Modellgewichte, einen Dateipfad für den Trainingsverlaufs-Plot. Geben Sie dann eine Geduld für das frühe Stoppkriterium, die Anzahl der in jedem Shard codierten Bilder, für die Spezifikation von Trainings- und Validierungsschritten pro Modelltrainingsepoche, den Validierungssplit und die Batchgröße an.

Welche einzigartigen Werte haben wir in unseren erweiterten Bildern?

Definieren Sie die Anzahl der Klassen (9, einschließlich der Nullklasse) und die Zielgröße (die Größe des codierten Bildes) und erstellen Sie dann ein Modell. Kompilieren Sie es, definieren Sie Rückrufe.

Passen Sie das Modell an und erstellen Sie eine grafische Darstellung des Trainingsverlaufs des Modells (Verlust und mittlere IOU).

Bewerten Sie das Modell mit dem Validierungsset. Drucken Sie den durchschnittlichen Verlust und die IoU-Punktzahl aus.

Dies sind die gleichen Hex-Coolor-Codes wie die graphische G10-Farbkarte, die verwendet wird, um die Farbetikettenbilder zu erstellen, die in eine benutzerdefinierte diskrete Matplotlib-Farbkarte umgewandelt werden

Wir werden erneut einen Raumfilter verwenden, um hochfrequentes Rauschen zu entfernen, das mit der JPEG-Komprimierung und dem Entpacken verbunden ist

Dies ist die gleiche Funktion wie im mlmondays-Repository, mit dem zusätzlichen Argument TARGET_SIZE

Durchlaufen Sie jedes Ground-Truth-Beispieletikettenbild und erstellen Sie eine Liste von diesen, L . Erstellen Sie einen 4 x 4 Subplot-Plot der Ground-Truth-Label-Bilder

Das sind die Ground-Truth-Etiketten

Durchlaufen Sie jedes Beispielbild und verwenden Sie das Modell, um das Etikettenbild zu schätzen. Vergleichen Sie die One-Hot-codierten Versionen der Ground Truth und der Vorhersage, indem Sie einen IoU-Score pro Stichprobe berechnen.

Das sind die Vorhersagen:

Wie Sie sehen, kann das Modell die Landschaft gut abgrenzen, aber die Klassenvorhersage wird nicht immer korrekt. IoU-Werte sind ziemlich niedrig, 0,2, 0,4. Der Mittelwert beträgt nur 0,3. Dies, würde ich mit Zuversicht voraussagen, liegt an einem Mangel an Daten. Große neuronale Netze wie dieses sind für unabhängigere Beispiele konzipiert.

Als Nächstes zeigen wir den Workflow und die Leistung eines Modells, das darauf trainiert wurde, nur auf Basis von DEM Vorhersagen zu treffen

Für 2D-Bilder wählen wir den DEM (letzten) Kanal in den 4D TFRecord-Stapeln. SO verwenden wir die gleiche Funktion wie zuvor, mit der Ausnahme, dass image[. -1] als dem

Definieren Sie die Variablen neu, damit neue Dateien die 2D-Ergebnisse enthalten

Beachten Sie, dass das Modell mit der Eingabegröße (TARGET_SIZE, TARGET_SIZE, 1) statt (TARGET_SIZE, TARGET_SIZE, 3) wie zuvor kompiliert wird. Alles andere ist gleich

Wir haben die Datengröße verringert, daher bin ich geneigt, die Lernrate ein wenig zu erhöhen. Wir werden die Parameter einstellen und lrfn neu definieren

Brennen Sie das Modell und zeichnen Sie den Trainingsverlauf wie zuvor

Bewerten Sie das Modell auf die gleiche Weise wie für den Fall mit 3D-Bildern

Das Modell schneidet bei alleinigen DEM-Daten überhaupt nicht gut ab. Ein mittlerer IoU-Wert von etwa 0,1. Dies ist nicht besonders überraschend, dass die Höhe nur für diese Klassen ein schlechter Begriff ist, da Sumpf und Strand die gleiche Höhe haben und kahle und bewachsene Dünen ebenfalls ähnliche Höhen haben.

Durch die Kombination von RGB- und DEM-Informationen besteht die Hoffnung, dass das Modell Klassen wie beginnende Vordune und Eispflanze mit unterschiedlichen Höhenzonen ausnutzen und besser zwischen den anderen Klassen unterscheiden kann, die sich in ihren Höhenmerkmalen unterscheiden.

Eine andere Sache, mit der Sie spielen können, ist die Kernelgröße, die in den Faltungsschichten des UNet verwendet wird. Bisher war das standardmäßig auf 3 eingestellt. Im Folgenden erhöhe ich das auf 5, in der Hoffnung, dass ein größeres rezeptives Feld größere Höhenbild-Kovariationsskalen erfasst, die erfasst werden müssen.

Alles wie zuvor, außer dass (TARGET_SIZE, TARGET_SIZE, 4) eine 4. Eingabedimension anzeigt

Lernrate erhöhen (wieder simulieren wir nur Dinge, die Sie ändern könnten, anstatt unbedingt die optimalen Hyperparameter zu sein)

Bewerten Sie wie zuvor

Fast identisch mit dem 3D-Beispiel

Auch hier nur eine IOU von 0,32 - eine geringfügige Verbesserung gegenüber den 3D-Daten. Aber insgesamt komme ich zu dem Schluss, dass 1) Sie 2D-, 3D- oder 4D-Bilder mit einem U-Net verwenden und eine vernünftige Segmentierung erhalten können, aber 2) ich gehe davon aus, dass dieser Workflow viel mehr Daten erfordert. Ähnliche Ergebnisse habe ich mit 8 Klassen erzielt.


Breiten-/Längen-Arrays für GeoTIFF-Bilder erstellen Create

FRAGE: Können Sie mir zeigen, wie man Breiten- und Längengrad-Arrays für jedes Pixel in einem GeoTiff-Bild erstellt?

ANTWORT: Das ist ganz einfach. Details zum Lesen einer GeoTIFF-Bilddatei und zum Übersetzen der in die Datei integrierten Geotags als Metadaten finden Sie im Artikel Overlaying Geographic Data on GeoTIFF Images.

Damit Sie nach Lust und Laune mitspielen können, habe ich Ihnen auf meiner Webseite ein GeoTIFF-Bild zur Verfügung gestellt. Legen Sie das GeoTIFF-Bild in dasselbe Verzeichnis ab, in dem Sie den IDL-Code in diesem Artikel ausführen.

Geben Sie diese Befehle ein, um die GeoTIFF-Datei zu öffnen und in IDL einzulesen.

Wie im vorherigen Artikel beschrieben, können Sie die Verknüpfungspunkte und die Skalierungsfaktoren in der GeoTIFF-Datei verwenden, um die Ecken des Bildes zu berechnen. Denken Sie jedoch daran, dass sich diese Eckpunkte am äußeren Rand des Bildes befinden. Wenn Sie Breiten- und Längengrad-Arrays für jedes Bildpixel erstellen, möchten Sie in der Regel in der Mitte jedes Pixels einen Wert angeben. Daher müssen Sie den Eckpunkt um ein halbes Pixel in U und V verschieben, damit er die Mitte des Eckpixels darstellt. Hier ist Code, der den Ursprung von der oberen linken Ecke nach unten links verschiebt, um dem Bildursprung von IDL zu entsprechen.

Jetzt müssen wir ein halbes Pixel in U- und V-Richtung hinzufügen, um diesen Punkt im Ursprungspixel zu zentrieren.

Als nächstes erstellen wir einen Vektor von U- und V-Werten.

Als Nächstes möchten wir einige dimensionale Jongliertricks ausführen, um 2D-Arrays dieser Kartenkoordinatenwerte für die spätere Transformation in Längen- und Breitenwerte zu erstellen. (Eine frühere Version dieses Artikels hat diesen Schritt ausgelassen und falsche Werte erstellt. Danke an Allard de Wit für den Hinweis.)

Als nächstes richten wir die Kartenprojektionsstruktur ein. Wie im vorherigen Artikel gezeigt, befindet sich dieses Bild in einer Albers Equal Area Conic-Projektion, daher haben wir die Kartenprojektionsstruktur wie folgt eingerichtet. Wenn Sie dies selbst tun, richten Sie die Kartenprojektionsstruktur natürlich entsprechend den in der GeoTiff-Datei vorhandenen Kartenprojektionsinformationen ein. Die dazu notwendigen Informationen sind in Geotag Struktur aus der Datei zurückgegeben. Da dies immer mühsam ist, erhalte ich einfach ein Kartenkoordinatenobjekt, aus dem ich die Kartenstruktur erhalten kann, indem ich die Coyote Library-Routine cgGeoMap verwende. Das cgGeoMap Programm kann die meisten gängigen Kartenprojektionen analysieren.

Oder verwenden Sie cgGeoMap , so was.

Und dann transformieren wir die U- und V-Arrays invers vom UV-Raum in den Breiten-/Längen-Raum.

Jetzt haben wir Breiten- und Längengrad-Arrays für jedes Pixel im Bild.

[Zurück zu den IDL-Programmiertipps]
Copyright & Kopie 2008 David W. Fanning
Geschrieben am 21. Januar 2008
Aktualisiert am 23. Juni 2009


Fenster

Suchen Sie nach der Installation von Anaconda nach Anaconda-Eingabeaufforderung im Startmenü und öffnen Sie ein neues Fenster.

Hinweis: Sie können die Verknüpfung verwenden Umschalt + Einfügen um Befehle in die Anaconda-Eingabeaufforderung einzufügen.

  1. Aktivieren Sie die Umgebung und installieren Sie das gdal-Paket. Wenn Sie zur Bestätigung aufgefordert werden, geben Sie y ein und drücken Sie Eingeben.

  1. Überprüfen Sie nach Abschluss der Installation, ob Sie die GDAL-Tools ausführen können. Geben Sie den folgenden Befehl ein und prüfen Sie, ob eine Versionsnummer gedruckt wird.

Die für Sie angezeigte Versionsnummer kann geringfügig abweichen. Solange Sie keinen Fehler "command not found" erhalten, sollten Sie für die Klasse eingestellt sein.


1. Listenverständnis in bilinear_interp

Tatsächlich scheint das Listenverständnis hier der größte Engpass des Codes zu sein. Da ich nicht alle kryptischen Variablennamen in Ihrem Code vollständig entziffern konnte und nicht so viel Zeit hatte, mich wirklich mit dem Problem zu beschäftigen, habe ich den faulen Ansatz gewählt und den Just-in-Time-Compiler numba ( dh es kompiliert einfachen Python/numpy-Code in einen schnelleren plattformspezifischen Code) bei dem Problem, um zu sehen, wie es gelaufen ist. Dies ist der Code, mit dem ich gelandet bin:

Wie Sie sehen, musste ich einige Änderungen vornehmen, um den schnelleren Nopython-Modus von Numba zu verwenden. Die größte Änderung besteht darin, dass Sie zip(. ) in diesem Modus nicht verwenden können, ebenso wie einige andere praktische Funktionen, die in Python verfügbar sind. Das Aufteilen des Codes in zwei Funktionen war wahrscheinlich nicht notwendig, aber ich mache es trotzdem gerne, um numba-spezifische Modifikationen in einem kleinen Umfang zu halten. Ansonsten ist der Code fast unverändert und immer noch in reinem Python/numpy geschrieben.

Aber was sind die Vorteile dieser zusätzlichen Reifen, durch die Sie jetzt springen müssen? Wenn Sie das gesamte Plotten und die Referenzimplementierung von OpenCV ignorieren, läuft Ihre Hauptfunktion auf meinem alten Laptop in etwa $10s$. Unter Verwendung von Numba und allen hier in dieser Antwort bis zu diesem Punkt vorgestellten Änderungen wird dieselbe Hauptfunktion jetzt in $3.2s$ * ausgeführt. Nicht schlecht, nicht wahr?

* Bei Timing-Funktionen, die Numba JIT verwenden (versuchen), müssen Sie darauf achten, den Code mindestens zweimal auszuführen und die erste Messung zu ignorieren, da die erste Messung sonst die Zeit beinhalten würde, die Numba zum Kompilieren der Funktion benötigt. In diesem Beispiel dauert der erste Durchlauf ungefähr $4.3s$ , was bedeutet, dass ungefähr $1.1s$ für den Kompilierungsprozess aufgewendet werden.


Mich interessierte vor allem die Vegetationsdichte in Zentralindien . Daher bezieht sich der Datensatz in diesem Artikel auf diesen Bereich. Die Analyse würde jedoch für alle Gebiete der Welt gleich bleiben.

Satellitenbilder sind Bilder der Erde (oder anderer Planeten), die von bildgebenden Satelliten gesammelt werden. Regierungen oder private Firmen können diese Satelliten besitzen. Satellitenbildunternehmen verkaufen Bilder, indem sie sie an Regierungen und Unternehmen wie Apple Maps und Google Maps lizenzieren.


Projektbeschreibung

RHESSysWorkflows bietet eine Reihe von Python-Tools für die Durchführung von
[RHESSys](http://fiesta.bren.ucsb.edu/

rhessys/) Datenaufbereitung
Arbeitsabläufe. Diese Tools bauen auf dem Workflow-System auf, das von
[EcohydroLib](https://github.com/selimnairb/EcohydroLib).

Bevor Sie weiterlesen, möchten Sie vielleicht einen Blick darauf werfen
[dieser Screencast](http://youtu.be/vbIqsSVROiU), der eine
konzeptioneller Überblick RHESSysWorkflows.

<!-- STARTEN Sie das doctoc-erzeugte Inhaltsverzeichnis Bitte hinterlassen Sie hier einen Kommentar, um die automatische Aktualisierung zu ermöglichen -->
<!-- DIESEN ABSCHNITT NICHT BEARBEITEN, STATT doctoc ZUM AKTUALISIEREN WIEDER AUSFÜHREN -->
**Inhaltsverzeichnis**

- [Autoren](#Autoren)
- [Finanzierung](#Finanzierung)
- [Quellcode](#source-code)
- [Installationsanleitung](#Installationsanleitung)
- [Installation unter OS X mit Homebrew](#installing-on-os-x-using-homebrew)
- [Installationsabhängigkeiten für GRASS, QGIS und RHESSysWorkflows](#install-dependencies-for-grass-qgis-and-rhessysworkflows)
- [Installieren Sie RHESSysWorkflows- und Python-Pakete](#install-rhessysworkflows-and-python-packages)
- [Upgrade auf eine neue Version von RHESSysWorkflows](#upgrading-to-a-new-version-of-rhessysworkflows)
- [GRASS und QGIS installieren](#install-grass-and-qgis)
- [Installation unter Ubuntu Linux 14.04 oder 15.04](#installing-on-ubuntu-linux-1404-or-1504)
- [RhessysWorkflows- und Python-Pakete unter Linux installieren](#install-rhessysworkflows-and-python-packages-under-linux)
- [Upgrade auf eine neue Version von RHESSysWorkflows](#upgrading-to-a-new-version-of-rhessysworkflows-1)
- [Ein Hinweis zu den Versionsnummern von RHESSysWorkflows](#a-note-on-rhessysworkflows-version-numbers)
- [GRASS Addons für RHESSysWorkflows installieren](#install-grass-addons-for-rhessysworkflows)
- [Konfigurationsdatei für EcohydroLib und RHESSysWorkflows einrichten](#setup-ecohydrolib-and-rhessysworkflows-configuration-file)
- [Verwenden von RHESSysWorkflows - Einführung](#using-rhessysworkflows---einführung)
- [Using RHESSysWorkflows - Typische Workflows](#using-rhessysworkflows---typische-workflows)
- [Nationaler Geodatenworkflow](#national-spatial-data-workflow)
- [Geben Sie USGS-Streamflow-Daten an, die im NHD-Netzwerk lokalisiert werden sollen](#specify-a-usgs-streamflow-data-to-locate-on-the-nhd-network)
- [NHD-Einzugsgebiete extrahieren, die durch das Streamflow-Messgerät abfließen](#extract-nhd-catchments-that-drain-through-the-streamflow-meßgerät)
- [Get Bounding Box for Study Area](#get-bounding-box-for-study-area)
- [Erlangen Sie Geländedaten aus den USAGeological Survey](#acquire-terrain-data-from-us-geological-survey)
- [Landbedeckungsdaten aus lokalen NLCD-Daten 2006 oder 2011 extrahieren](#extract-landcover-data-from-local-nlcd-2006-or-2011-data)
- [Bodendaten von SSURGO herunterladen](#download-soils-data-from-ssurgo)
- [Registrieren von benutzerdefinierten lokalen Daten: LAI-Daten](#registering-custom-local-data-lai-data)
- [Erstelle einen neuen GRASS-Standort](#create-a-new-grass-location)
- [Importieren Sie RHESSys Quellcode in Ihr Projekt](#import-rhessys-source-code-in-Ihr-Projekt)
- [RHESSys-Klimadaten importieren](#import-rhessys-climate-data)
- [Klimastationskarte erstellen](#create-climate-stations-map)
- [Wasserscheide abgrenzen und abgeleitete Datenprodukte generieren](#delineate-watershed-and-generate-derived-data-products)
- [Erzeugen einer Patch-Map](#generating-a-patch-map)
- [Erzeugen einer Bodentexturkarte](#generating-soil-texture-map)
- [LAI-Karte in GRASS importieren](#import-lai-map-in-grass)
- [Erzeuge Landbedeckungskarten in GRASS](#generate-landcover-maps-in-grass)
- [Erstellen der Weltdatei für eine Wasserscheide](#creating-the-worldfile-for-a-watershed)
- [Erstellen der Flow-Tabelle](#creating-the-flow-table)
- [Initialisierung der Kohlenstoffspeicher der Vegetation](#initializing-vegetation-carbon-stores)
- [Laufende RHESSys-Modelle](#running-rhessys-Modelle)
- [Arbeiten in Wasserscheiden außerhalb der Vereinigten Staaten](#working-in-watersheds-out-the-united-states)
- [Benutzerdefinierter lokaler Datenworkflow](#custom-local-data-workflow)
- [Importieren Sie ein DEM in Ihr Projekt](#import-a-dem-in-your-project)
- [Verwenden Sie ein DEM mit eingebrannten Bächen und Gullys](#use-a-dem-with-streams-and-storm-drains-burned-in-it)
- [Streamflow-Gage-Koordinaten importieren](#import-streamflow-gage-coordinates)
- [Importieren von Daten in GRASS zur Verwendung mit RHESSys](#importing-data-into-grass-for-use-with-rhessys)
- [Andere Rasterebenen importieren](#importing-other-raster-layers)
- [Landbedeckungsdaten](#landbedeckungsdaten)
- [Rooftop-Konnektivität](#rooftop-connectivity)
- [Vegetation LAI](#vegetation-lai)
- [Benutzerdefinierte Patch-Map](#custom-patch-map)
- [Benutzerdefinierte Bodendaten](#custom-soils-data)
- [Klimastationszonenkarte](#climate-station-zone-map)
- [Isohyet-Karte](#isohyet-Karte)
- [Generating-RHESSys-Definitionen für benutzerdefinierte Bodendaten](#generating-rhessys-definitions-for-custom-soil-data)
- [Erstellen einer World-File-Vorlage in Gebieten mit geringer Steigung](#creating-a-world-file-template-in-areas-with-low-slope)
- [Erstellen einer Oberflächenströmungstabelle mit einer Dachkonnektivitätskarte](#creating-a-surface-flow-table-using-a-roof-connectivity-map)
- [Erstellen der Weltdatei und Initialisieren der Kohlenstoffspeicher der Vegetation](#creating-the-worldfile-and-initializing-vegetation-carbon-stores)
- [Benutzerdefinierte Befehle ausführen](#running-custom-commands)
- [Erstellen mehrerer Worldfiles basierend auf Subbasins](#creating-multiple-worldfiles-based-on-subbasins)
- [Anhang](#Anhang)
- [Visualisierung der RHESSys-Ausgabe](#visualizing-rhessys-output)
- [OS X](#os-x)
- [Linux (Debian/Ubuntu-basierte Systeme)](#linux-debianubuntu-basierte-Systeme)
- [Veraltete Installationsanweisungen](#veraltete-Installationsanweisungen)
- [OS X 10.7 bis 10.10 mit Kyngchaos GIS-Paketen](#os-x-107-through-1010-using-kyngchaos-gis-packages)
- [Xcode installieren (OS X-Entwicklertools):](#install-xcode-os-x-developer-tools)
- [Installieren Sie RHESSysWorkflows Python-Module (einschließlich EcohydroLib)](#install-rhessysworkflows-python-modules-inclusive-ecohydrolib)
- [GRASS Addons für RHESSysWorkflows installieren](#install-grass-addons-for-rhessysworkflows-1)
- [Konfigurationsdatei für EcohydroLib und RHESSysWorkflows einrichten](#setup-ecohydrolib-and-rhessysworkflows-configuration-file-1)
- [OS X 10.6](#os-x-106)
- [Laden Sie Python 2.7 herunter und installieren Sie es von: http://www.python.org/download/](#download-and-install-python-27-from-httpwwwpythonorgdownload)
- [Setuptools herunterladen von: https://pypi.python.org/pypi/setuptools/0.8](#download-setuptools-from-httpspypipythonorgpypisetuptools08)
- [Xcode installieren (OS X-Entwicklertools)](#install-xcode-os-x-developer-tools)
- [Installieren Sie PIP, ein Tool zum Installieren von Python-Modulen](#install-pip-a-tool-for-installing-python-modules)
- [GIS-Tools installieren: GRASS & QGIS](#install-gis-tools-grass-&-qgis)
- [GDAL Python-Module installieren](#install-gdal-python-modules)
- [Installieren Sie RHESSysWorkflows Python-Module (einschließlich EcohydroLib)](#install-rhessysworkflows-python-modules-inclusive-ecohydrolib-1)
- [GRASS Addons für RHESSysWorkflows installieren](#install-grass-addons-for-rhessysworkflows-2)
- [Konfigurationsdatei für EcohydroLib und RHESSysWorkflows einrichten](#setup-ecohydrolib-and-rhessysworkflows-configuration-file-2)
- [Lokale Daten installieren](#install-local-data)
- [Setup NLCD2006-Daten](#setup-nlcd2006-data)
- [Vorkonfektionierte NHDPlusV2-Daten einrichten](#setup-pre-packaged-nhdplusv2-Daten)

<!-- END doctoc generiertes Inhaltsverzeichnis bitte hier Kommentar hinterlassen um automatische Aktualisierung zu ermöglichen -->

Autoren
-------
Brian Miles - [email protected]

Lawrence E. Band - [email protected]

Bei Fragen oder Support wenden Sie sich an [Brian Miles]([email protected])

Finanzierung
-------
Diese Arbeit wurde durch die folgenden NSF-Stipendien unterstützt

- Auszeichnung Nr. 1239678 EAGER: Verbundforschung: Interoperabilität
Testbed-Bewertung einer mehrschichtigen Architektur für die Integration von Integration
Bestehende Fähigkeiten

- Auszeichnung Nr. 0940841 DataNet Federation-Konsortium.

- Auszeichnung Nr. 1148090 Verbundforschung: SI2-SSI: Eine interaktive Software
Infrastruktur zur Unterstützung kollaborativer Innovation in der
Hydrologische Wissenschaften

Quellcode
-----------
Quellcode finden Sie unter: https://github.com/selimnairb/RHESSysWorkflows

Dokumentation finden Sie unter: http://pythonhosted.org/rhessysworkflows

Installationsanleitung
-------------------------
Diese Anleitung führt Sie durch die Installation von RHESSysWorkflows
(und EcohydroLib) sowie GRASS 6.4 und QGIS Open Source GIS
Anwendungen GRASS wird von RHESSysWorkflows benötigt und QGIS ist
praktisch für die Visualisierung von GIS-Daten, die als
Sie machen RHESSys-Modelle.

Diese Anweisungen sind auf Benutzer von OS X und Linux zugeschnitten (insbesondere
Ubuntu 14.04 oder 15.04 15.10 ist nicht kompatibel, da es
wird mit GRASS 7 statt mit GRASS 6.4 geliefert), jedoch Installation
unter anderen Linux-Distributionen ist auch möglich. RHESSysWorkflows können in
Theorie funktioniert unter Windows, aber das wurde noch nie getestet. Windows-Benutzer
Es wird empfohlen, ein Ubuntu unter einer virtuellen Maschine auszuführen.

RHESSysWorkflows ist kompatibel mit OS X 10.6 bis 10.11, aber nur
Versionen 10.9 bis 10.11 werden offiziell unterstützt. Zum Installieren
Anweisungen für OS X 10.6 bis 10.8, siehe
[Veraltete Installationsanweisungen](#veraltete-Installationsanweisungen)
gegen Ende dieses Dokuments.

Um herauszufinden, welche Version von OS X Sie derzeit verwenden, klicken Sie auf
den Apfel in der oberen linken Ecke des Bildschirms und wählen Sie *Über
dieser Mac*. Um die neueste Version von OS X herauszufinden, kann Ihr Computer
laufen, besuchen Sie diese hilfreich
[page](http://www.everymac.com/systems/by_capability/maximum-macos-supported.html).

Wenn bei der Installation Probleme auftreten, überprüfen Sie bitte die
[Installation
Notizen](https://github.com/selimnairb/RHESSysWorkflows/wiki/Installation-Notes)
bevor Sie sich an die Entwickler wenden, um Unterstützung zu erhalten.

### Installation unter OS X mit Homebrew
Vorherige [Methoden](#deprecated-installation-instructions) für
Die Installation von RHESSysWorkflows unter OS X stützte sich auf das offizielle GRASS
6.4 GIS
[Pakete](https://grass.osgeo.org/download/software/mac-osx/).
Leider ist das offizielle GRASS 6.4 (und das neue GRASS 7 dafür)
Angelegenheit) sind nicht kompatibel mit neuen Sicherheitsverbesserungen in OS X compatible
10.11 (El Capitan). Anstatt diese neue Sicherheitsmaßnahme zu deaktivieren
(genannt Systemintegritätsschutz), empfehlen wir das
RHESSysWorkflows-Benutzer verwenden ein neues [Homebrew](http://brew.sh/)-basiertes
Installationsmethode, die GRASS installiert, ohne dass dies erforderlich ist
die Sicherheitsfunktionen Ihres Betriebssystems deaktiviert werden.

Homebrew ist ein Paketverwaltungssystem von Drittanbietern, das es einfach macht
Open-Source-Software unter OS X zu installieren. Jedes Softwarepaket eins
über Homebrew installieren kann, heißt eine Formel. Suchen nach
verfügbare Softwareformel, besuchen Sie
[Braumeister](http://braumeister.org).

- Installieren Sie Homebrew, indem Sie den Anweisungen [hier] (http://brew.sh) folgen.

> Während der Installation werden Sie möglicherweise aufgefordert, die OS X-Befehlszeile zu installieren
> Entwicklertools. Wählen Sie "Installieren".

**Wenn Sie Homebrew bereits installiert haben, gehen Sie wie folgt vor:
bevor Sie fortfahren**:
```
Brau-Update
Brau-Upgrade
```

- Als nächstes installieren Sie den OSGeo4Mac tap für Homebrew, indem Sie den Anweisungen folgen
[hier](https://github.com/OSGeo/homebrew-osgeo4mac).

> Durch Tippen können Softwareentwickler eine Sammlung von
> Softwareformeln OSGeo4Mac kuratiert eine Reihe von Formeln im Zusammenhang mit
> Open-Source-GIS-Software.

Jetzt ist Homebrew installiert und wir müssen nur noch ein paar Software installieren
Abhängigkeiten, bevor Sie RHESSysWorkflows installieren.

#### Abhängigkeiten für GRASS, QGIS und RHESSysWorkflows installieren
Installieren Sie zunächst XQuartz, das von GRASS benötigt wird, indem Sie das
folgenden Befehl aus der Terminal-Anwendung:

brauen installieren Caskroom/Fass/xquartz

> Hinweis, dadurch wird eine separate Kopie von Python 2.7 installiert, so dass dies nicht der Fall ist
> stören die Kopie von Python 2, die mit OS X ausgeliefert wird.

#### RHESSysWorkflows- und Python-Pakete installieren
Um RHESSysWorkflows und seine Abhängigkeiten (einschließlich EcohydroLib) zu installieren,
Geben Sie am Terminal Folgendes ein Terminal:

pip installiere rhessysworkflows

##### Upgrade auf eine neue Version von RHESSysWorkflows
Um auf eine neuere Version von RHESSysWorkflows zu aktualisieren, geben Sie Folgendes ein
ins Terminal:

pip install rhessysworkflows --upgrade --force-reinstall

Wenn pip nicht die erwartete Version installiert, kann dies erforderlich sein
entfernen Sie zuerst RHESSysWorkflows und Ecohydrolib, bevor Sie die
neue Version (insbesondere unter Linux, wo einige Python-Pakete nicht funktionieren
build bei Installation über *pip*):

pip deinstallieren rhessysworkflows
pip deinstallieren ecohydrolib

pip installiere rhessysworkflows

#### Installieren Sie GRASS und QGIS
Installieren Sie GRASS und QGIS mit Homebrew wie folgt vom Terminal aus:

brew install grass-64 gdal-20 qgis-214 --ohne-server ffmpeg
brauen link gras-64 --force
brauen linkapps qgis-214

Sie müssen auch eine Python-Bibliothek installieren, um auf PostGIS zuzugreifen
Geodatenbanken Dies wird von QGIS benötigt:

pip install psycopg2 # Nach der Installation von QGIS ausführen, wodurch PostqreSQL installiert wird

Damit ist der OS X Homebrew-spezifische Teil der Installation abgeschlossen
Anleitung.

### Installation unter Ubuntu Linux 14.04 oder 15.04
Installieren Sie RHESSysWorkflows/EcohydroLib-Abhängigkeiten mit apt-get:

sudo apt-get install build-essential git subversion p7zip-full
python python-dev python-pip python-scipy
libxml2-dev libxslt-dev
gdal gdal-bin python-gdal
Gras Gras-Entwickler
libbsd-dev ffmpeg vlc

Hinweis: Das obige funktioniert für Ubuntu 14.04. Für 15.04 die Verpackung von
GDAL hat sich geändert Verwenden Sie Folgendes, um Abhängigkeiten zu installieren unter install
Ubuntu 15.04:

sudo apt-get install build-essential git subversion p7zip-full
python python-dev python-pip python-scipy
libxml2-dev libxslt-dev
libgdal-dev libgdal-doc gdal-bin python-gdal
Gras Gras-Entwickler
libbsd-dev ffmpeg vlc

> Ubuntu 15.10 ist nicht kompatibel mit RHESSys oder RHESSysWorkflows
>, da diese Ubuntu-Version GRASS 7 verwendet, das noch nicht unterstützt wird
> von RHESSys oder RHESSysWorkflows. Wenn Sie einen anderen verwenden möchten
> Linux-Distribution, stellen Sie sicher, dass sie ähnliche Versionen bereitstellt
> der obigen Abhängigkeiten.

#### RHESSysWorkflows und Python-Pakete unter Linux installieren
Um RHESSysWorkflows und seine Abhängigkeiten (einschließlich EcohydroLib) zu installieren,
Geben Sie Folgendes von Ihrem Terminal aus ein:

sudo pip install rhessysworkflows

##### Upgrade auf eine neue Version von RHESSysWorkflows
Um auf eine neuere Version von RHESSysWorkflows zu aktualisieren, geben Sie Folgendes in das Terminal ein:

sudo pip install rhessysworkflows --upgrade --force-reinstall

Wenn pip nicht die erwartete Version installiert, kann dies erforderlich sein
entfernen Sie zuerst RHESSysWorkflows und Ecohydrolib, bevor Sie die
neue Version (insbesondere unter Linux, wo einige Python-Pakete nicht funktionieren
build bei Installation über *pip*):

sudo pip deinstallieren rhessysworkflows
sudo pip deinstallieren ecohydrolib

sudo pip install rhessysworkflows

Damit ist der Linux-spezifische Teil der Installationsanweisungen abgeschlossen.

### Ein Hinweis zu den Versionsnummern von RHESSysWorkflows
Jedes Projekt kann nur mit kompatiblen Versionen von verwendet werden
RHESSysWorkflows/Ecohydrolib. Kompatible Versionen sind diejenigen, die
schreibe dieselbe Versionsnummer in den Metadatenspeicher für ein bestimmtes
Projekt. Diese Kompatibilitätsprüfung ist notwendig, um beides sicherzustellen
wissenschaftliche Reproduzierbarkeit und um sicherzustellen, dass Ihre Arbeitsabläufe dies nicht tun
durch inkompatible Versionen beschädigt werden. Wir bemühen uns zu halten
Kompatibilität zwischen Releases von RHESSysWorkflows/Ecohydrolib,
jedoch erfordert manchmal das Aktivieren neuer Workflow-Szenarien
unvereinbare Änderungen. Die Versionshinweise für jede Version werden beachten
wenn eine neue Version die Abwärtskompatibilität unterbricht. Die gute Nachricht ist
dass Sie mehrere Kopien von RHESSysWorkflows/Ecohydrolib . haben können
gleichzeitig auf Ihrem Computer installiert. Dazu müssen Sie tun
folgende:

1. Installieren Sie [virtualenv](https://pypi.python.org/pypi/virtualenv)

2. Erstellen Sie eine neue virtuelle Umgebung für jede Version von
RHESSysWorkflows, die Sie ausführen möchten

3. Aktivieren Sie eine virtuelle Umgebung, in der Sie eine bestimmte installieren möchten
Version von RHESSysWorkflows in

4. Installieren Sie RHESSysWorkflows in der virtuellen Umgebung, zum Beispiel um
Version 1.0 installieren:

pip install rhessysworkflows==1.0

Nicht, dass Sie 'sudo' nicht verwenden müssen, wenn Sie in einem virtuellen laufen
Umgebung, da die Dateien in einem Verzeichnis installiert werden, das Ihrem gehört
Benutzerkonto.

#### GRASS Addons für RHESSysWorkflows installieren
Befolgen Sie diese Schritte, um die GRASS-Addons unter OS X und Linux zu installieren:

- OS X: Geben Sie im Terminal Folgendes ein:
```
brew link gettext --force # Stellen Sie sicher, dass das Programm g.extension von GRASS gettext findet, das bei der Internationalisierung verwendet wird.
Gras64
```

- Linux: auf einer Befehlszeile geben Sie Folgendes ein:
```
Gras64
```

2. Erstellen Sie einen neuen Standort (egal wo, wir verwenden ihn nur zum Ausführen
den Befehl g.extension, um die Erweiterungen zu installieren).

5. Beenden Sie GRASS (schließen Sie alle GUI-Fenster, dann geben Sie *exit* in das GRASS
Befehlszeilenfenster).

6. Nur unter OS X, nachdem Sie GRASS beendet haben, gehen Sie wie folgt vor:
```
brew unlink gettext # Verbergen Sie die von Homebrew installierte Version von gettext erneut, die möglicherweise mit der von OS X kollidiert.
```

Weitere Informationen zu diesen Addons (r.soils.texture und r.findtheriver) finden Sie unter:
- [r.findtheriver](http://grasswiki.osgeo.org/wiki/AddOns/GRASS_6#r.findtheriver)
und r.soils.texture
- [r.soils.texture](http://grasswiki.osgeo.org/wiki/AddOns/GRASS_6#r.soils.texture).

### Konfigurationsdatei für EcohydroLib und RHESSysWorkflows einrichten
- Wählen Sie die entsprechende Prototyp-Konfigurationsdatei:

- Speichern Sie in einer Datei namens '.ecohydro.cfg', die in Ihrem Home-Verzeichnis gespeichert ist
und ersetzen Sie alle Vorkommen von *&ltmyusername&gt* durch Ihren Benutzernamen
(Um Ihren OS X- oder Linux-Benutzernamen herauszufinden, verwenden Sie den Befehl *whoami* in
Terminal).

- Setzen Sie die Umgebungsvariable ECOHYDROLIB_CFG, damit RHESSysWorkflows
kann Ihre Konfigurationsdatei finden

+ Führen Sie unter OS X vom Terminal aus die folgenden Schritte aus:

echo "ECOHYDROLIB_CFG=$ . exportieren/.ecohydro.cfg" >>

+ Wenn Sie Linux ausführen, gehen Sie wie folgt vor:

echo "ECOHYDROLIB_CFG=$ . exportieren/.ecohydro.cfg" >>

echo "Export LD_LIBRARY_PATH=/usr/lib/grass64/lib:$">>


+ Bash-Profil neu laden (oder schließen und ein neues Terminal-Fenster öffnen):

Damit ist der Konfigurationsteil der Installation abgeschlossen und
Konfigurationsanweisungen.

Verwenden von RHESSysWorkflows - Einführung
-------------------------------------
Alle Tools von EcohydroLib und RHESSysWorkflows werden von der
Befehlszeile. Jedes Tool speichert die zugehörigen Daten und Metadaten
mit einem einzigen Workflow in einem Verzeichnis, das als *Projektverzeichnis* bezeichnet wird.
Metadaten werden in einer Datei im Projektverzeichnis namens . gespeichert
*metadaten.txt*. In einem Projekt kann es nur eine metadata.txt geben
Verzeichnis, daher ist es wichtig, dass jeder Workflow ein eigenes Projekt hat
Verzeichnis.

Zusätzlich zur automatischen Erfassung von Herkunftsangaben für Daten
und die Verarbeitungsschritte eines Workflows ermöglicht der Metadatenspeicher store
lose Kupplung zwischen den Werkzeugen, die verwendet werden, um a
bestimmten Arbeitsablauf. Jedes Workflow-Tool leistet konstruktionsbedingt ungefähr
eine diskrete Funktion. Dies ermöglicht flexible Arbeitsabläufe. Jeder
Workflow-Tool schreibt eine Reihe von Einträgen in die Metadaten, um sie widerzuspiegeln
die Arbeit, die das Werkzeug leistet. Die meisten Workflow-Tools erfordern bestimmte
Einträge im Metadatenspeicher vorhanden sein müssen, um die Arbeit auszuführen, die sie
Wird besorgt. Zum Beispiel, bevor DEM-Daten für die Studie vorliegen können
vom DEMExplorer heruntergeladen, die Begrenzungsbox für das Untersuchungsgebiet muss
bekannt sein. Das Tool, das den DEMExplorer abfragt, muss nicht wissen, wie die
Bounding Box erzeugt wurde, es interessiert nur, dass die Bounding Box ist
im Metadatenspeicher vorhanden. Schließlich hilft der Metadatenspeicher den Benutzern
Workflows zu orchestrieren, indem nur neue Informationen benötigt werden
muss bei jedem Schritt eingegeben werden, um einen bestimmten Befehl auszuführen, andere
benötigte Informationen können aus den Metadaten abgefragt werden.

Jedes Workflow-Tool druckt Nutzungsinformationen, wenn es alleine ausgeführt wird
zum Beispiel laufen:

Verwendung: GetNHDStreamflowGageIdentifiersAndLocation.py [-h] [-i CONFIGFILE] -p
PROJEKTVERZEICHNIS -g GAGEID
GetNHDStreamflowGageIdentifiersAndLocation.py: Fehler: Argument -p/--projectDir ist erforderlich

Dies zeigt an, dass das Argument -p (auch bekannt als --projectDir) erforderlich ist
das heißt, Sie müssen das zugehörige Projektverzeichnis angeben
Workflow, für den Sie das Tool ausführen. Für viele
EcohydroLib/RHESSyWorkflows-Tools, dies ist der einzige erforderliche Befehl
Zeilenparameter.

Beim Ausführen eines Befehls empfiehlt es sich, den Befehl zuerst auszuführen
ohne Befehlszeilenargumente. Dies zeigt Ihnen die erforderlichen und
optionale Parameter. Um detaillierte Hilfe zu einem bestimmten Befehl zu erhalten, führen Sie
der Befehl mit dem Argument -h (auch bekannt als --help), zum Beispiel:

Beachten Sie, dass dieses spezielle Tool und die RHESSysWorkflows-Tools
im Allgemeinen lange Namen haben, sie sind lang, um beschreibend zu sein, um
einfacher zu bedienen sein. Um zu vermeiden, dass Sie diese langen Namen eingeben müssen,
werden ermutigt, die *Tabulator*-Vervollständigung im Terminal zu verwenden. Benutzen
Tab-Vervollständigung, geben Sie einfach die ersten paar Zeichen eines Befehls ein und
Drücken Sie dann die Tabulatortaste auf Ihrer Tastatur, um den gesamten Befehlsnamen anzuzeigen
auf der Kommandozeile für Sie 'erledigt' werden. Wenn nicht der gesamte Name ist
'abgeschlossen' für Sie, drücken Sie die Tabulatortaste erneut, um die Liste der Befehle anzuzeigen, die
mit dem übereinstimmen, was Sie bisher eingegeben haben. Sobald Sie genug Zeichen eingegeben haben, um
Identifizieren Sie den Befehl eindeutig. Wenn Sie die Tabulatortaste erneut drücken, wird der Befehl abgeschlossen
Befehlsname.

Verwendung von RHESSysWorkflows - Typische Arbeitsabläufe
------------------------------------------
Ein typischer Workflow besteht aus laufenden Daten
Verarbeitungs-/Registrierungstools von EcohydroLib. Sobald die erforderliche
Datensätze vorhanden sind (z. B. DEM, Böden, Landbedeckung usw.)
RHESSysWorkflows-Tools können ausgeführt werden, um die World-Datei und den Flow zu erstellen
Tabelle, die einem RHESSys-Modell zugeordnet ist.

In den folgenden Abschnitten werden zwei Beispiel-Workflows beschrieben: (1)
Nutzung von Daten aus der nationalen Geodateninfrastruktur (USGS, NHD, NLCD,
SSURGO, SRTM) und (2) mit benutzerdefinierten lokalen Daten. Die Kombinationen von
Tools, die in diesen Workflows ausgeführt werden, sind zwei der vielen einzigartigen
Arbeitsabläufe möglich.

### Nationaler Geodaten-Workflow

Beginnen Sie mit der Erstellung eines Verzeichnisses namens 'standard'. Das wird dein
Projektverzeichnis für diesen Beispielworkflow. Das kannst du erstellen
Verzeichnis irgendwo auf Ihrem Computer, wo Sie Schreibzugriff haben
(z.B. in Ihrem Home-Verzeichnis).

#### Geben Sie eine USGS-Streamflow-Daten an, die im NHD-Netzwerk lokalisiert werden soll

Wählen Sie zunächst das USGS-Streamflow-Messgerät aus, das von der USGS-Site identifiziert wird
Nummer, für die Sie ein RHESSys-Modell erstellen möchten. Beachten Sie, dass während Sie
Sie können Messgeräte auswählen, die große Becken entleeren, wenn Sie dies verwenden möchten
SSRUGO-Bodendaten, die mit dem RHESSysWorkflows-Tool erfasst wurden
GetSSURGOFeaturesForBoundingbox muss das Untersuchungsgebiet kleiner sein als
10.000 km².

So lokalisieren Sie das interessierende USGS-Messgerät im NHD-Flusslinien-Netzwerklauf
folgendes Werkzeug:

GetNHDStreamflowGageIdentifiersAndLocation.py -p standard -g 01589312

Dadurch wird der Metadatenspeicher für Ihr Projekt in einer Datei namens . erstellt
Metadaten.txt im Projektverzeichnis 'standard'. Der Metadatenspeicher
wird mit der Messgeräte-ID (die von Ihnen angegebene Standortnummer) ausgefüllt
die Befehlszeile) und der zugehörige NHD-Reachcode und das zugehörige Reichweitenmaß
mit diesem Messgerät. Standardmäßig verwendet RHESSysWorkflows einen Webservice
um diese Abfrage durchzuführen. (Wenn Sie eine lokale Kopie von NHDPlusV2 verwenden
data fügen Sie dem obigen Befehl das Befehlszeilenargument *-s local* hinzu
Die meisten Benutzer sollten dies ignorieren.)

> Beachten Sie, dass USGS NWIS-Messgerätekennungen mit '0' beginnen können. Du musst
> geben Sie diese führende 0 ein, wenn Sie ein Strömungsmesser angeben.

#### NHD-Einzugsgebiete extrahieren, die durch das Strömungsmessgerät abfließen

Die NHD-Datenbank ordnet den Fließgewässern den Einzugsgebieten zu, die entwässern
in sie. RHESSysWorkflows kann diese Einzugsgebiete verwenden, die in einem
Shapefile in Ihrem Projektverzeichnis, um die geografische
Begrenzungsrahmen für Ihr Untersuchungsgebiet (siehe unten). Diese Begrenzungsbox kann
dann werden Geodaten für Ihr Untersuchungsgebiet aus Datensätzen extrahiert
sowohl lokal gespeichert als auch über Webservice-Schnittstellen verfügbar sind.

Um ein Shapefile der NHD-Einzugsgebiete zu extrahieren, die durch Ihr drain
streamflow-Messgerät, führen Sie das folgende Tool aus:

GetCatchmentShapefileForNHDStreamflowGage.py -p standard

(Wenn Sie eine lokale Kopie der NHDPlusV2-Daten verwenden, fügen Sie *-s local* hinzu
Befehlszeilenargument für den obigen Befehl Die meisten Benutzer sollten es ignorieren
diese.)

Sie sollten nun das Shapefile des Untersuchungsbereichs in Ihrem Projektverzeichnis sehen.
Sie können das Untersuchungsgebiet zusammen mit dem Strömungsmesser in . visualisieren
QGIS. Beachten Sie, dass das Shapefile des Untersuchungsbereichs nicht die
Abgrenzung Ihrer Wasserscheide, sondern sollte stattdessen eine Obermenge der
Wasserscheide. Wir grenzen Ihre Wasserscheide mit GRASS GIS ab.

#### Begrenzungsrahmen für Studienbereich abrufen Get

Da RHESSysWorkflows nun über eine GIS-Darstellung Ihres Untersuchungsgebiets verfügt,
es kann die Ausdehnung oder den Begrenzungsrahmen (manchmal auch als bezeichnet) bestimmen
'minimales Begrenzungsrechteck') des Untersuchungsbereichs. Tun Sie dies, indem Sie die
folgendes Werkzeug:

GetBoundingboxFromStudyareaShapefile.py -p standard

Wie bei vielen EcohydroLib/RHESSysWorkflows-Befehlen werden Sie nicht viel sehen
bei der Ausgabe auf dem Bildschirm keine Angst. Die Befehle
schreiben in die Metadaten, was für zukünftige Workflow-Schritte benötigt wird
Store, der Ihrem Projektverzeichnis zugeordnet ist. Wenn du das öffnest
Metadatenspeicher, die Datei namens *metadata.txt* im Projekt
Verzeichnis *standard*, Sie können die gespeicherten Bounding-Box-Koordinaten sehen
Suchen Sie im Abschnitt *study_area* nach dem Attribut namens
*bbox_wgs84*.

#### Geländedaten von U.S. Geological Survey abrufen

U.S. Geological Survey (USGS) hat einen Prototyp-Webdienst entwickelt
zum Herunterladen von Geländedaten basierend auf dem National Elevation Dataset
(NED). Nachdem wir nun den Begrenzungsrahmen für unser Untersuchungsgebiet definiert haben,
Es ist sehr einfach, DEM-Daten von diesem Webservice wie folgt herunterzuladen:

GetUSGSDEMForBoundingbox.py -p standard

Standardmäßig lädt dieses Tool einen Extrahierungs-Geländedaten für Ihr
Untersuchungsgebiet aus dem National Elevation Dataset (NED) 30 Meter (1/3 .)
Bogensekunde) USA DEM. Das DEM wird in einem UTM-Projekt gespeichert (WGS84-Datum)
mit der für Sie ausgewählten UTM-Zone. Sie können sowohl die DEM
Abdeckungstyp und Ziel-Raumbezugssystem durch Angabe der
geeignete Befehlszeilenparameter räumliche Bezugssysteme müssen sein
referenziert durch ihren EPSG-Code (siehe http://www.spatialreference.org/ref/epsg/
für mehr Informationen). Darüber hinaus können Sie das DEM neu abtasten
in eine andere räumliche Auflösung extrahieren. Um zu erfahren, wie Sie diese angeben können
-Optionen geben Sie das Befehlszeilenargument help wie folgt aus:

Beachten Sie, dass EcohydroLib/RHESSysWorkflows die DEM-Auflösung verwendet,
Ausdehnung und räumliche Referenz auf die Referenz für alle anderen Raster
in nachfolgende Workflow-Tools importiert oder von diesen generiert werden.

Schließlich müssen Sie kein DEM vom USGS-Webservice verwenden. Siehe die
*Benutzerdefinierter lokaler Datenworkflow* Beispiel unten sowie das *Working in
Wasserscheiden außerhalb der Vereinigten Staaten* Abschnitt für weitere Informationen.

#### Landbedeckungsdaten aus lokalen NLCD-Daten von 2006 oder 2011 extrahieren

EcohydroLib macht es einfach, benutzerdefinierte NLCD 2006 oder 2011 Kacheln für Ihre
Lernbereich in Ihr Projekt von Webdiensten, die von [U.S. Geologische Untersuchung](http://raster.nationalmap.gov/arcgis/rest/services/LandCover/USGS_EROS_LandCover_NLCD/MapServer). Beispielsweise,
um NLCD 2011 Daten zu erfassen:

GetUSGSNLCDForDEMExtent.py -p standard

Dieser Befehl lädt NLCD 2011-Daten herunter, die dem Umfang, der Auflösung,
und Raumbezug Ihres DEM und speichern Sie die Kachel in Ihrem Projekt
Verzeichnis. (Wenn Sie Ihrer NLCD-Kachel einen bestimmten Namen geben möchten, verwenden Sie
die Befehlszeilenoption *outfile*. Um stattdessen NLCD 2006-Daten herunterzuladen,
folgende:

GetUSGSNLCDForDEMExtent.py -p standard -t NLCD2006

#### Bodendaten von SSURGO herunterladen

Das USDA NRCS stellt die [Bodendaten
Mart](http://soildatamart.nrcs.usda.gov), ein ausgeklügeltes Web
servicebasierte Schnittstelle zum Abfragen und Herunterladen von hochauflösenden
SSURGO-Bodendaten. SSURGO-Daten sind als komplexe Datenbank strukturiert
bestehend aus räumlichen und tabellarischen Daten. Für weitere Informationen zu
dieses Datenbankformat und die Bodenuntersuchungsdaten, die durch die
SSRUGO-Datenbank finden Sie in der [SSURGO
Metadaten](http://soildatamart.nrcs.usda.gov/SSURGOMetadata.aspx).

EcohydroLib bietet zwei Werkzeuge, die die Erzeugung von Boden erleichtern
hydraulische Eigenschaften, die üblicherweise für die Ökohydrologie-Modellierung benötigt werden (nämlich
die numerischen Eigenschaften Ksat, Porosität, Prozent Sand, Prozent Schluff und
Prozent Ton). Das erste Tool lädt räumliche Mapunit-Features herunter
für Ihr Untersuchungsgebiet sowie tabellarische bodenhydraulische Eigenschaftsdaten.
Diese räumlichen und tabellarischen Daten werden zusammengeführt und in Ihr Projekt geschrieben
Verzeichnis als ESRI Shapefile. Für weitere Informationen zu was
Attribute abgefragt werden und wie nicht-räumliche Mapunit-Komponenten sind
aggregiert durch den Code finden Sie im EcohydroLib-Quellcode
[hier](https://github.com/selimnairb/EcohydroLib/blob/master/ecohydrolib/ssurgo/featurequery.py)
und
[hier](https://github.com/selimnairb/EcohydroLib/blob/master/ecohydrolib/ssurgo/attributequery.py).

Um SSURGO-Funktionen und -Attribute in Ihr Projekt herunterzuladen, führen Sie die
folgender Befehl:

GetSSURGOFeaturesForBoundingbox.py -p standard

Beachten Sie, dass bei Problemen mit der Serverleistung und der Netzwerkbandbreite Soil
Data Mart beschränkt räumliche SSURGO-Abfragen auf Bereiche von weniger als ungefähr
10.000 km². Aus Leistungsgründen ist EcohydroLib (und damitand
RHESSysWorkflows) begrenzt die Größe von SSURGO-Abfragen auf

2.500 km².
Wenn Ihr Studienbereich größer ist, müssen Sie anweisen
*GetSSURGOFeaturesForBoundingbox*, um die Abfrage in mehrere aufzuteilen
Unterabfragen. Die Kachelung von SSURGO-Abfragen wird mit der Option *--tile* aktiviert:

GetSSURGOFeaturesForBoundingbox.py -p MYPROJECT_DIRECTORY --tile

Dadurch wird die größere Abfrage an den Soil Data Mart in viele aufgeteilt
kleinere Abfragen (möglicherweise Hunderte oder Tausende). Die Ergebnisse dieser
Unterabfragen werden dann automatisch zu einem einzigen Vektor-Feature zusammengestellt
Schicht von EcohydroLib. Um die Downloadzeiten zu verkürzen, werden standardmäßig gekachelte Abfragen verwendet by
parallel durchgeführt. Die Anzahl der parallel laufenden Abfragen wird bestimmt
automatisch nach der Anzahl gleichzeitiger Threads, die Ihr Computer unterstützt
(siehe [hier](https://docs.python.org/2/library/multiprocessing.html#multiprocessing.cpu_count)
für mehr Informationen). Verwenden Sie die Option *--nprocesses*, um die
Anzahl parallel auszuführender SSURGO-Abfragen. Zum Beispiel zu
16 Abfragen parallel durchführen (was bei einem 8-Thread in Ordnung sein sollte
Maschine):

GetSSURGOFeaturesForBoundingbox.py -p MYPROJECT_DIRECTORY --tile --nprocesses 16

So deaktivieren Sie parallele Abfragen:

GetSSURGOFeaturesForBoundingbox.py -p MYPROJECT_DIRECTORY --tile --nprocesses 1

Sie können die heruntergeladenen SSURGO-Funktionen und die verbundenen Tabellen visualisieren joined
Daten durch Öffnen des Shapfiles in QGIS. Das SSURGO-Shapefile hat ein
langer, aber beschreibender Name, der den Begrenzungsrahmen enthält
Koordinaten für Ihr Studiengebiet. Wenn Sie sich nicht sicher sind, in welchem ​​Shapefile?
Ihr Projektverzeichnis zu öffnen, das *soil_features*-Attribut des
Der Abschnitt *manifest* Ihres Metadatenspeichers listet den Dateinamen auf.

> Scrollen Sie beim Betrachten des Metadatenspeichers nach unten zum
> Abschnitt *Herkunft*. Während die Attributnamen etwas unordentlich sind,
> Sie können sehen, dass es für jeden Manifest-Eintrag EcohydroLib gibt
> hat detaillierte Informationen zur Provenienz aufgezeichnet. Für den SSURGO-Boden
>-Funktionen wird die URL der Soil Data Mart-Webdienste als as
>-Datenquelle für die vom DEM-Explorer heruntergeladenen DEM-Daten,
> EcohydroLib zeichnet die genaue URL auf, die zum Herunterladen Ihres DEM verwendet wurde.
> Wenn Sie schließlich etwas weiter nach unten scrollen, können Sie sehen, dass die
> *history*-Abschnitt des Metadatenspeichers zeichnet die Reihenfolge von jedem auf
> EcohydroLib/RHESSysWorkflow-Befehl, den Sie in diesem Workflow ausgeführt haben,
> einschließlich aller Befehlszeilenparameter.

EcohydroLib bietet auch ein zweites Werkzeug für den Umgang mit SSURGO-Böden
Daten. Mit diesem Tool können Sie Rasterkarten von SSURGO mapunit erstellen
Polygone mit den folgenden numerischen Bodeneigenschaften als Rasterwerte:
Ksat, Porosität, Prozent Ton, Prozent Schluff und Prozent Sand). Benutzen
den folgenden Befehl, um alle diese Raster in Ihrem Projekt zu generieren
Verzeichnis:

GenerateSoilPropertyRastersFromSSURGO.py -p standard

Später in diesem Beispiel-Workflow verwenden wir den Prozentsatz Sand und
Prozent Ton-Raster, um eine USDA-Bodentexturkarte zu erstellen, die wir
verwenden, um RHESSys-Bodenparameter für unser Studieneinzugsgebiet zu definieren.

#### Benutzerdefinierte lokale Daten registrieren: LAI-Daten

EcohydroLib bietet derzeit keinen direkten Zugang zum Vegetationsblatt
Gebietsindexdaten aus Fernerkundungsquellen. LAI-Daten werden von RHESSys benötigt
um die Kohlenstoff- und Stickstoffspeicher der Vegetation zu initialisieren. RHESSysWorkflows
relies kann vom Benutzer bereitgestellte LAI-Raster verwenden, um diese anfänglichen LAI bereitzustellen
Daten an RHESSys. Für diesen Beispiel-Workflow können Sie eine LAI herunterladen download
Bild
[hier](https://docs.google.com/file/d/0B7aK-9pTSLS-eEJaZXctaEtkb2s/edit?usp=sharing).
Verwenden Sie den folgenden Befehl, um dieses vom Benutzer bereitgestellte Raster in zu registrieren
dein Projekt:

RegisterRaster.py -p Standard -t lai -r /path/to/static_lai-01589312.tif -b "Brian Miles [email protected]>"

Damit dieser Befehl funktioniert, müssen Sie den Pfad zur Datei ändern
Name, der an das Argument *-r* übergeben wird, um den Standort auf Ihrem location wiederzugeben
Computer, auf den Sie das Beispiel-LAI-Image heruntergeladen haben.

> Beachten Sie, dass EcohydroLib/RHESSysWorkflows nicht mit Dateien funktionieren oder
>-Verzeichnisse, deren Namen Leerzeichen enthalten. Dies wird in a
> zukünftige Version.

Außerdem stimmt der Umfang des LAI-Image nicht ganz mit dem unseres DEM überein.
Standardmäßig importiert RegisterRaster kein Raster, das dies nicht tut
dem Umfang der DEM entsprechen. Verwenden Sie die Option *--force*, um zu erzwingen
RegisterRaster, um das Raster zu importieren:

RegisterRaster.py -p Standard -t lai -r /path/to/static_lai-01589312.tif -b "Brian Miles [email protected]>" --force

Bei Verwendung der Option *force* ist es noch wichtiger, dass Sie
Überprüfen Sie die Ergebnisse des Befehls, um sicherzustellen, dass die Daten mit registriert sind
der Arbeitsablauf für die von Ihnen geplante Modellierung geeignet ist. Gehen
voraus und durchsuchen Sie Ihr Projektverzeichnis, finden Sie das DEM und LAI
Raster und öffnen Sie sie in QGIS (Sie müssen wahrscheinlich eine Farbkarte einstellen
für jeden, ansonsten werden alle Werte grau dargestellt).

Beachten Sie das Argument *-b* (auch bekannt als *--publisher*), das oben angegeben wurde
Befehl. Wenn angegeben, wird dieser optionale Parameter gespeichert in
der Herkunfts-Matadata-Speichereintrag des Rasters.

RegisterRaster ist ein generisches EcohydroLib-Tool, das weiß, wie es geht
Importieren Sie verschiedene Rastertypen in Ihren Workflow das *-t lai*
-Argument gibt an, dass wir ein LAI-Raster importieren (siehe
*Benutzerdefinierter lokaler Datenworkflow*, um zu erfahren, wie andere Raster importiert werden
Typen). RegisterRaster kopiert das importierte Raster in Ihr
Projektverzeichnis wird das Raster neu gesampelt und neu projiziert in
der Auflösung und dem Raumbezug des bereits vorhandenen DEM entsprechen
im Arbeitsablauf. Sie können die zu verwendende Resampling-Methode auswählen oder umkehren
Resampling deaktiviert, obwohl das Raster neu gesampelt wird, wenn der räumliche
Referenzsystem stimmt nicht mit dem des DEM überein siehe Hilfemeldung
für mehr Informationen.

An dieser Stelle haben wir genügend Geodaten in einem generischen Format
(z.B. GeoTIFF), um RHESSys-spezifische Datensätze mit RHESSysWorkflows zu erstellen.

#### Erstelle einen neuen GRASS-Standort

RHESSys erfordert, dass alle Geodaten, die zum Erstellen einer Weltdatei verwendet werden, und
Strömungstabelle für ein RHESSys Modell in einem GRASS GIS Mapset gespeichert werden. Gut
Beginnen Sie mit der Erstellung dieser Daten in RHESSysWorkflows, indem Sie ein neues GRASS . erstellen
Standort und Mapset in unserem Projektverzeichnis und das Importieren unserer
DEM in dieses Mapset:

CreateGRASSLocationFromDEM.py -p standard -d "RHESSys-Modell für Dead Run 5-Wasserscheide in der Nähe von Catonsville, MD"

Der Parameter *-d* (alias *--description") ist eine Textbeschreibung
dieser GRASS-Position muss dieser Parameter immer in Anführungszeichen gesetzt werden. Wenn du
wählen, können Sie benutzerdefinierte Namen der folgenden GRASS . angeben
Parameter:

1. dbase, das Verzeichnis innerhalb des Projektverzeichnisses, in dem Ihr GRASS
Standort wird gespeichert (standardmäßig 'GRASSData')
2. Standort (standardmäßig 'default')
3. Mapset (standardmäßig 'PERMANENT')

> Verwenden Sie die Option *--overwrite*, um GRASSLocationfromDEM to Create zu erstellen
> überschreibt den GRASS-Standort, der durch einen vorherigen Aufruf von . erstellt wurde
> GRASSLocationFromDEM erstellen. Beachten Sie, dass die meisten RHESSysWorkflows
>-Befehle bieten dieselbe Option. Die Möglichkeit, GRASS . zu überschreiben
>-Datensätze berücksichtigen den oft explorativen Charakter der Ökohydrologie
> Arbeitsabläufe zur Datenvorbereitung. Während die Daten überschrieben werden,
Der im Metadatenspeicher gespeicherte >-Befehlsverlauf behält eine Auflistung bei.
> der Reihenfolge, in der Sie alle Workflow-Schritte ausgeführt haben. Das kann dir helfen
>, um die Schritte nachzuvollziehen, die Sie unternommen haben, um zum aktuellen Workflow zu gelangen
>-Zustand.

Fahren Sie fort und öffnen Sie GRASS und verweisen Sie es auf die Datenbank namens *GRASSData* in
Ihr Projektverzeichnis und öffnen Sie dann das Mapset *PERMANENT* in
der Speicherort *Standard*. Sie sollten das DEM-Raster laden können
in die Kartenansicht. Wir verwenden GRASS, um die Ergebnisse der
nächsten Workflow-Schritte, also lassen Sie GRASS im Hintergrund geöffnet.

#### RHESSys Quellcode in Ihr Projekt importieren

Um Worldfiles und Flow-Tabellen zu erstellen, benötigt RHESSysWorkflows eine Kopie von
RHESSys-Quellcode. RHESSysWorkflows nutzt auch das neue RHESSys
[ParamDB](https://github.com/RHESSys/ParamDB) Datenbank und Python
Bibliotheken zur Generierung von Vegetation, Boden, Landnutzung und anderen Parametern
von RHESSys benötigt. RHESSysWorkflows ist nur kompatibel mit dem
Vorabversion von RHESSys 5.16 und späteren Versionen des Codes.
Derzeit und für Erstbenutzer die zuverlässigste Methode zum Importieren
ParamDB- und RHESSys-Quellcode in Ihr Projekt laden Sie die
Code von GitHub mit dem ImportRHESSysSource-Tool. Dies ist jedoch
Tool ist auch in der Lage RHESSys Quellcode zu importieren, der auf Ihrem
Computer. Auf diese Weise können Sie den Code aus einem früheren . importieren
Das RHESSysWorkflows-Projekt ParamDB wird immer von GitHub heruntergeladen,
auch wenn RHESSys Quellcode aus einer lokalen Quelle importiert wird.

Um ParamDB und den RHESSys-Quellcode herunterzuladen und in Ihrem
Projektverzeichnis geben Sie den folgenden Befehl aus:

ImportRHESSysSource.py -p Standard

Wenn Sie eine alternative Filiale auschecken möchten, verwenden Sie die Option *-b*, um
Geben Sie den zu verwendenden Git-Zweig von RHESSys an (z. B. 'develop'). Standardmäßig,
ImportRHESSysSource verwendet den *master*-Zweig, der der richtige ist
Zweig zur Verwendung mit RHESSys 5.18.

Sobald ImportRHESSysSource den Import des RHESSys-Quellcodes in
das Projektverzeichnis, es werden alle notwendigen Werkzeuge kompiliert, um
Erstellen Sie World-Files und Flow-Tabellen und kompilieren Sie gleichzeitig die RHESSys
binär. Sobald der Befehl abgeschlossen ist, öffnen Sie das Verzeichnis *rhessys* in
Ihr Projektverzeichnis. Hier sehen Sie das bekannte RHESSys
Verzeichnisstruktur zum Speichern von Modellparametern, Vorlagen,
Worldfiles, Flusstabellen, zeitliche Ereignisdateien und Modellausgaben die
RHESSys-Tools, die von ImportRHESSysSource kompiliert wurden, werden in das
*bin*-Verzeichnis des *rhessys*-Verzeichnisses. Beachten Sie auch, dass alle
Quellcode für RHESSys wird im Verzeichnis *src* gespeichert.

#### RHESSys Klimadaten importieren

Aufgrund der größeren Variabilität der Klimadatenformate und der
Komplexität von Zeitreihen-Workflows haben wir uns dafür entschieden, uns zu konzentrieren
Entwicklungsaufwand für RHESSysWorkflows zur Vereinfachung der
Erfassen und Bearbeiten von Geodaten, die für den Bau von RHESSys . erforderlich sind
Arbeitsdateien und Ablauftabellen. Dies bedeutet, dass der Modellierer
verantwortlich für den Aufbau der für den Bau notwendigen Klimadaten
RHESSys World Files und das Ausführen von Modellläufen.

RHESSysWorkflows bietet das ImportClimateData-Tool zum Importieren
RHESSys Klimadaten in Ihr Projekt. Um diesen Beispielworkflow auszuführen,
Beispiel-Klimadaten herunterladen
[hier](https://docs.google.com/file/d/0B7aK-9pTSLS-Q1NQbUJzVXZKeUE/edit?usp=sharing).
Entpacken Sie die Datei an einen Ort auf Ihrem Computer (z. B. zu Hause
Verzeichnis), führt dies zu einem Verzeichnis namens *clim* im*
Lage. Geben Sie den folgenden Befehl aus, um diese Daten zu importieren:

ImportClimateData.py -p standard -s /path/to/clim

Sie müssen */path/to/clim* durch den Pfad des Clim ersetzen
Ordner aus der oben heruntergeladenen Zip-Datei entpackt.

Damit Ihre eigenen Klimadaten mit ImportClimateData funktionieren, müssen die Daten
in einem eigenen Verzeichnis gespeichert werden, wobei jede Basisstation eine Datei hat
Name, der auf *.base* endet. Siehe die Hilfe für ImportClimateData für
Mehr Informationen.

#### Karte der Klimastationen erstellen

Wenn Ihr Studieneinzugsgebiet mehrere Klimastationen hat, würden Sie
verwenden möchten, müssen Sie eine Karte der Klimastationen verwenden, um jede zuzuordnen
Zone in Ihrer Weltdatei mit einer bestimmten Klimastation. RHESSysWorkflows
bietet das GenerateBaseStationMap-Tool zum Erstellen einer Rasterkarte
Ihrer Klimastationen mit Thiessen-Polygonen, die aus dem Klima abgeleitet wurden
Stationspunkte, diese Punkte müssen in einer Textdatei in einem Format angegeben werden
unterstützt von GRASS´s
[v.in.acsii](http://grass.osgeo.org/grass64/manuals/v.in.ascii.html) Tool.
Für dieses Tutorial verwenden wir einen Dummy-Punkt, der mit dem *bwi* verknüpft wird.
oben importierte Klimastation. Sie können diesen Punkt herunterladen
[hier](https://docs.google.com/file/d/0B7aK-9pTSLS-cmVWdmNxNThRc1U/edit?usp=sharing).
Entpacken Sie die Datei nach dem Herunterladen, um die Textdatei mit dem Punkt anzuzeigen.
das sollte so aussehen:

In einem realen Fall würde diese Datei zusätzliche Zeilen enthalten,
eine für jede Klimastation. Die erste Spalte ist die Basisstations-ID
und muss mit dem base_station_ID-Feld von $ . übereinstimmen.base-Datei
jeder Klimastation zugeordnet.

> Wenn wir später in diesem Tutorial die World-Datei-Vorlage erstellen,
> das Tool, das wir dazu verwenden, GenerateWorldTemplate, wird sicherstellen, dass
>, dass es für jeden einzelnen Rasterwert eine Klima-Basisstationsdatei gibt
> in Ihrer Basisstationskarte wird die Weltdateivorlage nicht generiert
>, wenn dies nicht der Fall ist.

Die zweite und dritte Spalte repräsentieren die X- und Y-Koordinaten (oder Ostwert
und Hochwert) des Punktmerkmals, das wir verwenden werden, um den Standort darzustellen
der Klimastation. Die letzte Spalte ist der Name der Klimastation
und sollte mit $ . übereinstimmen in $.base (d.h. wenn Ihre Basisstation
Dateiname ist 'bwi.base', das letzte Feld sollte 'bwi' lauten).

Jetzt können wir GenerateBaseStationMap verwenden, um: die Klimastation zu importieren
Punkte machen Thiessen-Polygone basierend auf den Punkten und rastern die Polygone:

GenerateBaseStationMap.py -p standard -b /path/to/dummy_stations1.txt

> Das GRASS-Tool
> [v.voronoi](http://grass.osgeo.org/grass64/manuals/v.voronoi.html)
> wird verwendet, um die Thiessen-Polygone zu generieren. Beachten Sie, dass einige Versionen von
> Dieses Tool kann fehlschlagen, wenn Sie nur zwei Punkte haben. Hoffentlich wird das
> behoben, wenn GRASS 6.4.3 später im Jahr 2013 veröffentlicht wird.

#### Wasserscheide abgrenzen und abgeleitete Datenprodukte generieren

RHESSysWorkflows automatisiert den Prozess der Abgrenzung Ihrer Studie
Wasserscheide basierend auf dem Standort des in . registrierten Abflussmessers
den Arbeitsablauf. Als Teil dieses Prozesses werden viele Datensätze benötigt, die von
RHESSys wird aus dem DEM abgeleitet. Um die Wasserscheide abzugrenzen:

DelineateWatershed.py -p standard -t 500 -a 1.5

Hier gibt der Parameter *-t* (alias *--threshold*) das Minimum an
Größe (in DEM-Zellen) für vom GRASS-Befehl generierte Unterwassereinzugsgebiete
[r.watershed](http://grass.osgeo.org/grass64/manuals/r.watershed.html).

Mit dem Parameter *-a* (alias *--areaEstimate*) können Sie a
Schätzung der Fläche (in km²) der abgegrenzten Wasserscheide.
DelineateWatershed meldet, ob die Wasserscheide innerhalb von 20 % von . liegt
das Gebiet. Sie können die abgegrenzte Wasserscheide in GRASS anzeigen, indem Sie
die Rasterkarte mit dem Namen *basin*. Wenn die Fläche oder die Form des
Die abgegrenzte Wasserscheide unterscheidet sich stark von dem, was Sie erwarten
müssen Sie variieren, wie DelineateWatershed Ihr Streamflow-Messgerät einrastet
das Stream-Netzwerk. Dies wird erreicht, indem entweder die *-s*
(alias *--streamThreshold*) oder Stream Threshold Parameter und/oder die
*-w* (alias *--streamWindow*) Parameter übergeben an
[r.findtheriver](https://svn.osgeo.org/grass/grass-addons/grass6/raster/r.findtheriver/description.html).

Um Probleme bei der Abgrenzung von Wassereinzugsgebieten zu beheben, ist es auch hilfreich, sich
das Original-Streamflow-Messgerät und das Snapflow-Messgerät überlagert
auf der Upslope Accumulated Area Map (UAA). DelineateWatershed will
Erstellen Sie Vektorlayer für jede der Streamflow-Messkoordinaten
(genannt *gage* und *gage_snapped*) sowie eine UAA-Rasterkarte (genannt
*uaa*).

> Obwohl wir nicht empfehlen, Änderungen an den Metadaten vorzunehmen
> von Hand lagern, als letzten Ausweg können Sie die Messstellenposition nach schnappen
> Hand mit GRASS und aktualisieren Sie das *gage_easting_raw* und
> *gage_northing_raw* Attribute im *rhessys* Abschnitt des
> Metadatenspeicher. Führen Sie dann DelineateWatershed wie zuvor mit dem aus
> Hinzufügen der Option *--overwrite*.

Für eine Auflistung der abgeleiteten Datensätze, die von DelineateWatershed generiert wurden,
Verwenden Sie den GRASS-Befehl *g.list rast* oder überprüfen Sie das DelineateWatershed
[Quelle
code](https://github.com/selimnairb/RHESSysWorkflows/blob/master/bin/DelineateWatershed.py).

RHESSysWorkflows bietet GeneratePatchMap, ein automatisiertes Tool für
Erstellen von gerasterten und gruppierten Patch-Maps. Gegitterte Patch-Maps bestehen aus
eines regelmäßigen Gitters gleicher Auflösung und Ausdehnung wie das DEM
verklumpte Karten können anhand der Höhe oder der topografischen Nässe erstellt werden
Index-Raster. Modellierer können auch benutzerdefinierte Patch-Maps verwenden, die über registriert wurden
RegisterRaster-Tool von EcohydroLib und importiert in GRASS mit
ImportRasterMapIntoGRASS (siehe unten für eine allgemeine Beschreibung dazu
Befehl).

Um eine gerasterte Patchmap zu erstellen, geben Sie Folgendes in Ihr Terminal ein:

GeneratePatchMap.py -p Standard -t Raster

So erstellen Sie eine verklumpte Höhen-Patch-Karte:

GeneratePatchMap.py -p Standard -t Klumpen -c Höhe

. und eine topografische Nässeindex-Klumpenkarte:

GeneratePatchMap.py -p Standard -t Klumpen -c wetness_index

Geclumpte Patch-Maps werden durch Aufrufen des GRASS-Befehls r.clump generiert generated
mit dem entsprechenden Quell-Raster als Import.

> Standardmäßig setzt GeneratePatchMap die Zonenkarte auf die des
> Patch-Karte, aber nur, wenn keine benutzerdefinierte Zonenkarte registriert wurde
> mit dem Workflow (z.B. über eine Kombination aus RegisterRaster und
> ImportRasterMapIntoGRASS siehe Anleitung für benutzerdefinierte Daten unten). Wenn du
> Ihre benutzerdefinierte Zonenkarte mit der Patchkarte überschreiben möchten, verwenden Sie die
> *--forceZone*-Option für GeneratePatchMap.

#### Erstellen einer Bodentexturkarte

Da wir die SSURGO-Tools von EcohydroLib verwendet haben, um prozentualen Sand zu erzeugen
und Prozentton-Rasterkarten für unser Einzugsgebiet können wir die GRASS
Add-on r.soils.texture zum Generieren von USDA-Bodentexturklassen, für die
Die ParamDB von RHESSys enthält Parameter. Es ist auch möglich zu verwenden
benutzerdefinierte Bodenkarten, die wir in den *benutzerdefinierten lokalen Daten . untersuchen
Workflow* Abschnitt unten.

Um unsere Bodentexturkarte in GRASS zu generieren, sowie die
entsprechenden RHESSys-Bodendefinitionsdateien verwenden Sie die
GenerateSoilTextureMap-Tool wie folgt:

GenerateSoilTextureMap.py -p Standard

Dieser Befehl gibt Informationen darüber aus, welche Bodentexturklassen
in der Bodentexturkarte gefunden wurden und welche RHESSys Boden
Standard-IDs, denen diese Klassen zugeordnet werden. Sie können den resultierenden Boden anzeigen
Textur-Map (mit dem Namen *soil_texture*) in GRASS. Die Bodendefinition
Dateien werden im *defs*-Verzeichnis des *rhessys*-Verzeichnisses gespeichert
in Ihrem Projektverzeichnis gespeichert.

#### LAI-Karte in GRASS importieren

Wir verwenden den allgemeinen Befehl ImportRasterMapIntoGRASS, um unsere . zu importieren
LAI-Map aus dem Projektverzeichnis in GRASS, wo RHESSys sein wird
nutzen können (Sie können auch eine LAI-Karte aus Ihrer Landbedeckung ableiten
Karte siehe unten):

ImportRasterMapIntoGRASS.py -p standard -t lai -m am nächsten

Der Parameter *-m* (auch bekannt als *--method*) gibt an, wie GRASS
Resample das Raster, das importiert wird. Wert-Resampling-Methoden sind
die von GRASS unterstützt werden supported
[r.resamp.interp](http://grass.osgeo.org/grass64/manuals/r.resamp.interp.html)
Befehl, sowie *none*, was ImportRasterMapIntoGRASS
um den Resampling-Schritt zu überspringen.

#### Landbedeckungskarten in GRASS erstellen

RHESSysWorkflows verwendet eine einzige Landbedeckungskarte, um die folgenden Karten zu generieren
von RHESSys verwendet:

- Vegetationstyp (Schicht)
- Landnutzung
- Straßen
- Undurchlässige Oberflächen
- Blattflächenindex (LAI optional)

Der erste Schritt bei der Erstellung dieser Karten besteht darin, die Landbedeckung zu importieren
Raster aus Ihrem Projektverzeichnis in GRASS mit
ImportRasterMapIntoGRASS:

ImportRasterMapIntoGRASS.py -p standard -t landcover -m am nächsten

In unserem Fall kam die Landbedeckungskarte in unserem Projektverzeichnis die
NLCD 2011-Daten, gehostet von USGS. RHESSysWorkflows unterstützt jedoch die Verwendung von
benutzerdefinierte Landbedeckungskarten, die über RegisterRaster registriert werden. In beiden Fällen,
wir müssen Raster-Reklassifizierungsregeln bereitstellen, damit
RHESSysWorkflows wird wissen, wie man Vegetation, Landnutzung,
Straßen-, Versiegelungs- und optional LAI-Karten aus der Landbedeckungskarte.
Dazu verwenden wir das Tool RegisterLandcoverReclassRules:

RegisterLandcoverReclassRules.py -p standard -k

NLCD2011 ist ein bekannter Landbedeckungstyp in RHESysWorkflows (zusätzlich zu NLCD2006),
Also brauchen wir nur *-k* (alias *--generateKnownRules*)
Möglichkeit. Für eine benutzerdefinierte Landbedeckungskarte könnten wir stattdessen das *-b* verwenden.
(alias *--buildPrototypeRules*) Option zum Generieren von Prototypregeln
die wir bei Bedarf bearbeiten können. Es ist auch möglich anzugeben, dass
vorhandene Reclass-Regeln sollten aus einem anderen Verzeichnis importiert werden
Ihren Computer mit dem Parameter *-r* (alias *--ruleDir*). Zu
fügen Sie LAI-Reklassifizierungsregeln hinzu, wenn Sie Prototypen oder vorhandene registrieren
Regeln müssen Sie den Parameter *-l* (alias *--includeLaiRules*) verwenden

> Zu den bekannten Regeln für NLCD2006 und NLCD2011, die mit RHESSysWorkflows ausgeliefert werden, gehören
> eine LAI-Reklassierungsregeldatei mit Werten für Grünland und Immergrün
> Nadel- und Laubwälder (beide gemäßigt) gezeichnet
> aus dem Internationalen Satelliten-Landoberflächenklimatologie-Projekt II
> (ISLSCP II)-Projekt. Diese Daten können [hier](http://daac.ornl.gov/cgi-bin/dsviewer.pl?ds_id=971) heruntergeladen werden.

Ob bekannte Regeln verwenden, Prototypregeln erstellen oder importieren
bestehenden Regeln führt RegisterLandcoverReclassRules zu den
die folgenden vier Regeldateien werden im *rules*-Verzeichnis von erstellt
Ihr Projektverzeichnis:

- stratum.regel
- landuse.rule
- undurchdringlich.Regel
- Straße.Regel
- lai-recode.rule (wenn die Option *--includeLaiRules* ausgewählt wurde)

Für dieses NLCD2011-Beispiel müssen diese Regeln nicht bearbeitet werden, aber
Sie sollten sich einen Moment Zeit nehmen, um zu sehen, wie diese Regeln funktionieren.
RHESSysWorkflows verwendet GRASSs
[r.reclass](http://grass.osgeo.org/grass64/manuals/r.reclass.html)
Befehl ([r.recode](http://grass.osgeo.org/grass64/manuals/r.recode.html)
zum Erstellen von LAI-Maps), und daher folgen die Regeldateien diesem Format.
Es ist wichtig zu beachten, dass die Regeln für die Neuklassifizierung der Landbedeckung für Stratum und
landuse muss zu Rasterkarten führen, deren Wertebeschriftungen der Klasse entsprechen
Namen, die in der RHESSys ParamDB-Datenbank vorhanden sind. Seien Sie also sehr vorsichtig
beim Bearbeiten der rechten Seite der Ausdrücke in Ihrer Schicht und
Regeln für die Neuordnung der Landnutzung.

Beachten Sie, dass Sie Änderungen an der Neuklassifizierung Ihres Projekts verfolgen können
Regeln in Ihren Projektmetadaten sollten Sie den RunCmd-Workflow verwenden
Befehl (lesen Sie den Abschnitt über benutzerdefinierte Workflows, um zu erfahren, wie Sie diesen verwenden.)
Werkzeug).

> Informationen zu NLCD-Klassen finden Sie [hier](http://www.mrlc.gov/nlcd2011.php)

Sobald die Regeln für die Neuklassifizierung der Bodenbedeckung in Kraft sind, ist es sehr einfach,
die aus den Landbedeckungsdaten abgeleiteten Rasterkarten generieren sowie
die Vegetations- und Landnutzungsdefinitionsdateien, die RHESSys this . benötigt
erfolgt mit folgendem Befehl:

GenerateLandcoverMaps.py -p standard

> Wenn Sie möchten, dass eine LAI-Map generiert wird, müssen Sie das *-l*
> (alias *--makeLaiMap*)-Parameter in der obigen Befehlszeile. Diese
> funktioniert nur, wenn Sie bekannte Regeln für die Neuklassifizierung der Landbedeckung verwenden, oder
>, wenn Sie angefordert haben, dass RegisterLandcoverReclassRules LAI einschließt
> Reklassifizieren Sie Regeln, wenn Sie Prototypregeln erstellen oder vorhandene Regeln verwenden.

Wie beim Schritt der Bodentexturkarte und der Definitionsgenerierung
GenerateLandcoverMaps liefert eine beschreibende Ausgabe der
Vegetations- und Landnutzungsdefinitionstypen, die im Raster angetroffen werden
Daten.

#### Erstellen der Weltdatei für eine Wasserscheide

Jetzt sind wir fast soweit, die Weltdatei für unsere Wasserscheide zu erstellen.
Zuerst müssen wir die Vorlage erstellen, aus der die Weltdatei erstellt wird
erstellt. Dazu verwenden wir das GenerateWorldTemplate-Tool.
Glücklicherweise ist dies sehr einfach, denn der Metadatenspeicher enthält
fast alle Informationen, die zum Erstellen der Vorlage erforderlich sind. Wenn du bist
mit mehreren Klimastationen und haben daher eine Basisstation
Karte, die Sie mit GenerateBaseStationMap erstellt haben, alles was Sie tun müssen
ist:

GenerateWorldTemplate.py -p standard

Wenn Sie eine einzelne Klimastation verwenden und kein Klima erstellt haben
Stationskarte müssen Sie die Klimastation wie folgt angeben:

GenerateWorldTemplate.py -p standard -c bwi

Hier verwenden wir die Klimastation namens *bwi*.

In beiden Fällen, wenn in Ihrem Workflow alle erforderlichen Informationen fehlen
Um die Weltvorlage zu erstellen, wird GenerateWorldTemplate mit beendet
ein entsprechender Fehler.

> Wenn Sie sehen möchten, wie die Vorlagendatei generiert wird, sowie andere
>-Informationen verwenden Sie die Option *-v* (auch bekannt als *--verbose*)

Verwenden Sie nun das CreateWorldfile-Tool, um eine World-Datei mit diesem zu erstellen
Vorlage:

CreateWorldfile.py -p standard -v

Wir haben die Befehlszeilenoption *-v* (alias *--verbose*) angegeben.
Dies druckt Details darüber, was CreateWorldfile und die Programme
es läuft in Ihrem Namen, tut. Dies wird empfohlen, da diese
Programme können auf komplexe Weise fehlschlagen, die CreateWorldfile möglicherweise nicht kann
zu erkennen, also möchten Sie wahrscheinlich wissen, was unter dem
Kapuze.

Wenn CreateWorldfile abgeschlossen ist, wird ein erstes Worldfile erstellt
namens *worldfile_init* im *worldfiles*-Verzeichnis im *rhessys*
Verzeichnis in Ihrem Projektverzeichnis.

Wie bei der Worldfile-Erstellung ist an dieser Stelle des Workflows
Der Metadatenspeicher von RHESSysWorkflows enthält fast alle Informationen
benötigt, um eine Flusstabelle mit dem Createflowpaths (CF) RHESSys . zu erstellen
Programm. Sie haben zwei Möglichkeiten, ob CF einen Flow erstellen soll
Tabelle, die Straßen enthält und/oder eine Oberflächenströmungstabelle enthält, um
Modellierung nicht-topographischer Routen von Dächern. Wir verlegen Straßen in
In diesem Beispiel werden Dächer für den *benutzerdefinierten lokalen Daten*-Workflow belassen
nachfolgend diskutiert.

Führen Sie CreateFlowtable wie folgt aus:

CreateFlowtable.py -p standard --routeRoads

Dies führt zur Erstellung einer Flow-Tabelle namens *world.flow*.
im *flow*-Verzeichnis Ihres *rhessys*-Verzeichnisses. Jetzt haben wir
fast alles, was wir zum Ausführen von RHESSys-Simulationen benötigen.

#### Initialisieren von Kohlenstoffspeichern der Vegetation vegetation

RHESSys bietet ein Programm namens LAIread zur Initialisierung der Vegetation
Kohlenstoffspeicher in Ihrem Worldfile.

> Hinweis, LAIread sollte nur für RHESSys-Simulationen mit
> statische Vegetation (d. h. nicht dynamischer Vegetationsmodus aktivieren über
> die Befehlszeilenoption *-g* für RHESSys).

Die Initialisierung von Kohlenstoffspeichern ist ein mehrstufiger Prozess, der Folgendes umfasst:
Ausführen von LAI-Lesevorgängen, um ein neu definiertes Worldfile zu generieren, das einen 3-Tages-Lauf läuft
RHESSys-Simulation zur Einbindung der neu definierten Weltdatei, Schreiben
eine neue Weltdatei mit initialisierten Kohlenstoffspeichern der Vegetation heraus.
RHESSysWorkflows automatisiert all diese Prozesse für Sie, es kann
sogar herausfinden, an welchem ​​Datum die 3-tägige RHESSys-Simulation gestartet werden soll
basierend auf Ihren Klimadaten.

> In der aktuellen Version von RHESSysWorkflows kann RunLAIRead nur
>, um die Startdaten der Simulation aus den Klimadaten der Punktzeitreihen zu lesen.
> Benutzer von ASCII- oder NetCDF-Grid-Klimadaten müssen LAI-Lesen ausführen von
>-Hand. Die nächste Version von RHESSysWorkflows wird Unterstützung für
> gerasterte Klimadaten an RunLAIRead.

Sie können RunLAIRead wie folgt ausführen:

RunLAIRead.py -p standard -v

Beachten Sie, dass wir auch hier die ausführliche Befehlszeilenoption verwenden. Das
neue GRASS-basierte Version von LAIread ist relativ neu und nicht so gut
getestet, daher empfehlen wir Ihnen, genau zu beobachten, was es tut.

LAIread stützt sich auf allometrische Beziehungen, um die Vegetation zu initialisieren
Kohlenstoffspeicher. Diese allometrischen Parameter wurden noch nicht hinzugefügt
RHESSys ParamDB. Eine Standardversion der Parameter für RHESSys base
Vegetationsklassen wird im RHESSys ParamDB-Quellcode gespeichert
[Repository](https://github.com/RHESSys/ParamDB/blob/develop/allometry/allometric.txt).
RHESSysWorkflows speichert diese Datei unter dem Namen *allometric.txt* in
den *allometry* Ordner der *ParamDB* Ihres *rhessys/db* Ordners.
Sie können diese Datei Ihren Anforderungen entsprechend bearbeiten, bevor Sie RunLAIRead ausführen.
Konsultieren Sie die
[RHESSys-Wiki](https://github.com/RHESSys/RHESSys/wiki)
Weitere Informationen zu allometrischen Beziehungen, die von LAIread verwendet werden.

Wenn Sie fertig sind, wird eine endgültige Weltdatei namens *world* im
*worldfiles*-Verzeichnis Ihres *rhessys*-Verzeichnisses. Mit diesem
worldfile sind Sie bereit, nachfolgende Modell-Workflow-Schritte durchzuführen
einschließlich: Spin-up, Kalibrierung, Szenariodurchläufe und Analyse und
Visualisierung.

Damit ist dieses Tutorial mit RHESSysWorkflows zum Erstellen eines
RHESSys World File und Flow Table mit Standard-Raumdaten
Infrastruktur.

#### Laufende RHESSys-Modelle
Wir brauchen noch etwas, bevor wir unser Modell ausführen können, eine *TEC-Datei*.
TEC steht für „temporal event controller“. Wir verwenden eine *TEC-Datei*
um RHESSys anzuweisen, zu bestimmten Zeiten während einer Simulation Dinge zu tun.
Zum Beispiel, um die Weltdatei neu zu definieren, um die Holzernte zu simulieren oder
Waldbrand. Wir verwenden auch tec-Dateien, um RHESSys mitzuteilen, welche Modellausgaben
soll wann produziert werden. Um eine TEC-Datei zu erstellen, die RHESSys anweist,
Drucken Sie die täglichen Modellausgaben ab dem 01.10.2008, gehen Sie wie folgt vor:

RunCmd.py -p standard echo "2008 10 1 1 print_daily_on" > standard/rhessys/tecfiles/tec_daily.txt

Weitere Informationen zum tec-Dateiformat finden Sie im [RHESSys wiki](https://github.com/RHESSys/RHESSys/wiki/Temporal-Event-Control-File-(TEC-file)).

Sobald Sie mit RHESSysWorkflows ein RHESSys-Modell erstellt haben, können Sie
Ihr Modell manuell. Dies erfasst jedoch keine Informationen über
model wird in Ihren Projektmetadaten ausgeführt. Wenn Sie Ihre aufnehmen möchten
in Ihren Projektmetadaten ausgeführt wird, verwenden Sie den Befehl RunModel:

RunModel.py -v -p standard -d "Testmodelllauf" --basin -pre test -st 2008 1 1 1 -ed 2010 10 1 1 -w world -t tec_daily.txt -r world.flow -- -s 0,07041256017 133,552915269 1,81282283058 -sv 4,12459677088 78.3440566535 -gw 0,00736592779294 0,340346799457

Beachten Sie das '--' in der Befehlszeile. Alle Befehlszeilenoptionen zuvor
die '--' sind Optionen, die von RunModel.py benötigt werden, einige davon sind auch üblich
RHESSys-Optionen. Alle Optionen nach dem '--' werden weitergegeben an
RHESSys. Weil die Projekt-Metadaten wissen, wo RHESSys in Ihrem
Projektverzeichnis, müssen Sie nicht den vollständigen Pfad eines der RHESSys-Eingaben angeben
Dateien (z. B. World-Dateien, Flow-Tabellen, Tec-Dateien usw.)
RunModel gibt den RHESSys-Konsolenausgang auf dem Bildschirm aus (wenn das *-v* oder verbose
Option ist wie oben angegeben) und speichert immer die gleiche Ausgabe in
eine Datei namens 'rhessys.out', die im Ausgabeordner für jeden Modelllauf gespeichert wird. Die Ausgabe
Der Ordner wird basierend auf dem Wert benannt, den Sie für das '-pre' oder Ausgabepräfix angeben
Möglichkeit.

###Arbeiten in Wassereinzugsgebieten außerhalb der USA

Die oben genannten Standard-Workflow-Schritte für die US-Geodatenerfassung sind nicht
Zugang zu Daten außerhalb der USA gewähren (per Definition). Wie auch immer es ist
weiterhin möglich, RHESSysWorkflows zur Entwicklung von RHESSys-Modellen für Wassereinzugsgebiete zu verwenden
außerhalb der USA. Eine Möglichkeit besteht darin, benutzerdefinierte lokale Daten zu verwenden, die beschrieben werden
[hier](#benutzerdefinierter-lokaler-daten-workflow). Wenn Sie in Australien arbeiten, EcohydroLib
(und als Erweiterung RHESSysWorkflows) bietet Zugriff auf 1-sekündige (

30 Meter) Auflösung
DEM-Daten (abgeleitet von SRTM-Daten) unter Verwendung von Webservice-Schnittstellen von
[Geoscience Australia](http://www.ga.gov.au/data-pubs/web-services/ga-web-services).
Auf diese Daten kann mit dem Befehl *GetGADEMForBoundingBox* zugegriffen werden. Ein typisches
Workflow würde wie folgt beginnen. Definieren Sie zunächst Ihr Studiengebiet mit dem
Befehl *RegisterStudyAreaShapefile*:

RegisterStudyAreaShapefile.py -p PROJECT_DIR -s /path/to/my/study/area/shapfile.shp

(Ersetzen Sie PROJECT_DIR durch den Namen Ihres EcohydroLib-Projekts).

Extrahieren Sie als Nächstes die Bounding-Box-Koordinaten für Ihr Untersuchungsgebiet:

GetBoundingboxFromStudyareaShapefile.py -p PROJECT_DIR

Laden Sie dann die DEM-Daten von Geoscience Australia herunter:

GetGADEMForBoundingBox.py -p PROJECT_DIR

Derzeit stehen drei Arten von DEM-Daten zur Verfügung:
* 1 Sekunde SRTM Digital Elevation Model of Australia
* 1 Sekunde SRTM Digitales Höhenmodell - hydrologisch erzwungen
* 1 Sekunde SRTM Digitales Höhenmodell - geglättet

Um die *1 Sekunde SRTM Digital Elevation Model of Australia* Daten zu erfassen,
Führen Sie *GetGADEMForBoundingBox* wie folgt aus:

GetGADEMForBoundingBox.py -p PROJECT_DIR -d dem_1s

um die *1 Sekunde SRTM Digital Elevation Model - Hydrologically Enforced* Daten zu erfassen:

GetGADEMForBoundingBox.py -p PROJECT_DIR -d dem_h_1s

und um die *1 Sekunde SRTM Digital Elevation Model - Smoothed* Daten zu erfassen:

GetGADEMForBoundingBox.py -p PROJECT_DIR -d dem_s_1s

Konsultieren Sie den [Geoscience Australia Metadatenkatalog](http://www.ga.gov.au/metadata-gateway/metadata/record/gcat_72759)
Weitere Informationen zu diesen Datensätzen.

Der Rest Ihres Workflows würde mit dem Importieren von Streamflow-Messgerätkoordinaten fortfahren
und nachfolgende Schritte beschrieben [hier](#import-streamflow-gage-coordinates).

Zusätzlich zu Australien DEM bietet EcohydroLib Zugriff auf Gridded
Bodendaten werden von CSIRO bereitgestellt und sind im Rahmen der
[Boden- und Landschaftsraster Australiens](http://www.clw.csiro.au/aclep/soilandlandscapegrid/)
Datensatz. Um diese Daten in Ihr Projekt herunterzuladen, verwenden Sie die
*GetSoilGridAustralia* Befehl:

GetSoilGridAustralia.py -p PROJECT_DIR

Dadurch wird eine Teilmenge des verfügbaren gerasterten Australiens heruntergeladen
Bodendaten aus dem australischen 3D-Datensatz Bodenattribute derzeit
*GetSoilGridAustralia* lädt die Prozent Sand, Prozent Schlick,
und Prozent Tonschichten. Daten für die ersten 1 m des Bodenprofils sind
heruntergeladen und ein tiefengewichteter Durchschnittswert für jedes Pixel ist
mit diesen Schichten erzeugt. Nachdem diese Daten heruntergeladen wurden,
Sie können den Befehl *GenerateSoilTextureMap* verwenden, um RHESSys . zu generieren
Bodentexturkarte und Parameter für USDA-Bodenklassen:

GenerateSoilTextureMap.py -p PROJECT_DIR

Siehe [oben](#generating-soil-texture-map) für weitere Details.

### Benutzerdefinierter lokaler Datenworkflow

In den folgenden Abschnitten wird beschrieben, wie Sie RHESSysWorkflows verwenden können, um
Erstellen Sie RHESSys-Eingabedateien mit benutzerdefinierten Daten, die bereits auf Ihrem
Computer. Im Gegensatz zum obigen Standard-Tutorial für räumliche Daten werden wir dies nicht tun
Geben Sie Daten für die folgenden Workflow-Schritte an. Stattdessen beschreiben wir
wie Ihre Daten formatiert werden sollen, damit sie mit jedem Workflow-Tool funktionieren.
Um Duplizierungen zu vermeiden, werden nur die Konzepte verwendet, die für die Verwendung lokaler Daten spezifisch sind
in RHESSysWorkflows werden diskutiert. Sie werden ermutigt, die zu lesen
Standard-Tutorial für Geodaten oben ebenfalls. Die Workflow-Sequenz
Im Folgenden wird nicht der einzige mögliche Workflow mit lokalen Daten behandelt.
Es ist auch möglich, Schritte aus diesem Beispiel-Workflow mit
Schritte aus dem Standard-Lernprogramm für räumliche Daten.

#### Importieren Sie ein DEM in Ihr Projekt

Bei Arbeiten in Wassereinzugsgebieten außerhalb des Geltungsbereichs des NHD (wie z
wenn Sie außerhalb der USA arbeiten) ist der erste Workflow-Schritt der Import
digitale Höhenmodelldaten mit dem RegisterDEM-Tool. Die DEM
zu importieren muss in einem Format vorliegen, das von gelesen werden kann
[GDAL](http://www.gdal.org/formats_list.html).

Führen Sie RegisterDEM wie folgt aus:

RegisterDEM.py -p PROJECT_DIR -d /path/to/my/DEM.tif -b "Stadt Springfield, benutzerdefiniertes LIDAR"

Um diesen Befehl auszuführen, ersetzen Sie *PROJECT_DIR* durch das absolute oder
relativer Pfad eines leeren Verzeichnisses, in dem Sie die Daten haben möchten und
Metadaten für Ihr zu speicherndes Projekt (d. h. Ihr Projektverzeichnis).
Es ist auch möglich, das DEM beim Import neu zu projizieren oder neu abzutasten. Sehen
Weitere Informationen finden Sie in der Hilfe von RegisterDEM (d. h. mit dem *-h*
Möglichkeit).

RegisterDEM führt dazu, dass das DEM in Ihr Projekt kopiert wird
Verzeichnis, auch die DEM-Ausdehnung wird verwendet, um die Begrenzung zu bestimmen
Box für das Untersuchungsgebiet wird ein Polygon der DEM-Ausdehnung erzeugt
und als Shapefile in Ihrem Projektverzeichnis gespeichert.

#### Verwenden Sie ein DEM mit eingebrannten Bächen und Gullys

Wenn Sie mit einem urbanisierten Einzugsgebiet arbeiten, ist dies oft notwendig
Bäche oder Regenrinnen in Ihr DEM zu "brennen", damit Sie richtig können
den "Kanalisationsschuppen" abgrenzen. Mit RHESSysWorkflows können Sie sowohl
"stream burned" und ein "non-burned"-Standard-DEM im gleichen Workflow.
Das gebrannte DEM wird nur für Vorgänge verwendet, die es erfordern (z.
Abgrenzung von Wasserscheiden, Erstellung von Fließtabellen) wird das Standard-DEM sein
Wird zur Bestimmung von Höhe, Neigung, Ausrichtung usw. verwendet. So verwenden Sie einen Bach
gebrannte DEM, gehen Sie wie folgt vor:

RegisterRaster.py -p PROJECT_DIR -t stream_burned_dem -r /path/to/my/burnedDEM.tif -b "City of Springfield, Custom LIDAR, Drainage gebrannt mit Whitebox GAT 3.1.2"

Sobald das gebrannte Stream-Raster mit dem Workflow registriert wurde,
Die Werkzeuge *DelineateWatershed* und *CreateFlowtable* werden dieses Raster verwenden könnenrast
anstelle des Standard-DEM werden alle anderen Tools, die das DEM verwenden, weitergeführt
um das Standard-DEM zu verwenden. Wenn Sie dieses Verhalten außer Kraft setzen möchten (z. B. um
Testen Sie den Effekt, den das verbrannte DEM auf die Abgrenzung von Wasserscheiden hat), können Sie
übergeben Sie die Option *--ignoreBurnedDEM* an *DelineateWatershed* oder *CreateFlowtable*,
wodurch sie stattdessen das Standard-DEM verwenden.

> Wir empfehlen die hervorragende Open-Source-Software [Whitebox GAT](http://www.uoguelph.ca/

Hydrogeo/Whitebox/)
> zum Brennen von Streams in DEM-Datasets.

#### Streamflow-Messgerätkoordinaten importieren

Die Koordinaten des mit Ihrem Einzugsgebiet verknüpften Abflussmessers
werden mithilfe des RegisterGage-Tools beim Workflow registriert. Das
Werkzeug nimmt als Eingabe ein Punkt-Shapefile mit einem oder mehreren Punkten
die WGS84-Lat-Lon-Koordinaten für das gewünschte Messgerät werden extrahiert
aus dem Shapefile. Diese Koordinaten werden in die Metadaten geschrieben
speichern, und ein neues Punkt-Shapefile, das einen Punkt nur für die
Das ausgewählte Messgerät wird im Projektverzeichnis erstellt.

Eine typische Methode zum Ausführen von RegisterGage ist:

RegisterGage.py -p PROJECT_DIR -g /path/to/gage/shapefile.shp -l DATASET_NAME -a GAGE_ID_ATTRIBUTE -d GAGE_ID

Um diesen Kommentar auszuführen, ersetzen Sie *PROJECT_DIR* wie oben, geben Sie die Eingabe an
Shapefile, das Sie verwenden möchten, der Name des Datensatzes innerhalb der
Shapefile, der Name des ID-Gage-Attributs im Datensatz und die
ID des gewünschten Messgeräts. Der Name des Datensatzes ist normalerweise derselbe
als Dateiname des Shapefiles (abzüglich der .shp). Wenn Sie sich nicht sicher sind,
Sie können das Befehlszeilentool verwenden
[ogrinfo](http://www.gdal.org/ogrinfo.html), das mit GDAL ausgeliefert wird.

#### Importieren von Daten in GRASS zur Verwendung mit RHESSys

Die folgenden Workflow-Schritte sind bei Verwendung von Standard
Geodaten oder benutzerdefinierte lokale Daten und werden hier nicht behandelt:

- Erstelle einen neuen GRASS-Standort
- Importieren Sie RHESSys Quellcode in Ihr Projekt
- RHESSys Klimadaten importieren
- Wasserscheide abgrenzen und abgeleitete Datenprodukte generieren
- Generieren Sie Landbedeckungskarten in GRASS

Ausführliche Informationen finden Sie im obigen Standard-Tutorial zu Geodaten.
auf diesen Schritten.

#### Andere Rasterebenen importieren

Für eine Liste aller aktuellen Rasterkartentypen, die von . unterstützt werden
EcohydroLib, führen Sie das RegisterRaster-Tool wie folgt aus:

Dadurch werden auch alle Resampling- und andere Importoptionen angezeigt
verfügbar.

Im Folgenden finden Sie eine Reihe von Beispielen, die zeigen, wie Sie einige von eingeben
diese Rastertypen. Alle Raster müssen in einem Dateiformat gespeichert werden
lesbar durch GDAL (siehe oben).

RegisterRaster.py -p PROJECT_DIR -t landcover -r /path/to/my/landcover_map.tif --noresample -b "Baltimore Ecosystem Study LTER" --force

Hier importieren wir eine Landbedeckungs-Rasterkarte, die aus dem
Baltimore Ecosystem Study LTER, wo wir RegisterRaster gebeten haben, dies nicht zu tun
das Raster erneut abtasten (es sei denn, sein räumliches Bezugssystem unterscheidet sich von
das DEM, d.h. die Auflösung der Rasterzellen wird nicht verändert).
Wir weisen RegisterRaster auch an, die Tatsache zu ignorieren, dass der Umfang
des Landbedeckungsrasters entspricht nicht genau der Ausdehnung der
DEM/Studiengebiet. Nach dem Import wird dringend empfohlen,
Visualisieren Sie die Landbedeckungskarte über dem DEM mit QGIS, um sicherzustellen, dass
dass die Landbedeckung einen angemessenen Teil Ihres Untersuchungsgebiets bedeckt.

> Bei Landbedeckungskarten empfehlen wir, kein Resampling durchzuführen, wenn
> Registrieren des Rasters mit RegisterRaster, aber lassen Sie stattdessen GRASS
> übernimmt das Resampling.

Um die Landbedeckungskarte im Projektverzeichnis verfügbar zu machen
RHESSys muss es wie folgt in GRASS importiert werden:

ImportRasterMapIntoGRASS.py -p PROJECT_DIR -t landcover -m am nächsten

Dadurch wird das Landbedeckungs-Raster in GRASS importiert und dann erneut gesampelt
das Raster mit der Nearest Neighbour Methode. Für eine Liste der gültigen
Resampling-Methoden führen Sie ImportRasterMapIntoGRASS mit der Option *-h* aus
Sie können auch *none* als Resampling-Methode und das Raster angeben
wird nicht nachbearbeitet.

Ab RHESSys 5.16 ist das Dienstprogramm createflowpaths (CF) in der Lage
um Oberflächenströmungstabellen zu erstellen, die nicht-topographische
Weiterleitung der Strömung von Dächern zu nahegelegenen undurchdringlichen und durchlässigen Bereichen.
RHESSys 5.16 kann separate Oberflächen- und unterirdische Strömungstabellen verwenden, um
simulieren die Auswirkungen einer solchen nicht-topografischen Streckenführung auf die Landschaft.
Weitere Informationen zur Verwendung von Oberflächen-Fließtabellen-Routing in RHESSys
[hier](https://github.com/RHESSys/RHESSys/wiki/Surface-Flowtable-Routing).

Um ein Dachkonnektivitäts-Raster zu importieren, verwenden Sie RegisterRaster wie folgt:

RegisterRaster.py -p PROJECT_DIR -t Roof_Connectivity -r /path/to/my/roof_map.tif --noresample --force

> Wie bei Landbedeckungskarten empfehlen wir, RegisterRaster nicht zuzulassen
> sampeln Dachkonnektivitäts-Raster neu, anstatt GRASS die Bearbeitung zu überlassen
>-Resampling. RegisterRaster verwendet GDAL zum Resampling von Rastern. GDAL
> ignoriert null/nodata Pixel beim Resampling, während GRASS's
> r.resamp.interp nicht. Wenn also eine Landbedeckung und ein Dach roof
>-Konnektivitäts-Raster, das nodata-Werte für alle Nicht-Dach-
> Pixel, werden in RegisterRaster neu abgetastet, sie können zu . werden
> falsch registriert, was zu einem ungültigen Oberflächen-Routing führt
>-Tabelle.

Dann stellen Sie Ihr Konnektivitäts-Raster auf dem Dach für RHESSys von . zur Verfügung
in GRASS importieren:

ImportRasterMapIntoGRASS.py -p PROJECT_DIR -t Roof_connectivity -m nächstgelegen

Wie oben im Standard-Tutorial zu Geodaten beschrieben,
EcohydroLib/RHESSysWorkflows erfordert, dass der Benutzer eigene
LAI-Daten, die mit RegisterRaster in ein Projekt importiert werden können:

RegisterRaster.py -p PROJECT_DIR -t lai -r /path/to/my/lai_map.tif --force

Machen Sie jetzt Ihr LAI-Raster für RHESSys verfügbar, indem Sie es in
GRAS:

ImportRasterMapIntoGRASS.py -p PROJECT_DIR -t lai -m none

Eine benutzerdefinierte Patch-Map kann wie folgt in ein Projekt importiert werden:

RegisterRaster.py -p PROJECT_DIR -t patch -r /path/to/my/patch_map.tif --noresample

Stellen Sie dann Ihr Patch-Raster für RHESSys zur Verfügung, indem Sie es in
GRAS:

ImportRasterMapIntoGRASS.py -p PROJECT_DIR -t patch -m none

Eine benutzerdefinierte Bodenkarte kann wie folgt in ein Projekt importiert werden:

RegisterRaster.py -p PROJECT_DIR -t Boden -r /path/to/my/soils_map.tif -b "Brian Miles [email protected]>, basierend auf Feldbeobachtungen"

Dann stellen Sie Ihr Boden-Raster für RHESSys zur Verfügung, indem Sie es in importieren
GRAS:

ImportRasterMapIntoGRASS.py -p PROJECT_DIR -t Böden -m none

Das GeneratePatchMap-Tool verwendet die Patch-Map als Zone
Karte. Wenn Sie eine andere Karte für die Zonenkarte verwenden möchten, gehen Sie wie folgt vor:
Folgendes nach dem Ausführen von DelineateWatershed:

RegisterRaster.py -p PROJECT_DIR -t zone -r /path/to/my/zone_map.tif -b "Brian Miles [email protected]>, Klimastationszonen basierend auf der Verfallsrate"

Stellen Sie dann Ihr Zonenraster für RHESSys zur Verfügung, indem Sie es in
GRAS:

ImportRasterMapIntoGRASS.py -p PROJECT_DIR -t zone -m none

Standardmäßig wird beim Erstellen der World-Datei für keine Isohyet-Map verwendet
eine Wasserscheide. Wenn Sie eine Isohyet-Karte verwenden möchten, gehen Sie wie folgt vor:
Ausführen von GenerateWorldTemplate:

RegisterRaster.py -p PROJECT_DIR -t isohyet -r /path/to/my/isohyet_map.tif -b "Brian Miles [email protected]>, isohyet map"

Machen Sie dann Ihr Isohyet-Raster für RHESSys verfügbar, indem Sie es in
GRAS:

ImportRasterMapIntoGRASS.py -p PROJECT_DIR -t isohyet -m none --integer

> Beachten Sie, dass wir ImportRasterMapIntoGRASS anweisen, die Isohyet
> Rasterwerte beim Import in Ganzzahlen umwandeln. Dies ist aufgrund von Einschränkungen notwendig
> in der aktuellen Version des RHESSys Tools grass2world. Wenn Sie das tun,
> Integer-Konvertierung, ImportRasterMapIntoGRASS multipliziert das Raster
>-Werte um 1000, was drei signifikante Stellen ergibt. Um einen anderen Wert zu verwenden,
> Geben Sie die Option *--multiplier* an.

#### Generieren von RHESSys-Definitionen für benutzerdefinierte Bodendaten

Wenn Sie benutzerdefinierte Bodendaten mit RHESSysWorkflows verwenden, müssen Sie
Bodendefinitionsdateien, bevor Sie eine Weltdatei erstellen können. Erschaffen
Bodendefinitionen müssen Sie zuerst Raster-Reklassifizierungsregeln erstellen, die
zwischen Ihrem Bodentyp und einem RHESSys ParamDB bekannten Bodentyp. Beim
enthält ParamDB Definitionen aus der Literatur für
USDA-Bodentexturen. Sie können jedoch benutzerdefinierte Bodenparameter laden in
Ihre eigene lokale Kopie von ParamDB. Weitere Informationen finden Sie in der ParamDB
[README](https://github.com/RHESSys/ParamDB).

Gehen Sie wie folgt vor, um prototypische Bodenreklassifizierungsregeln für ein Projekt zu erstellen:

RegisterCustomSoilReclassRules.py -p PROJECT_DIR -b

Hier verwenden wir den Befehl *-b* (alias *--buildPrototypeRules*)
Linienoption. Dies führt zur Erstellung einer Datei namens
*soils.rule* im Verzeichnis *rules* Ihres Projektverzeichnisses. Sie
müssen diese Datei nach Bedarf bearbeiten, um Ihre benutzerdefinierten Bodentypen abzubilden
zu ParamDB-Bodentypen.

> Achten Sie darauf, dass die Bodenklassennamen auf der rechten Seite jedes
> Reklassifizierungsregel entspricht den Bodenklassennamen in ParamDB

Sie können auch vorhandene Bodenreklassierungsregeln wie folgt importieren:

RegisterCustomSoilReclassRules.py -p PROJECT_DIR -r /path/to/my/existing/reclass_rules/

Der Parameter *-r* (alias *--ruleDir*) muss auf ein Verzeichnis zeigen, das
enthält eine Datei namens bodens.rule. Dies wird in die kopiert
*rules*-Verzeichnis Ihres Projektverzeichnisses.

Sobald Sie gültige Regeln für die Bodenreklassifizierung eingerichtet haben, können Sie
RHESSys Bodenparameter-Definitionsdateien für Ihre benutzerdefinierten Böden mit
der folgende Befehl:

GenerateCustomSoilDefinitions.py -p PROJECT_DIR

Dieses Tool druckt Informationen zu jedem Bodentyp auf den Bildschirm
angetroffen und die RHESSys ParamDB-Bodenparameterklassen, die sie abbilden
zu. Wenn Sie keinen solchen Ausdruck sehen, überprüfen Sie Ihre Regeldatei für die Bodenreklassifizierung
um sicherzustellen, dass es richtig ist. Die resultierenden Bodendefinitionsdateien werden
in das *defs*-Verzeichnis im *rhessys*-Verzeichnis Ihres
Projektverzeichnis.

> Denken Sie daran, dass die meisten RHESSysWorkflows-Befehle das *--overwrite* unterstützen
>-Befehlszeilenoption zum Überschreiben vorhandener Daten im
> Projektverzeichnis oder in GRASS.

#### Erstellen einer World-File-Vorlage in Gebieten mit geringer Neigung

Aufgrund von Einschränkungen in der aktuellen Version von RHESSys' *grass2world*
Neigungswerte unter 1,0 werden auf 0,0 gekürzt. Dies bewirkt
Werte von NaN (d. h. keine Zahl), um sich für den sphärischen Durchschnitt zu ergeben
der Aspektberechnung. Um dies zu umgehen, können Sie die
*--aspectMinSlopeOne* Befehlszeilenoption zum Anweisen
*GenerateWorldTemplate*, um eine Pistenkarte zu verwenden, deren Mindestwert 1.0 . beträgt
bei der Berechnung des sphärischen Mittelwerts des Aspekts:

GenerateWorldTemplate.py -p PROJECT_DIR --aspectMinSlopeOne -c MY_CLIMATE_STATION1

#### Erstellen einer Oberflächenströmungstabelle mit einer Dachkonnektivitätskarte

Wenn Sie in Ihrem Workflow eine Dachkonnektivitätskarte verwenden, müssen Sie
weisen Sie CreateFlowtable explizit an, die Dachkonnektivitätskarte zu verwenden, um
eine Oberflächenströmungstabelle erstellen. Gehen Sie wie folgt vor:

CreateFlowtable.py -p PROJECT_DIR --routeRoofs --routeRoads

Hier verwenden wir sowohl die Optionen *--routeRoofs* als auch *--routeRoads*.
Sie müssen nicht beide zusammen verwenden, aber normalerweise beim Modellieren
Konnektivität auf dem Dach arbeiten Sie in einer Wasserscheide, die auch über
Straßen, deren Auswirkungen auf die Streckenführung Sie ebenfalls berücksichtigen sollten.

#### Erstellen des Worldfiles und Initialisieren der Kohlenstoffspeicher der Vegetation

Die folgenden Workflow-Schritte sind bei Verwendung von Standard
Geodaten oder benutzerdefinierte lokale Daten und werden hier nicht behandelt:

- Erstellen der Weltdatei für eine Wasserscheide
- Initialisieren von Kohlenstoffspeichern in der Vegetation

Ausführliche Informationen finden Sie im obigen Standard-Tutorial zu Geodaten.
auf diesen Schritten.

RHESSysWorkflows bietet viele Werkzeuge zur Erstellung von RHESSys-Modellen,
Es gibt jedoch viele andere mögliche Tools und Workflow-Schritte
mit dem man ein Modell bauen kann. Um beliebige Befehle zuzulassen
an Daten durchzuführen, die in einem Projektverzeichnis gespeichert sind,
RHESSysWorkflows bietet den RunCmd-Befehl, zum Beispiel Sie
Möglicherweise müssen Sie Ihre Worldfile-Vorlage bearbeiten und dann *grass2world* erneut ausführen.
von Hand:

RunCmd.py -p PROJECT_DIR cp PROJECT_DIR/rhessys/templates/template PROJECT_DIR/rhessys/templates/template.orig
RunCmd.py -p PROJECT_DIR emacs PROJECT_DIR/rhessys/templates/template
export PATH=PROJECT_DIR/rhessys/bin:$
RunCmd.py -p PROJECT_DIR PROJECT_DIR/rhessys/bin/g2w .

(Es ist notwendig, die Kopie des Projektverzeichnisses manuell hinzuzufügen
RHESSys-Binärdateien auf Ihrem Weg, weil grass2world ein Hilfsprogramm ausführt
genannt *rat*, das muss in deinem Weg sein)

Obwohl RHESSysWorkflows nicht in der Lage ist, vollständige Metadaten zu erfassen
über die Eingabe- und Ausgabedateien, die von ausgeführten Befehlen verwendet und erzeugt werden
über RunCmd wird ein Eintrag in den Verarbeitungsverlauf geschrieben
Ihrer Projektmetadaten. Auf diese Weise haben Sie zumindest eine Aufzeichnung der
benutzerdefinierte Workflow-Schritte, die Sie auf die Daten in Ihrem Projektverzeichnis angewendet haben.

#### Mehrere Worldfiles basierend auf Subbasins erstellen

Für große Modelldomänen kann es wünschenswert sein, Ihre Wasserscheide aufzubrechen
in mehrere Weltdateien. RHESSysWorkflows ermöglicht Ihnen dies mit
den Befehl *CreateWorldfileMultiple*:

CreateWorldfileMultiple.py -p PROJECT_DIR

Dadurch wird eine Weltdatei für jedes für Sie abgegrenzte Teilbecken erstellt
Wasserscheide.

Sobald Sie mehrere Worldfiles erstellt haben, können Sie entsprechende
Flow-Tabellen mit dem Befehl *CreateFlowtableMultiple*:

CreateFlowtableMultiple.py -p PROJECT_DIR

*CreateFlowtableMultiple* unterstützt die gleichen Befehlszeilenoptionen wie
sein Gegenstück *CreateFlowtable*.

Schließlich können Sie die Kohlenstoff- und Stickstoffspeicher der Vegetation initialisieren
für mehrere Worldfiles mit *RunLAIReadMultiple*:

RunLAIReadMultiple.py -p PROJECT_DIR

### Visualisierung der RHESSys-Ausgabe

RHESSysWorkflows enthält Tools zur Visualisierung der RHESSys-Modellausgabe.

> Beachten Sie, dass sich diese Tools noch in der Entwicklung befinden, aber Beta-Versionen
> werden zu Ihrer Bequemlichkeit bereitgestellt Funktionen und Optionen können
> ohne Vorankündigung ändern.

Das erste Tool, *RHESSysPlot*, erstellt Diagramme für die Beckenskala
Variablen wie Streamflow. Dieses Tool ist sehr flexibel und beinhaltet
die Fähigkeit, beobachtete Daten im Vergleich zu modellierten Daten darzustellen und Daten zu plotten
für mehrere Simulationen. Eine prototypische Verwendung, um beobachtete und
simulierte Ganglinien mit Niederschlag auf einer zweiten y-Achse ist wie
folgt:

RHESSysPlot.py --plottype standard -o PATH_TO_OBSERVED -d PATH_TO_SIMULATION/rhessys_basin.daily -c streamflow --secondaryData PATH_TO_SIMULATION/rhessys_basin.daily --secondaryColumn precip --secondaryLabel "Regenfall (mm/Tag 5)" -t " l "Testsimulation" -f test_plot --figureX 8 --figureY 3 -y "Streamflow (mm/Tag)" --color magenta

> Gehe [hier](https://drive.google.com/file/d/0B7aK-9pTSLS-Q0JDeE4wQmN2VVU/edit?usp=sharing)
> zum Herunterladen eines beobachteten Beispielstromflusses für das Einzugsgebiet der DR5-Studie
> im ersten Teil dieses Tutorials verwendet

Die Optionen *--figureX* und *--figureY* steuern die Größe des Plots (in
Zoll). RHESSysPlot ermöglicht Ihnen auch die Erstellung von Standardzeitreihen, Semi-Log
Skalenzeitreihen und kumulative Verteilungsfunktionsdiagramme. Für ein volles
Beschreibung der Optionen verwenden Sie die Option *--help*:

Neben der Erstellung statischer Diagramme der Ausgabevariablen im Beckenmaßstab,
RHESSysWorkflows bietet ein Tool, *PatchToMovie*, zum Erstellen von Animationen
von Patch-Scale-Ausgabevariablen. Um dieses Tool zu verwenden, müssen Sie zuerst
haben RHESSys-Simulationen, für die eine Patch-Scale-Ausgabe erstellt wurde
(z.B. mit der Ausgabeoption *-p*). Das folgende Beispiel erstellt
eine 30-Bilder-pro-Sekunde-Animation für die Infiltration:

PatchToMovie.py -p PROJECT_DIR -d PATH_TO_SIMULATION_WITH_PATCH_OUTPUT/rhessys_patch.daily -o OUTPUT_DIRECTORY -f OUTPUT_FILENAME -v "recharge * 1000.0" --mask GRASS_RASTER_LAYER --overlay GRASS_LAY_LAY_RASS_LAYER_LAY_LAY_LAY_Ps_infiltration --ps

Beachten Sie, dass die Variable ein beliebiger mathematischer Ausdruck sein kann
(mit '+', '-', '*' und '/') RHESSys-Variable auf Patch-Ebene kombinieren
Namen sowie numerische Konstanten (wie im Beispiel). Beim Benutzen
Bei solchen Ausdrücken sollten Sie für jeden Frame in Ihrem . einen Titel angeben
Animation mit der Option *-t* (auch bekannt als *--mapTitle*) (ansonsten der Ausdruck
wird als Titel verwendet, der wahrscheinlich nicht auf den Rahmen passt).

Wenn Sie die Simulationsausgabe (z. B. *-r*) und das GRASS-Mapset (z. B. *-g*) angeben,
Es ist wichtig, dasselbe GRASS-Mapset zu verwenden, das zum Erstellen der
worldfile verwendet, um die Simulation auszuführen.

Für eine vollständige Beschreibung der Optionen verwenden Sie die Option *--help*:

*PatchToMovie* verwendet ein Befehlszeilenprogramm namens *ffmpeg* zum Kodieren
einzelne Maps in eine Filmdatei. Um *ffmpeg* zu installieren, gehen Sie wie folgt vor:

#### OS X
- Installieren Sie [Homebrew](http://brew.sh)
- Installiere *ffmpeg*:

#### Linux (Debian/Ubuntu-basierte Systeme)
- Installieren Sie *ffmpeg* (und *vlc* zum Anzeigen von Animationen):

sudo apt-get install ffmpeg vlc

Schließlich müssen Sie Ihrer EcohydroLib-Konfigurationsdatei einen Eintrag hinzufügen. Zum
OSX:

[RHESSYS]
PATH_OF_FFMPEG = /usr/local/bin/ffmpeg

[RHESSYS]
PATH_OF_FFMPEG = /usr/bin/ffmpeg

Siehe [Konfigurationsdatei von EcohydroLib und RHESSysWorkflows einrichten](#setup-ecohydrolib-and-rhessysworkflows-configuration-file)
Weitere Informationen zum Einrichten Ihrer Konfigurationsdatei.

### Veraltete Installationsanweisungen

#### OS X 10.7 bis 10.10 mit Kyngchaos GIS-Paketen

##### Xcode installieren (OS X-Entwicklertools):
- Xcode über den App Store installieren

- Stellen Sie sicher, dass die Xcode-Befehlszeilentools installiert sind, indem Sie die
über die Befehlszeile (z. B. über die Terminal-App):

- Stimmen Sie der Xcode-Lizenz zu, indem Sie den folgenden Befehl ausführen (nur wir
Führen Sie diesen Befehl aus, um zu erzwingen, dass Xcode uns die Lizenz anzeigt): sudo cc

##### GIS-Tools installieren: GRASS & QGIS
Beachten Sie, dass GRASS Version 6.4 für RHESSysWorkflows erforderlich ist (GRASS 7.0 ist nicht
derzeit unterstützt). GRASS wird intern verwendet, um den Workflow durchzuführen
Schritte (die zur Erstellung von RHESSys World Files und Flow Tables führen).
Sie werden es auch nützlich finden, GRASS zu verwenden, um die Ergebnisse von zu visualisieren
einige Workflow-Schritte.

> Bevor Sie GRASS usw. unter OS X 10.8, 10.9 oder 10.10 installieren,
> muss die Installation von Anwendungen aus einer beliebigen Quelle aktivieren.
> Öffnen Sie dazu *Systemeinstellungen > Sicherheit & Datenschutz > Allgemein*
> und wählen Sie "Apps heruntergeladen von überall zulassen". Dadurch entlarvt
> Ihren Computer auf weitere Sicherheitsrisiken durch heruntergeladene Software. Wir
> empfehlen, diese Einstellung zurückzusetzen, wenn Sie fertig sind
>-Installation.

Um GRASS unter OS X zu installieren, besuchen Sie http://www.kyngchaos.com/software/grass

Hier müssen Sie Folgendes herunterladen und installieren:

1. GDAL Komplettes Framework
2. FreeType-Framework
3. Kairo-Rahmen
4. PIL (Python-Bildgebungsbibliothek)
5. GRASS.app

Während Sie dort sind, empfehlen wir Ihnen, auch QGIS (Quantum GIS) zu installieren.

Installieren Sie zusätzlich zu GRASS und den oben installierten Komponenten:

1. NumPy von http://www.kyngchaos.com/software/python
2. SciPy von http://www.kyngchaos.com/software/python
2. Matplotlib-Python-Modul von http://www.kyngchaos.com/software/python
3. QGIS von http://www.kyngchaos.com/software/qgis

QGIS ist nützlich, um die Ausgabe für frühere Arbeitsablaufschritte zu visualisieren, die dem Importieren von Daten in GRASS vorausgehen.

##### RHESSysWorkflows Python-Module installieren (einschließlich EcohydroLib)
Vor der Installation von RHESSysWorkflows müssen wir einige installieren
Abhängigkeiten von Hand (das ist ärgerlich, aber unvermeidlich):

sudo pip install pandas patsy

Dies ist notwendig, weil eine andere Abhängigkeit (statsmodels) erfordert
dass wir zuerst seine Abhängigkeiten installieren. Wenn Sie XCode 5.1 oder höher ausführen,
Sie können auf diesen Fehler stoßen:

clang: Warnung: unbekanntes Argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
clang: Hinweis: Dies wird in Zukunft ein schwerer Fehler sein (kann nicht zu einer Warnung herabgestuft werden)
clang: Warnung: Argument während der Kompilierung nicht verwendet: '-mno-fused-madd'

Wenn der obige Fehler nicht angezeigt wird, überspringen Sie den nächsten Schritt. Um zu umgehen
den Fehler, installieren Sie die Abhängigkeiten von statsmodels auf diese Weise (Sie werden wahrscheinlich
dies kopieren und einfügen möchten, anstatt es einzugeben):

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pandas patsy

Auch das ist ärgerlich, aber (vorerst) unumgänglich.

Um RHESSysWorkflows und seine Abhängigkeiten (einschließlich EcohydroLib) zu installieren,
Geben Sie Folgendes von Ihrem Terminal aus ein, wenn Sie XCode 5.0 oder früher verwenden:

sudo pip install rhessysworkflows

Wenn Sie Xcode 5.1 (aber nicht Xcode 6.1 oder höher) ausführen, müssen wir
Setzen Sie die ARCHFLAGS-Variable wie oben:

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install rhessysworkflows

Auch hier führen Sie den obigen Schritt nur aus, wenn Sie Xcode 5.1 und nicht Xcode 6.1 ausführen.

Dies kann eine Weile dauern, da einige der Module auf Nicht-Python angewiesen sind
Code, der kompiliert werden muss.

> Warum sind GDAL Python-Bibliotheken nicht als Abhängigkeit von not enthalten?
> RHESSysWorkflows? Dies soll Benutzern von OS X 10.7 das Leben erleichtern
> und 10.8. Für diese Betriebssysteme ist das GDAL-Komplettinstallationsprogramm, das
> begleitet GRASS installiert GDAL Python-Module in der Kopie von
> Python 2.7, das mit dem Betriebssystem geliefert wird, und das GDAL-Python-Modul tut dies
> unter OS X nicht erfolgreich selbst erstellt, was dazu führen würde, dass
> rhessysworkflows-Installation schlägt fehl. Linux-Benutzer müssen sicherstellen
> sie installieren zusätzlich zu GDAL selbst GDAL-Python-Module
> (z. B. über ein Begleitpaket oder durch 'sudo pip install GDAL').

##### Installieren Sie GRASS Addons für RHESSysWorkflows
Befolgen Sie diese Schritte, um die von RHESSysWorkflows benötigten GRASS-Addons zu installieren:

1. Zuerst GRASS . starten
- Doppelklicken Sie auf das Symbol *GRASS-6.4* in Ihrem Anwendungsordner

2. Erstellen Sie einen neuen Standort (egal wo, wir verwenden ihn nur zum Ausführen
den g.extension-Befehl, um die Erweiterungen zu installieren)
3. Installieren Sie r.soils.texture

Weitere Informationen zu diesen Addons (r.soils.texture und r.findtheriver) finden Sie unter:
- [r.findtheriver](http://grasswiki.osgeo.org/wiki/AddOns/GRASS_6#r.findtheriver)
und r.soils.texture
- [r.soils.texture](http://grasswiki.osgeo.org/wiki/AddOns/GRASS_6#r.soils.texture).

##### Konfigurationsdatei für EcohydroLib und RHESSysWorkflows einrichten
- Laden Sie eine [Prototyp-Konfiguration] (https://raw.github.com/selimnairb/RHESSysWorkflows/master/docs/config/ecohydro-OSX.cfg) herunter.

- Speichern Sie in einer Datei namens '.ecohydro.cfg', die in Ihrem Home-Verzeichnis gespeichert ist
und ersetzen Sie alle Vorkommen von *&ltmyusername&gt* durch Ihren Benutzernamen
(Um Ihren OS X-Benutzernamen herauszufinden, verwenden Sie den Befehl *whoami* in
Terminal).

- Setzen Sie die Umgebungsvariable ECOHYDROLIB_CFG, damit RHESSysWorkflows
kann Ihre Konfigurationsdatei finden

+ Gehen Sie vom Terminal aus wie folgt vor:

echo "ECOHYDROLIB_CFG=$ . exportieren/.ecohydro.cfg" >>

+ Bash-Profil neu laden (oder schließen und ein neues Terminal-Fenster öffnen):

Damit sind die Installations- und Konfigurationsanweisungen für OS X abgeschlossen
10.7 bis 10.10 mit Kyngchaos GIS-Paketen.

#### OS X 10.6
Apple und damit viele Drittanbieter von Software nicht mehr
unterstützt OSX 10.6. Wenn Sie noch OS X 10.6 verwenden, möchten Sie vielleicht
erkunden
Optionen](http://arstechnica.com/apple/2014/03/snow-leopard-updates-are-probably-done-here-are-your-os-x-upgrade-options/)
da viele ältere Macs neuere Betriebssysteme ausführen können, bis einschließlich
Die neueste version. Wenn Ihr Mac noch etwas Leben in sich hat, ist es das
Wichtig für ein Upgrade von OS X 10.6 diese Version ist nicht mehr verfügbar
Sicherheitsupdates von Apple erhalten und neuere Versionen haben
mehr Sicherheitsfunktionen durch Design.

Wenn Sie RHESSysWorkflows unter OS X 10.6 installieren möchten, befolgen Sie die
Anweisungen unten (obwohl wir keinen OS X 10.6-Computer mehr haben, um
testen, damit wir bei Problemen nicht weiterhelfen können).

Aufgrund seines Alters sind noch einige Installationsschritte erforderlich unter
OSX 10.6. Sobald Apple diese Version des Betriebssystems nicht mehr unterstützt,
Die Unterstützung für OS X 10.6 wird auch aus nachfolgenden Versionen von . entfernt
RHESSysWorkflows. Wenn Sie daran denken, von OS X 10.6 auf upgrading zu aktualisieren
10.9 aus anderen Gründen kann dies weitere hinzufügen.

> Sie müssen das *sudo*-Befehlszeilentool verwenden, um viele von
> die für EcohydroLib/RHESSysWorkflows benötigten Komponenten. Das Sudo
Mit dem Befehl > können Sie andere Befehle als Superuser ausführen. Unter Betriebssystem
> X, standardmäßig haben nur Benutzer, die 'Administratoren' sind, die Berechtigung zum Ausführen
> sudo. Um zu überprüfen, ob Ihr Benutzerkonto ein Administrator ist, oder um
> Ihren Benutzer ein Administrator öffnen *Systemeinstellungen > Benutzer &
> Gruppen*. Beachten Sie, dass Ihr Konto zur Verwendung von sudo auch über
> ein nicht leeres Passwort. Siehe diesen Apple-Support
> [Artikel](http://support.apple.com/kb/HT4103?viewlocale=en_US&locale=en_US)
> für weitere Informationen.

##### Laden Sie Python 2.7 herunter und installieren Sie es von: http://www.python.org/download/

Stellen Sie nach Abschluss der Installation sicher, dass Python 2.7 das
Standard-Python-Version, indem Sie im Terminal Folgendes tun:

Dadurch wird der Python-Interpreter geladen. Die erste Ausgabezeile wird
die Python-Versionsnummer anzeigen. Geben Sie *exit()* ein, um die
Dolmetscher.

##### Setuptools herunterladen von: https://pypi.python.org/pypi/setuptools/0.8
Installieren Sie die Setuptools wie folgt:
1. Entpacken Sie das Archiv, indem Sie es im Finder doppelklicken
2. Vom Terminal:

CD-Setuptools-0.8
sudo python ez_setup.py

##### Xcode installieren (OS X-Entwicklertools)
1. Downloaden und installieren Sie Xcode 3.2.6 und iOS SDK 4.3 für Snow Leopard
[hier](https://developer.apple.com/downloads/index.action) (Dies
erfordert, dass Sie sich für ein kostenloses Entwicklerkonto registrieren)

2. Laden Sie Git von http://git-scm.com/download/mac herunter und installieren Sie es

RHESSysWorkflows verwendet Git, um den Quellcode von RHESSys herunterzuladen, damit Sie es nicht müssen.

##### Installieren Sie PIP, ein Tool zum Installieren von Python-Modulen
Pip ist die empfohlene Methode zur Installation von Python-Modulen (d. h. anstelle von
mit easy_install). Mit Pip können Sie beispielsweise einfach deinstallieren
Module. Um pip zu installieren, geben Sie Folgendes in ein Terminalfenster ein:

##### GIS-Tools installieren: GRASS & QGIS
Beachten Sie, dass GRASS Version 6.4 für RHESSysWorkflows erforderlich ist (GRASS 7.0 ist nicht
derzeit unterstützt). GRASS wird intern verwendet, um den Workflow durchzuführen
Schritte (die zur Erstellung von RHESSys World Files und Flow Tables führen).
Sie werden es auch nützlich finden, GRASS zu verwenden, um die Ergebnisse von zu visualisieren
einige Workflow-Schritte.

Um GRASS unter OS X zu installieren, besuchen Sie http://www.kyngchaos.com/software/grass

Hier müssen Sie Folgendes herunterladen und installieren:

1. GDAL Komplettes Framework
2. FreeType-Framework
3. Kairo-Rahmen
4. PIL (Python-Bildgebungsbibliothek)
5. GRASS.app

Während Sie dort sind, empfehlen wir Ihnen, auch QGIS (Quantum GIS) zu installieren.

Installieren Sie zusätzlich zu GRASS und den oben installierten Komponenten:

1. NumPy von http://www.kyngchaos.com/software/python
2. SciPy von http://www.kyngchaos.com/software/python
2. Matplotlib-Python-Modul von http://www.kyngchaos.com/software/python
3.QGIS von http://www.kyngchaos.com/software/qgis

QGIS ist nützlich, um die Ausgabe für frühere Arbeitsablaufschritte zu visualisieren, die dem Importieren von Daten in GRASS vorausgehen.

##### GDAL Python-Module installieren
Obwohl wir oben das GDAL-Komplett-Framework installiert haben, haben wir immer noch
müssen die GDAL Python-Module für die Kopie von Python 2.7 installieren wir
oberhalb des GDAL-Frameworks installiert, werden nur die Python-Module installiert
für Python 2.6, mit dem RHESSysWorkflows nicht kompatibel ist. Diese
Installationsschritte sind ein wenig hässlich, aber haben Sie Geduld (oder Upgrade
ab OS X 10.6). Geben Sie in einem Terminalfenster Folgendes ein:

export PFAD=$:/Library/Frameworks/GDAL.framework/unix/bin
sudo pip install --no-install GDAL
cd /tmp/pip-build-root/GDAL
sudo python setup.py build_ext --include-dirs=/Library/Frameworks/GDAL.framework/Headers --library-dirs=/Library/Frameworks/GDAL.framework/Versions/Current/unix/lib
sudo pip install --no-download GDAL

##### RHESSysWorkflows Python-Module installieren (einschließlich EcohydroLib)
Vor der Installation von RHESSysWorkflows müssen wir einige installieren
Abhängigkeiten von Hand (das ist ärgerlich, aber unvermeidlich):

sudo pip install pandas patsy

Dies ist notwendig, weil eine andere Abhängigkeit (statsmodels) erfordert
dass wir zuerst seine Abhängigkeiten installieren.

Um RHESSysWorkflows und seine Abhängigkeiten (einschließlich EcohydroLib) zu installieren,
Geben Sie Folgendes von Ihrem Terminal aus ein, wenn Sie XCode 5.0 oder früher verwenden:

sudo pip install rhessysworkflows

##### Installieren Sie GRASS Addons für RHESSysWorkflows
Befolgen Sie diese Schritte, um die von RHESSysWorkflows benötigten GRASS-Addons zu installieren:

1. Zuerst GRASS . starten
- Doppelklicken Sie auf das Symbol *GRASS-6.4* in Ihrem Anwendungsordner

2. Erstellen Sie einen neuen Standort (egal wo, wir verwenden ihn nur zum Ausführen
den g.extension-Befehl, um die Erweiterungen zu installieren)

Weitere Informationen zu diesen Addons (r.soils.texture und r.findtheriver) finden Sie unter:
- [r.findtheriver](http://grasswiki.osgeo.org/wiki/AddOns/GRASS_6#r.findtheriver)
und r.soils.texture
- [r.soils.texture](http://grasswiki.osgeo.org/wiki/AddOns/GRASS_6#r.soils.texture).

##### Konfigurationsdatei für EcohydroLib und RHESSysWorkflows einrichten
- Laden Sie eine [Prototyp-Konfiguration] (https://raw.github.com/selimnairb/RHESSysWorkflows/master/docs/config/ecohydro-OSX_10.6.cfg) herunter.

- Speichern Sie in einer Datei namens '.ecohydro.cfg', die in Ihrem Home-Verzeichnis gespeichert ist
Ersetzen Sie alle Vorkommen von *&ltmyusername&gt* durch Ihren Benutzernamen (Zu finden
Geben Sie Ihren OS X-Benutzernamen heraus, verwenden Sie den Befehl *whoami* im Terminal).

- Setzen Sie die Umgebungsvariable ECOHYDROLIB_CFG, damit RHESSysWorkflows
kann Ihre Konfigurationsdatei finden

+ Gehen Sie vom Terminal aus wie folgt vor:

echo "ECOHYDROLIB_CFG=$ . exportieren/.ecohydro.cfg" >>

+ Bash-Profil neu laden (oder schließen und ein neues Terminal-Fenster öffnen):

Damit sind die Installations- und Konfigurationsanweisungen für OS X 10.6 abgeschlossen.

### Lokale Daten installieren
Mit RHESSysWorkflows können Sie lokale Kopien der National
Hydrography Dataset Plus (NHD Plus) zur Ortung von USGS-Streamflow-Messgeräten,
und der National Landcover Dataset (NLCD 2006). Wenn Sie bauen werden
viele Modelle in den USA oder führen RHESSysWorkflows in a
Serverumgebung und möchte Anrufe ins externe Web minimieren
Dienste können Sie diese Datensätze zur Verbesserung lokal installieren
Performance. *Dies ist völlig optional. Die meisten Benutzer können dies ignorieren
da die Abfrage dieser Daten bei Webservices dem Herunterladen vorzuziehen ist
und Installieren dieser relativ großen Datensätze.*

#### NLCD2006-Daten einrichten
Gehen Sie wie folgt vor, um eine lokale Kopie der NLCD2006-Landbedeckungsdaten einzurichten:
- NLCD2006-Daten [hier] herunterladen (https://docs.google.com/file/d/0B7aK-9pTSLS-MHRrRTVVRV9zdVk/edit?usp=sharing)

Es ist wichtig, dass Sie diese Version des Datensatzes herunterladen, und
nicht die offiziellen Daten von http://www.mrlc.gov/nlcd06_data.php.
Die offiziellen Daten werden mit einer Version von PkZip verpackt, die nicht
kompatibel mit den GUI- oder Befehlszeilen-Entpackdienstprogrammen von OS X.

- Kopieren Sie das NLCD2006-Archiv in den übergeordneten Ordner, in dem Sie es speichern möchten

Erstellen Sie beispielsweise unter OS X einen Ordner namens 'data' in Ihrem
Home-Verzeichnis

- NLCD2006-Daten auspacken (dies wird eine Weile dauern. Zeit für eine Kaffeepause):

+ OS X 10.6: Von der Befehlszeile:

tar xvjf nlcd2006_landcover_4-20-11_se5.tar.bz2

+ OS X 10.7/10.8: Doppelklick auf das Archiv im Finder

#### Vorgefertigte NHDPlusV2-Daten einrichten
Wenn Sie eine lokale Kopie der NHDPlusV2-Daten einrichten möchten, erhalten Sie
diese Daten durch Herunterladen aller oder einer Teilmenge der NHDPlusV2-Daten und
Aufbau der Datenbank wie in der [EcohydroLib
Dokumentation](https://github.com/selimnairb/EcohydroLib).
Alternativ können Sie eine vorgefertigte Kopie von NHDPlusV2 herunterladen
Datenbank benötigt von RHESSysWorkflows
[hier](https://docs.google.com/file/d/0B7aK-9pTSLS-dGVzWGRCd1NwNzQ/edit?usp=sharing).
Gehen Sie wie folgt vor, um die vorgefertigten Daten herunterzuladen und zu entpacken:

- Laden Sie die vorgefertigte NHDPlusV2-Datenbank herunter [hier](https://docs.google.com/file/d/0B7aK-9pTSLS-dGVzWGRCd1NwNzQ/edit?usp=sharing)

Beachten Sie, dass die komprimierten Daten fast 7 GB, fast 11 GB groß sind
unkomprimiert, der Download kann eine Weile dauern

- Kopieren Sie das vorgefertigte NHDPlusV2-Datenbankarchiv auf das übergeordnete
Ordner, in dem Sie es speichern möchten

Erstellen Sie beispielsweise unter OS X einen Ordner namens 'data' in Ihrem
Home-Verzeichnis

- Entpacken Sie das NHDPlusV2-Datenbankarchiv (dies wird eine Weile dauern
Tasse Tee)

+ OS X 10.6: Von der Befehlszeile:

+ OS X 10.7/10.8: Doppelklick auf das Archiv im Finder

### Konfigurationsdatei von EcohydroLib und RHESSysWorkflows für lokale Daten einrichten

- Wählen Sie die entsprechende Prototyp-Konfigurationsdatei:

+ [OS X 10.6](https://raw.github.com/selimnairb/RHESSysWorkflows/master/docs/config/ecohydro-OSX_10.6-local.cfg)

+ [OS X 10.7/10.8](https://raw.github.com/selimnairb/RHESSysWorkflows/master/docs/config/ecohydro-OSX-local.cfg)

- Speichern Sie in einer Datei namens '.ecohydro.cfg', die in Ihrem Home-Verzeichnis gespeichert ist
Ersetzen Sie alle Vorkommen von '<myusername>' durch Ihren Benutzernamen (Zu finden
Geben Sie Ihren OS X- oder Linux-Benutzernamen heraus, verwenden Sie den Befehl *whoami* im Terminal).

- Ändern Sie die Beispielkonfiguration so, dass sie auf Ihr NHDPlusV2 verweist und
Lokale NLCD2006-Daten [wenn Sie diese Daten verwenden]:

Wenn Sie OS X verwenden und die Daten in einem Verzeichnis abgelegt haben
heißt 'data' in Ihrem Home-Verzeichnis, die einzigen Änderungen, die Sie vornehmen müssen
make ist, '<myusername>' durch Ihren Benutzernamen zu ersetzen.

Wenn Sie sich dafür entschieden haben, lokales NLCD oder NHDPlusV2 woanders zu speichern, einfach
Verwenden Sie den absoluten Pfad jeder Datei.

- Setzen Sie die Umgebungsvariable ECOHYDROLIB_CFG, damit RHESSysWorkflows
kann Ihre Konfigurationsdatei finden


Danksagung

Der Autor dankt dem Hessischen Landesamt für Naturschutz, Umwelt und Geologie e Daten zum Regenmesser. Die Beiträge von Gerald Kuhnt, Benjamin Burkhard, Ina Sieber und Tobias Kreklow werden sehr geschätzt. Besonderer Dank gilt den radproc Mitglieder der User-Community Jan Lunge, Denise Harders, Senta Meinecke, Bastian Steinhoff-Knopp und Detlef Deumlich für ihr Feedback, ihre Beiträge und Fehlerberichte, die zur Verbesserung beigetragen haben radproc. Abschließend möchte der Autor den beiden anonymen Gutachtern für ihre kompetenten und konstruktiven Kommentare danken, die zur Ergänzung und Verbesserung des Manuskripts beigetragen haben.


Erforderliche Argumente¶

Passen Sie die BoundingBox und HiResBoundingBox auf das für den Bildinhalt erforderliche Minimum an. Anhängen du um zuerst alle GMT-produzierten Zeitstempel zu entfernen. Fügen Sie optional zusätzliche Ränder an den Begrenzungsrahmen an. Geben Sie entweder einen (einheitlich), zwei (x und y) oder vier (einzelne Seiten) Ränder an und hängen Sie die Einheit an [Standard wird durch PROJ_LENGTH_UNIT festgelegt]. Alternativ verwenden Sie -EIN- um eine automatische Einstellung von . zu überschreiben -EIN durch -W.

Verwenden Sie die -A+sneue_breite um die Größe des Ausgabebilds genau zu ändern neue_breite Einheiten. Standardmäßig wird das von PROJ_LENGTH_UNIT festgelegte verwendet, aber Sie können eine neue Einheit anhängen und/oder eine andere Breite und Höhe festlegen. Was hier passiert, ist, dass GhostScript die Re-Interpolationsarbeit übernimmt und das endgültige Bild die DPI-Auflösung behält, die von . eingestellt wurde -E. Benutzen -A+sm um eine maximale Größe festzulegen, und die neue Breite wird nur dann auferlegt, wenn die ursprüngliche Abbildungsbreite diese überschreitet. Anhängen /neue_höhe um neben der Breite auch eine maximale Höhe vorzuschreiben. Alternativ verwenden -A+SRahmen um das Bild um einen konstanten Faktor zu skalieren.

Verwenden Sie die -A+r um die HighRes BoundingBox zu runden, anstatt die Ceil-Funktion zu verwenden. Dies verstößt gegen Adobe Law, kann jedoch nützlich sein, wenn sehr kleine Bilder erstellt werden, bei denen der Unterschied von einem Pixel eine Rolle spielen könnte. Wenn -V verwendet wird, geben wir auch die Abmessungen der Abbildung an. Benutzen -A+gFarbe um die BoundingBox hinter der Illustration zu malen und zu verwenden -A+p[Stift], um den Umriss der BoundingBox zu zeichnen (fügen Sie einen Stift hinzu oder akzeptieren Sie den Standardstift von 0.25p,schwarz).

-Cgs_option Geben Sie eine einzelne benutzerdefinierte Option an, die unverändert an GhostScript weitergegeben wird. Wiederholen Sie den Vorgang, um mehrere Optionen hinzuzufügen [keine]. -Ddraußen Legt ein alternatives Ausgabeverzeichnis fest (das existieren muss) [Standard ist das gleiche Verzeichnis wie die PS-Dateien]. Benutzen -D. um die Ausgabe stattdessen im aktuellen Verzeichnis zu platzieren. -EAuflösung Legen Sie die Rasterauflösung in dpi fest [Standard = 720 für PDF, 300 für andere]. -Fout_name Erzwinge den Namen der Ausgabedatei. Standardmäßig werden Ausgabenamen unter Verwendung der Eingabenamen als Basis erstellt, die mit einer entsprechenden Erweiterung angehängt werden. Verwenden Sie diese Option, um einen anderen Namen anzugeben, jedoch ohne Erweiterung. Die Verlängerung wird weiterhin automatisch ermittelt. -GGeisterpfad Vollständiger Pfad zu Ihrer ausführbaren GhostScript-Datei. HINWEIS: Für Unix-Systeme ist dies im Allgemeinen nicht erforderlich. Unter Windows wird nun der GhostScript-Pfad aus der Registry geholt. Wenn dies fehlschlägt, können Sie immer noch den GS-Pfad zum Pfad des Systems hinzufügen oder hier den vollständigen Pfad angeben. (z.B., -Gc:programmegsgs9.02ingswin64c). WARNUNG: Aufgrund der schlechten Entscheidung, die Bits in den gs-exe-Namen einzubetten, können wir nicht sowohl die 32- als auch die 64-Bit-GhostScript-Ausführungsnamen erfüllen. Im Falle eines Fehlers bei ‘get from Registry’ wird der Standardname (wenn nein -G verwendet wird) ist die 64-Bit-Version oder gswin64c -ICH Erzwingen Sie Graustufen mithilfe von ICC-Profilen. GhostScript-Versionen >= 9.00 ändern Graustufen unter Verwendung von ICC-Profilen. GhostScript 9.05 und höher bieten die Option ‘-dUseFastColor=true’, um dies zu verhindern, und genau das ist es psconvert tut standardmäßig, es sei denn, Option -ICH eingestellt ist. Beachten Sie, dass für GhostScript >= 9.00 und < 9.05 die Graustufenverschiebung auf alle Formate außer PDF angewendet wird. Wir haben keine andere Lösung als ein Upgrade von GhostScript anzubieten. -LListendatei Das Listendatei ist eine ASCII-Datei mit den Namen der zu konvertierenden PostScript-Dateien. -Nein Diese Option ist veraltet. Benutzen -S um ggf. den GhostScript-Befehl zu drucken. Benutzen -Te um die Zwischen-EPS-Datei zu speichern. -P Portraitmodus erzwingen. Alle Plots im Querformat werden zurückgedreht, sodass sie im Hochformat nicht gedreht angezeigt werden. Dies ist praktisch, wenn Sie in Bildformate konvertieren oder EPS- oder PDF-Plots für die Einbindung in Dokumente vorbereiten. -Q[G|t][1|2|4] Legen Sie die Anti-Aliasing-Optionen für . fest Graphics oder text. Hängen Sie die Größe des Subsample-Felds an (1, 2 oder 4) [4]. Standard ist kein Anti-Aliasing (wie Bits = 1). -S Geben Sie den GhostScript-Befehl nach der Ausführung als Standardfehler aus. Diese Option verhindert auch, dass alle Zwischendateien entfernt werden. -Tb|e|E|f|F|j|G|G|ich|so|t Legt das Ausgabeformat fest, wobei b bedeutet BMP, e bedeutet EPS, E bedeutet EPS mit PageSize-Befehl, f bedeutet PDF, F bedeutet mehrseitiges PDF, j bedeutet JPEG, G bedeutet PNG, G bedeutet transparentes PNG (unberührte Regionen sind transparent), ich bedeutet PPM, so bedeutet SVG, und t bedeutet TIFF [Standard ist JPEG]. Zu bjgt du kannst anhängen - um ein Graustufenbild zu erhalten. Das EPS-Format kann mit allen anderen Formaten kombiniert werden. Beispielsweise, -Tef erstellt sowohl eine EPS- als auch eine PDF-Datei. Das -TF erstellt eine mehrseitige PDF-Datei aus der Liste der eingegebenen PS- oder PDF-Dateien. Es erfordert die -F Möglichkeit. Siehe auch ANMERKUNGEN unten. -V[Niveau] (mehr . ) Wählen Sie die Ausführlichkeitsstufe [c]. -W[+g][+k][+tDokumentname][+nLayername][+oOrdnernamen][+aaltmode[alt]][+lminLOD/maxLOD][+fMinfade/Maxfade][+uURL]

Schreiben Sie eine Weltdatei vom Typ ESRI, die geeignet ist, (z. B.) .tif-Dateien von Software, die weiß, wie es geht, als Geotiff zu erkennen. Beachten Sie jedoch, dass je nach Bildinhalt und ggf -B Option verwendet wurde oder nicht. Das Problem mit dem -B Option ist, dass es einen Rahmen und sehr wahrscheinlich seine Anmerkungen erstellt. Dadurch werden Pixel außerhalb der Kartendatenausdehnung eingefügt, und daher ist die Schätzung der Kartenausdehnung falsch. Um dieses Problem zu vermeiden, verwenden Sie --MAP_FRAME_TYPE=inside-Option, die alle Anmerkungen und Ticks innerhalb des Bildes darstellt und daher die Koordinatenberechnungen nicht beeinträchtigt. Beachten Sie auch die Fälle, in denen die Handlung eine der Seiten mit Weißen hat, nur weil der Algorithmus dann kläglich versagt, da diese Weißen vom GhostScript gefressen werden. In diesem Fall müssen Sie wirklich verwenden -B oder verwenden Sie eine leicht cremefarbene Farbe.

Zusammen mit -V Es druckt auf dem Bildschirm den Befehl gdal_translate (gdal_translate ist ein Befehlszeilentool aus dem GDAL-Paket), der die Raster- und Weltdatei liest und eine echte Geotiff-Datei erstellt. Benutzen -W+g einen Systemaufruf an gdal_translate auszuführen und sofort ein geoTIFF-Bild zu erstellen. Die Ausgabedatei hat die Erweiterung .tiff.

Die Benennung der World-Datei folgt der Konvention, ein ‘w’ in der Dateierweiterung zu blockieren. Also, wenn die Ausgabe tif . ist -Tt die Weltdatei ist eine .tfw, für jpeg haben wir eine .jgw und so weiter. Diese Option setzt automatisch -EIN -P.

Benutzen -W+k um eine minimalistische KML-Datei zu erstellen, mit der das Bild in GoogleEarth geladen werden kann. Beachten Sie, dass das Bild für diese Option in geografischen Koordinaten vorliegen muss. Wenn nicht, wird eine Warnung ausgegeben, aber die KML-Datei wird trotzdem erstellt. Es stehen mehrere Modifikatoroptionen zur Verfügung, um die KML-Datei in Form von +opt Saiten. Anhängen +tTitel um den Dokumenttitel [GMT KML Document] festzulegen, +nLayername um den Layernamen festzulegen, und +a/Altmodus[Höhe], um einen von 5 von Google Earth erkannten Höhenmodi auszuwählen, der die Höhe (in m) des Bildes bestimmt: G am Boden festgeklemmt, G Höhe relativ zum Boden anhängen, ein absolute Höhe anhängen, so Höhe relativ zum Meeresboden anhängen und S am Meeresboden festklemmen. Kontrollieren Sie die Sichtbarkeit der Ebene mit dem +lminLOD/maxLOD und +fMinfade/Maxfade Optionen. Wenn Sie schließlich das Bild selbst auf einem Server belassen und nur die KML verteilen möchten, verwenden Sie +uURL um die URL der Bildreferenz voranzustellen. Wenn Sie eine KML-Datei mit mehreren Komponenten erstellen, können Sie eine KML-Schnipsel ohne KML-Header und -Trailer ausgeben, indem Sie die +oOrdnernamen Bei der Änderung wird das Bild und der zugehörige KML-Code in einen KML-Ordner mit dem angegebenen Namen eingeschlossen. Weitere Erläuterungen finden Sie in der KML-Dokumentation (http://code.google.com/apis/kml/documentation/).

Weitere Hinweise zur Erstellung georeferenzierter Raster. psconvert kann ein georeferenziertes Rasterbild mit einer World-Datei erstellen ODER verwendet GDAL, um die GMT-PostScript-Datei in Geotiff zu konvertieren. GDAL verwendet Proj.4 für seine Projektionsbibliothek. Um die für die Georeferenzierung benötigten Informationen bereitzustellen, bettet GMT 4.5 am Anfang der PostScript-Datei einen Kommentar ein, der die Projektion unter Verwendung der Proj.4-Syntax definiert. Benutzer mit PostScript-Dateien vor GMT v4.5 oder sogar Nicht-GMT-PS-Dateien können die Informationen bereitstellen psconvert erfordert durch manuelles Editieren einer Zeile in die PostScript-Datei mit dem Präfix %%PROJ.

Zum Beispiel der Befehl


Verschieben von Code – Teilen von Geoverarbeitungslogik im Web

Effiziente Datenverarbeitung ist eine seit langem bestehende Herausforderung in der Fernerkundung. Effektive und effiziente Algorithmen werden für die Produktgenerierung in Bodenverarbeitungssystemen, ereignisbasierte oder bedarfsgesteuerte Analysen, Umweltüberwachung und Data Mining benötigt. Darüber hinaus haben die steigende Zahl von Vermessungsmissionen und das exponentiell wachsende Datenvolumen in den letzten Jahren die Nachfrage nach einer besseren Wiederverwendung von Software sowie einer effizienten Nutzung skalierbarer Verarbeitungsinfrastrukturen geschaffen. Lösungen, die beide Anforderungen gleichzeitig erfüllen, sind langsam auf den Markt gekommen, aber sie berücksichtigen selten die Möglichkeit, Entwicklungs- und Wartungsbemühungen über verschiedene Institutionen, Community-Projekte und Softwareanbieter hinweg zu koordinieren.

Dieses Papier stellt einen neuen Ansatz zur gemeinsamen Nutzung, Wiederverwendung und möglicherweise Standardisierung von Geoverarbeitungslogik im Bereich der Fernerkundung vor. Ausgehend von den Prinzipien des serviceorientierten Designs und der verteilten Verarbeitung stellt dieses Papier Moving-Code-Pakete als selbstbeschreibende Softwarekomponenten vor, die algorithmischen Code und maschinenlesbare Beschreibungen der bereitgestellten Funktionalität, Plattform und Infrastruktur sowie grundlegende Informationen enthalten über Verwertungsrechte. Darüber hinaus stellt der Artikel einen schlanken Veröffentlichungsmechanismus vor, mit dem diese Pakete im Web verteilt und in verschiedene Verarbeitungsumgebungen integriert werden können, die von monolithischen Workstations bis hin zu elastischen Rechenumgebungen oder „Clouds“ reichen. Das Papier schließt mit einem Ausblick auf Community-Repositorys für wiederverwendbare Geoverarbeitungslogik und deren mögliche Auswirkungen auf die datengesteuerte Wissenschaft im Allgemeinen.


Schau das Video: Convert MODIS hdf file in to tiff format, mosaic u0026 subset by polygon in ENVI (Oktober 2021).