Suite

Lorsqu'un raster est découpé sur un polygone avec Python, pourquoi prend-il toujours l'étendue de l'ensemble du fichier de formes ?


Je découpe une image raster sur chaque ligne de polygone d'un fichier de formes dans ArcMap 9.3 à l'aide de l'outil Découper (gestion des données) en Python avec le jeu de géométrie de découpage. Alors que le raster découpé représente avec succès l'intersection du raster et du polygone, l'étendue du raster découpé est toujours celle du raster d'origine. Voici mon code :

# Importer les modules système import sys import string import os import arcgisscripting # Créer l'objet géoprocesseur gp = arcgisscripting.create(9.3) # Charger les boîtes à outils requises… gp.AddToolbox("C:/Program Files (x86)/ArcGIS/ArcToolbox/Toolboxes/ Data Management Tools.tbx") # Désigner un espace de travail gp.workspace = "L:Clip" # Assigner des variables… clipto = "test.shp" # shapefile à découper dans clipit = "vfcm.tif" # fonctionnalités à découper # Cursor time rows = gp.SearchCursor(clipto) row = rows.Next() # gestion du clip while row : n = str(row.VAHU6) # assigne une variable pour le traitement du message en fonction d'un champ clipgeo = row.Shape print " clipping to: " +n # indique quelle ligne a été coupée # Clip_management    {in_template_dataset} {nodata_value} {AUCUN | ClippingGeometry} outputname = str(row.VAHU6) + "_c" extent=str(clipgeo.extent) gp.Clip_management(clipit, extent, outputname, clipgeo, "", ClippingGeometry) #mettre à jour str si nécessaire print str(row.VAHU6 ) row=rows.next() # réinitialiser le tableau… del rows del gp

Savez-vous pourquoi j'ai ce problème ? Lorsque j'exécute l'outil dans Model Builder, il fonctionne correctement. Ce problème est évident à la fois dans la taille du fichier (qui est 10 fois plus grande que lorsqu'il est correctement découpé) et lorsque je "zoome sur la couche" dans ArcMap. Si vous savez comment ajuster le code pour qu'il fonctionne, je vous en serais très reconnaissant !

Merci!

MISE À JOUR : même si j'exporte manuellement un polygone à partir du fichier de formes, recherchez l'étendue dans l'onglet source, puis saisissez ces coordonnées directement dans l'étendue de mon code, il ne se coupe toujours pas correctement.


cross-posting cette solution à ce fil ET à l'autre fil de user3397

@lpinner était sur la bonne voie, en déclarant que l'étendue utilisée est la tout l'étendue du fichier de formes 'clipto'. Il s'agit d'un attribut sous-jacent de ce fichier de formes et ne change pas en fonction de l'entité actuelle traitée par un curseur. Ainsi, chaque fois que vous insérez l'objet d'étendue dans l'outil Découper, vous lui donnez cette même étendue globale, encore et encore.

Toi pouvez manipuler la sortie en modifiant le paramètre d'environnement Extent - cela se fait en définissant la propriété gp.Extent. D'après mon expérience, il y a deux façons différentes de le faire:

  1. la méthode héritée impliquait d'obtenir et de définir l'étendue en tant que chaîne délimitée par des espaces,
  2. la méthode la plus récente (9.3+ je pense) implique l'instanciation d'un objet 'Extent' et l'obtention et la définition de ses propriétés Xmax, YMax, etc.

Option 1 : méthode héritée

# Définir la propriété d'étendue avec une chaîne délimitée par des espaces # les étendues doivent être dans cet ordre : XMin YMin XMax YMax gp.Extent = "-180 -90 180 90"

Option 2 : méthode moderne

# Créer un objet Extent et définir ses attributs ext = gp.CreateObject('Extent') ext.XMin, ext.YMin, ext.XMax, ext.YMax = -180, -90, 180, 90 gp.Extent = ext

Je ne sais pas quelles versions d'ArcGIS vous limitent à quelle méthode (je pense que vous pouvez faire les deux dans 9.3+, mais vous ne pouvez pas faire l'option 2 dans 9.2-).

Donc, pour résoudre votre problème, vous devez extraire les lat/long XMin, YMin, XMax et YMax de chaque polygone et modifier gp.Extent tous temps. C'est à dire.:

while row: # effectuez vos autres traitements et extrayez les coordonnées d'étendue du polygone actuel ext = gp.CreateObject('Extent') ext.XMin, ext.YMin, ext.XMax, ext.YMax = currentXMin, currentYMin, currentXMax, currentYMax gp.Extent = ext gp.Clip_management #… continuer avec l'opération Clip

Une troisième option, je suppose, serait d'écrire chaque polygone dans une nouvelle classe d'entités temporaire. La propriété d'étendue de cette FC temporaire serait alors la même que l'étendue du polygone individuel. Ce serait une opération lente si vous écriviez ces fichiers temporaires sur le disque, mais vous pouvez les écrire dans l'espace de travail "in_memory" d'ArcGIS pour qu'il reste réactif. C'est à dire.:

# Obtenez le nom du champ de clé primaire pour le fichier de formes du polygone oidField = gp.Describe(clipit).OIDFieldName while row: # Itérez à travers chaque polygone oid = row.GetValue(oidField) # obtenez l'identifiant unique de ce polygone # Utilisez l'outil Select pour extraire un polygone individuel dans un fichier in_memory temporaire # utiliser l'ID unique comme requête SQL pour extraire cet enregistrement gp.Select_management(clipit, 'in_memory/temp', '"%s" = %s' % (oidField, oid)) # get l'étendue du polygone ext = gp.Describe('in_memory/temp').Extent

À partir de là, vous pouvez soit utiliser ce polygone in_memory/temp comme ClippingGeometry pour l'outil de découpage raster, soit extraire les valeurs de l'objet Etendue et les insérer dans les paramètres « étendue » de l'outil Découper sous forme de texte.

Je vais couper ma réponse ici, et attendre et voir si ça aide. Je peux clarifier un peu plus certains points en me référant à mes scripts au travail - j'écris cela de haut en bas pour le moment.


Vous définissez l'étendue sur l'ensemble de la classe d'entités "clipto". Au lieu de cela, définissez l'étendue sur celle de la géométrie "clipgeo" - c'est-à-dire extent=str(row.getvalue(shape).extent) ou extent=str(clipgeo.extent)

Vous pouvez également essayer de vous assurer que la variable d'environnement d'étendue est définie :

gp.extent=extent gp.Clip_management(clipit, extent, outputname, clipgeo, "", ClippingGeometry)

Si vous souhaitez sélectionner une région particulière sur un jeu de données raster, utilisez le masquage dans l'environnement d'analyse raster. [pour arcgis 9.3]

Pour arcgis 10. Je vous recommande d'utiliser l'outil Extraire par masque dans la boîte à outils de l'analyste spatial. Et bien sûr dans arcgis 10, vous pouvez utiliser un script python.


Avez-vous essayé de citer le dernier argument?

gp.Clip_management(clipit, extent, outputname, clipgeo, "", ClippingGeometry)

gp.Clip_management(clipit, extent, outputname, clipgeo, "", "ClippingGeometry")


Une autre façon de découper est de faire une sélection comme "polygontoclip"["templatepolygon", ] , trouvé ceci pour les points (http://robinlovelace.net/r/2014/07/29/clipping-with-r.html), mais fonctionne aussi avec des polygones.

Cela ne répond pas à votre question, mais puisque vous mentionnez le découpage par cadre de délimitation, ce message apparaît donc dans les chaînes de recherche :

De r-bloggers : Découpage par un cadre de délimitation

Notez qu'en raison des instructions if dans le corps de gClip, il peut gérer presque toutes les entrées de données spatiales et continuer à fonctionner.

Bien que la question soit très ancienne, fournir une bonne réponse pourrait aider n'importe qui à l'avenir à atterrir sur cette page.

Je pense que ce que vous essayez de faire est simple. Pour illustrer, supposons que je m'intéresse à la côte est de l'Arabie saoudite (SA) et que j'ai un fichier de forme qui a les côtes est et ouest de la SA [ et un autre shapefile du Golfe (plan d'eau important sur la côte est de l'Afrique du Sud). Nous avons besoin du package SF pour recadrer les deux fichiers de forme

Chargez ensuite les deux fichiers de formes

vous pouvez également vérifier si leur CRS est le même

Le sf_read génère des informations sur le fichier de formes dans trois champs, mais nous ne nous intéressons qu'à la géométrie

Vous devriez avoir une image comme


1 réponse 1

Si j'interprète correctement votre question, cela devrait fonctionner correctement:

Utilisez la fonction de fichier de formes du package raster pour lire le fichier de formes :

Il semble que toutes les valeurs lsoa11cd aient une lettre et un nombre comme les deux premiers caractères de la chaîne. Commençons par sous-ensemble les données pour ne conserver que celles avec « E » comme premier chatacter pour leur valeur lsoa11cd.

Nous pouvons maintenant supprimer les deux premiers caractères de chaque chaîne lsoa11cd et les convertir en une variable numérique pour un sous-ensemble plus facile, comme suit :


Alignement des étendues pour le raster et le fichier de formes dans R : importer depuis QGIS avec le même CRS

J'ai un petit raster. C'est une seule tuile d'un fond de carte Digital Globe (zoom = 16) c'est un 256 x 256 pixels standard. Dans QGIS, j'ai créé un fichier de formes de polygones et ajouté environ 50 entités. Le raster et le shapefile sont dans le même SCR. Dans QGIS, ils s'alignent bien, comme dans l'image ci-dessous.

Cependant, lorsque j'ouvre à la fois le raster et le fichier de formes dans R, les deux ne s'alignent plus. Encore une fois, les deux sont dans le même CRS. Le code reproductible est ci-dessous, et le fichier de formes et le raster peuvent être téléchargés à partir d'un dossier GitHub ici. J'utilise brick() du package raster pour séparer les bandes RVB.

Le problème semble être dû au fait que les deux fichiers ont des étendues différentes, comme le montre le résumé :

Cependant, lorsque je vérifie l'étendue des deux fichiers dans QGIS, ils se chevauchent. L'image ci-dessous est pour le raster dans QGIS. Le fichier de formes et le raster ont tous deux une plage d'étendue y dans [-256, 0].

Il semble que la fonction brick() définisse les étendues x et y comme positives, bien que j'aie examiné la documentation du package/de la fonction et que je ne vois pas pourquoi ce serait le cas. Comment puis-je aligner ces deux fichiers dans R ?

J'ai essayé d'exporter le raster en tant que GeoTIFF, mais cela ne fonctionne pas non plus. J'ai également essayé de lire dans le shapefile avec quelques autres packages R, comme rgdal. Je peux le faire "fonctionner" si dans QGIS j'exporte le fichier de formes, tout en étant centré sur le raster, et sélectionnez "étendue de la vue de la carte", mais ce n'est pas une solution optimale, et (a) je dois travailler avec un tableau de tuiles de carte et je ne veux pas zoomer manuellement sur chacune, et (b) cela n'explique pas l'erreur que j'ai commise. Je ne suis même pas tout à fait sûr si mon problème est d'exporter depuis QGIS ou d'importer vers R, bien que je sois à peu près sûr que mon erreur est dans brick().

Noter: Il y a une question similaire ici, mais malgré le titre de la question, l'erreur était avec les systèmes de référence de coordonnées.


Les lignes et les objets polygonaux ont la même étendue. L'étendue de l'objet points est plus petite dans la direction verticale que les deux autres car il n'y a pas de points sur la ligne à y = 8.

Résolution

Une résolution d'un raster représente la zone au sol que chaque pixel du raster couvre. L'image ci-dessous illustre l'effet des changements de résolution.

(Source : Réseau national des observatoires écologiques (NEON))


UN FLUX DE TRAITEMENT DE DONNÉES TYPIQUE UTILISANT RADPROC

Dans ce qui suit, un flux de travail de traitement et d'analyse de données radar de base typique comprenant le traitement des données brutes, l'agrégation temporelle, la détection de fortes précipitations et l'échange de données avec ArcGIS à l'aide radproc et la série chronologique de 17 ans du produit horaire RADKLIM RW est illustrée et un aperçu des fonctions les plus importantes est donné. Alors que le traitement des données brutes des jauges RADKLIM et DWD est spécifique à l'Allemagne, les analyses et les exportations SIG présentées dans les autres sous-sections sont également applicables à tout autre jeu de données sur les précipitations importé en radprocformat de fichier standardisé HDF5 de , présenté ci-dessus.

Traitement des données brutes et écrêtage RADKLIM

Les données brutes RADOLAN et RADKLIM sont généralement fournies sous forme d'archives tar mensuelles compressées gzip contenant un fichier binaire non compressé par intervalle de temps de 5 (YW, RY) ou de 60 minutes (RW). Chaque fichier binaire commence par un en-tête de métadonnées et contient ensuite 900 × 900 (RADOLAN) ou 1 100 × 900 (RADKLIM) valeurs de précipitations maillées sous forme d'entiers en 1/10 mm pour l'ensemble de l'Allemagne, chaque valeur décrivant la somme des précipitations moyenne spatialement par intervalle de temps et maille de 1 km.

Comme les formats de données RADKLIM ont été adoptés à partir de RADOLAN, le traitement des données est très similaire pour les deux produits et les deux seront appelés RADOLAN tout au long de cette section.

Toutes les archives de données brutes doivent être décompressées pour l'importation de données à l'aide de la fonction unzip_RW_binaries() pour les données horaires ou unzip_YW_binaries() pour les données de 5 minutes de radprocmodule brut de . Les deux fonctions génèrent automatiquement une structure de dossiers de répertoires annuels et mensuels pour les séries temporelles disponibles, et gzip compresse tous les fichiers binaires décompressés. Ce dernier est un processus relativement lent en raison du grand nombre de fichiers mais il est nécessaire d'économiser de l'espace sur le disque dur.

Par la suite, le nouveau dossier avec tous les fichiers binaires compressés décompressés peut être transmis à la fonction globale create_idraster_and_process_radolan_data() qui automatise l'ensemble du processus d'importation de données, de conversion en DataFrames et d'enregistrement en HDF5. En interne, cette fonction appelle une série de fonctions d'aide et d'enveloppe divisant la tâche en parties distinctes. Le fichier binaire sous-jacent est importé dans un fichier bidimensionnel NumPy tableau et un dictionnaire de métadonnées est basé sur une version légèrement modifiée de read_RADOLAN_composite() de wradlib une fonction. Consécutivement, toutes les données binaires sont importées et l'ordre des lignes est inversé pour chaque tableau. Ce dernier est nécessaire afin d'éviter que la grille de données soit à l'envers car le bloc de données binaires commence dans le coin inférieur gauche de la grille alors que les grilles ESRI sont créées à partir du coin supérieur gauche. Ensuite, les tableaux inversés sont remodelés en tableaux unidimensionnels et ceux-ci sont insérés dans des DataFrames mensuels par une autre fonction. Les pixels RADOLAN sont numérotés et convertis en colonnes DataFrame tandis que chaque ligne DataFrame est étiquetée avec l'horodatage correspondant des métadonnées RADOLAN. Ces DataFrames mensuels sont enregistrés en tant qu'ensembles de données dans le fichier HDF5 spécifié.

Facultativement, si ArcGIS est disponible, un fichier de formes SIG de polygone ou une classe d'entités contenant le contour d'une zone d'étude peut être transmis à la fonction de traitement. Dans ce cas, radproc's arcgis module est accessible pour créer une trame dite ID pour la grille nationale RADOLAN en projection stéréographique qui permet la localisation spatiale des pixels RADOLAN numérotés. Chaque valeur d'ID de ce raster correspond à une colonne DataFrame puisque celles-ci sont étiquetées avec les numéros d'ID. L'outil détecte automatiquement le produit de données radar d'entrée et applique la taille et l'emplacement de grille correspondants. Le raster d'ID est ensuite découpé dans l'étendue du fichier de formes donné pour obtenir les ID situés dans la zone d'étude. Enfin, le raster d'ID découpé est converti en un NumPy tableau appelé tableau ID, et les valeurs NoData sont supprimées (voir Figure 3). Le tableau d'identification résultant est utilisé pour sélectionner les pixels RADOLAN dans la zone d'étude lors de la création du DataFrame.

Méthodologie de découpage des données à l'aide d'un raster d'identification.

Méthodologie de découpage des données à l'aide d'un raster d'ID.

Le fichier HDF5 généré avec les jeux de données mensuels, qui est compressé par défaut pour économiser de l'espace sur le disque dur, est accessible directement et rapidement par pandas et est la base de tous les autres radproc les fonctions. L'ensemble du flux de travail du traitement des données brutes est illustré à la figure 4.

Workflow pour le traitement des données RADOLAN et RADKLIM avec radproc.

Workflow pour le traitement des données RADOLAN et RADKLIM avec radproc.

Agrégation temporelle

Outre l'utilisation de sommes de précipitations pour l'analyse climatologique ou hydrologique ou comme entrées de modèle, l'agrégation de périodes de temps plus longues devrait toujours être l'une des premières étapes d'un flux de travail utilisant des données de radar météorologique afin d'évaluer la qualité des données dans une zone d'étude donnée. De nombreuses erreurs systématiques de mesure et de correction qui provoquent des biais tels que des rayons, des pixels de fouillis ou des zones de données manquantes, sont visibles, par exemple, sur une carte montrant la somme annuelle moyenne des précipitations.

À partir de n'importe quel fichier HDF5 ayant la structure décrite ci-dessus, des DataFrames mensuels uniques peuvent être chargés avec radproc's load_month() fonction ou des périodes plus longues peuvent être chargées avec load_months_from hdf5() pour une analyse plus approfondie, un traçage ou des exportations de données.

De plus, le coeur Le module offre plusieurs fonctions d'agrégation temporelle automatisée en heures, jours, mois, années ou saisons hydrologiques. Ces fonctions accèdent au fichier HDF5 via les fonctions de chargement et chargent et rééchantillonnent de manière itérative toutes les données dans la période de temps spécifiée. Par exemple, un appel de la fonction hdf5_to_years() avec les paramètres début_année et fin de l'année défini sur 2012 et 2017, respectivement, renvoie un DataFrame avec six lignes, chacune contenant la somme des précipitations annuelles par pixel. Un appel ultérieur de ce DataFrames' signifier() La méthode donne – en fonction de l'axe spécifié – les précipitations annuelles moyennées dans l'espace ou dans le temps.

La figure 5 montre l'appel de fonction décrit ci-dessus et un extrait du DataFrame de sortie créé situé dans les montagnes du Harz, une chaîne de montagnes basses dans la zone de transition entre le nord et le centre de l'Allemagne, dans un Jupyter Notebook (https://jupyter.org/) .

Agréger les données RADKLIM RW aux sommes de précipitations annuelles.

Agréger les données RADKLIM RW aux sommes de précipitations annuelles.

Intérieurement, hdf5_to_years() n'est qu'une fonction wrapper qui appelle load_years_and_resample(), qui est en fait utilisé par tous radprocles fonctions de rééchantillonnage de. Il itère sur tous les mois au cours de toutes les années de la période spécifiée, le DataFrame de chaque mois étant chargé et rééchantillonné individuellement afin de réduire la mémoire requise. Les DataFrames sont soit rééchantillonnés à la fréquence cible respective, soit, si cette dernière est égale ou inférieure à « mois », ils sont rééchantillonnés en un DataFrame à une ligne avec la somme des précipitations mensuelles. Le premier DataFrame du mois rééchantillonné de la première année est initialisé en tant que futur DataFrame de sortie et ensuite, l'un après l'autre, tous les DataFrames du mois rééchantillonné sont ajoutés. Après les boucles, le DataFrame de sortie est finalement rééchantillonné à la fréquence cible.

Échange de données avec ArcGIS

Radproc's arcgis Le module fournit un ensemble de fonctions pour l'échange de données entre ArcGIS et Python ainsi que certaines fonctions d'analyse géospatiale, par exemple, pour des statistiques zonales étendues et l'extraction de données à partir de cellules raster vers des points.

Pour l'exportation de données radar de DataFrames vers des jeux de données raster uniques, la fonction export_to_raster() peut être utilisé, tandis que la fonction export_dfrows_to_gdb() gère l'exportation de DataFrames entiers dans de nouvelles géodatabases fichier. Cette dernière fonction exporte chaque ligne DataFrame vers un jeu de données raster, grâce auquel elle dérive automatiquement les noms de fichiers de l'index DataFrame. De plus, une liste de paramètres statistiques peut être transmise à la fonction pour calculer certaines caractéristiques statistiques à partir du DataFrame d'entrée et les exporter également. Par exemple, un statistiques list avec les entrées « moyenne » et « max » donne deux jeux de données raster exportés supplémentaires, chacun d'eux contenant la valeur moyenne et maximale par cellule, respectivement. La figure 6 montre l'appel de fonction et ses résultats pour exporter le DataFrame avec les sommes de précipitations annuelles générées dans la sous-section « agrégation temporelle ».

Exportation des sommes de précipitations annuelles vers des jeux de données raster.

Exportation des sommes de précipitations annuelles vers des jeux de données raster.

De plus, les tables attributaires de classes d'entités peuvent être directement importées dans pandas DataFrames avec attribute_table_to_df() et, en retour, une liste de colonnes DataFrame peut être jointe à une table attributaire en utilisant join_df_columns_to_attribute_table(). Outre l'échange de données avec d'autres géodonnées, cela permet une intégration transparente des classes d'entités ponctuelles, qui est le format de géodonnées typique pour les mesures de pluviomètre, dans le flux de travail d'analyse des données. Il s'agit d'une caractéristique importante pour la comparaison des jeux de données de jauge et de radar. Pour boucler ce cercle d'échange de données, la fonction rastervalues_to_points() reçoit une liste de jeux de données raster et une classe d'entités ponctuelles et, par emplacement, extrait toutes les valeurs raster correspondantes aux champs de la table attributaire.

Détection et comptage des fortes pluies

L'une des principales raisons du développement de RADKLIM était de fournir un ensemble de données nationales hautement résolues pour l'analyse des changements récents dans les événements météorologiques extrêmes liés aux précipitations (Winterrath et al. 2017). Comme point de départ pour l'analyse des fortes précipitations, radproc propose actuellement trois fonctions donnant un aperçu du comportement et de la fréquence des fortes pluies dans une zone d'étude donnée.

La fonction find_heavy_rainfalls() vérifie une période de temps pour le dépassement d'un seuil d'intensité de pluie donné et renvoie un DataFrame avec tous les intervalles répondant aux critères donnés. De cette façon, l'heure et l'emplacement exacts des intervalles de fortes pluies peuvent être identifiés et les intervalles sélectionnés peuvent ensuite être exportés pour visualisation.

En utilisant la même approche itérative que les fonctions de rééchantillonnage, find_heavy_rainfalls() accède à un fichier HDF5 donné via les fonctions de chargement dans le coeur module et vérifie la série temporelle entre les paramètres début_année et fin de l'année pour les intervalles de pluie dépassant des seuils spécifiques. Ici, le paramètre valeur de seuil définit le seuil d'intensité des précipitations en mm par unité de temps (donné par les données d'entrée) à vérifier pour le dépassement indépendamment pour chaque cellule raster. De plus, le paramètre minZone spécifie le nombre de cellules raster dans lesquelles le seuil doit être dépassé pour l'intervalle à sélectionner, ces cellules n'ayant pas besoin d'être adjacentes. Ce paramètre peut être utilisé pour considérer la surface des cellules pluviométriques, mais aussi pour prendre en compte des cellules potentiellement connues biaisées par le fouillis. Enfin, la période à contrôler peut être décrite plus en détail en définissant le saison paramètre à des périodes telles que l'année, l'été, l'hiver ou un seul mois ou une plage de mois.

À titre d'exemple, la figure 7 montre un appel de fonction, qui vérifie si une quantité de précipitations de 100 mm/h (car le jeu de données d'entrée RW a une résolution horaire) a été dépassée dans au moins une cellule n'importe où dans la grille nationale de 1 100 × 900 dans n'importe quel mois de mai dans la période 2001 à 2017. Si cela est vrai, l'intervalle respectif est contenu dans le DataFrame de sortie. Les deux dernières lignes de code sélectionnent toutes les colonnes (cellules) contenant une valeur supérieure à 100 afin de réduire le nombre de colonnes affichées. De plus, cette sélection de cellules donne une idée du nombre de cellules dans lesquelles des quantités de précipitations aussi élevées se sont produites.

Détection d'intervalles de pluie dépassant 100 mm/h.

Détection d'intervalles de pluie dépassant 100 mm/h.

En conséquence, cette brève analyse de l'ensemble de données RADKLIM RW révèle que, sur l'ensemble de l'ensemble de données, une quantité de précipitations de 100 mm s'est produite à neuf intervalles d'heure entre 2001 et 2017 au mois de mai avec un nombre total de 97 cellules dépassant ce nombre. seuil au moins une fois.

En tenant compte des mêmes paramètres, la fonction count_heavy_rainfall_intervals() vérifie également une période de temps pour les dépassements répondant aux critères donnés, mais renvoie un DataFrame à une seule ligne avec un nombre de dépassements par cellule au lieu des intervalles eux-mêmes. Ce décompte donne un bon aperçu de la fréquence des fortes pluies et de leur répartition spatiale dans la zone d'étude.

Enfin, la troisième fonction durée_somme() calcule la somme des précipitations glissantes à partir des données avec une résolution de 5 minutes pour une durée définie et enregistre les DataFrames résultants dans un nouveau fichier HDF5. Le calcul prend en compte les transitions entre les mois suivants et produit des DataFrames mensuels avec une résolution de 5 minutes, dont les intervalles contiennent la somme des précipitations respectives du dernier minutes, c'est-à-dire la dernière /5 intervalles. En raison du format standardisé, le fichier HDF5 résultant peut être utilisé comme entrée pour find_heavy_rainfalls() pour détecter et analyser davantage les événements de précipitations extrêmes qui peuvent avoir été séparés et donc atténués par les limites d'intervalle artificielles dans les données avec une résolution temporelle inférieure telles que RW. Néanmoins, lors de l'analyse des résultats, il faut tenir compte du fait que les intervalles suivants ne sont pas statistiquement indépendants car un seul intervalle original de 5 minutes influence plusieurs intervalles dans l'ensemble de données de durée. Comme les sommes de durée sont une méthode couramment utilisée en génie hydrologique, d'autres méthodes d'analyse s'appuyant sur celles-ci pourraient être mises en œuvre pour radproc dans le futur.

Traitement des données du pluviomètre DWD MR90

Afin de faciliter la comparaison des données et, par conséquent, l'évaluation de la qualité des données, radproc's dwd_gauge module fournit des fonctions pour le traitement automatisé des données pluviométriques. Actuellement, seules les données de jauge d'une minute au format DWD MR90 sont prises en charge, mais d'autres fonctions pour prendre en charge d'autres formats d'entrée, en particulier les données disponibles gratuitement du DWD Climate Data Centre, sont actuellement en cours de développement.

Un jeu de données de pluviomètre MR90 comprend un fichier de données et un fichier de métadonnées. Ces deux fichiers par station de jauge doivent être enregistrés dans des répertoires séparés. Pour prendre en charge la création d'une classe d'entités ponctuelles à partir des métadonnées, la fonction resume_metadata_files() résume les informations sur l'ID de la station, le nom de la station, les coordonnées géographiques et la hauteur au-dessus du niveau de la mer à partir des fichiers de métadonnées dans un seul fichier texte. Un seul fichier de données peut être importé dans un DataFrame à une colonne avec stationfile_to_df().

Enfin, la fonction dwd_gauges_to_hdf5() offre un traitement itératif et une importation automatisés de tous les fichiers de données dans un répertoire. Les données de jauge sont converties dans le même format DataFrame que les données radar. Pour que les formats de données correspondent parfaitement, le fuseau horaire des données de la jauge est converti en UTC et les données sont rééchantillonnées aux mêmes intervalles de 5 minutes que le produit RADKLIM YW de 5 minutes. Le DataFrame final contient une colonne par pluviomètre. Enfin, il est divisé en DataFrames mensuels, qui sont enregistrés au format de fichier standardisé HDF5. Comme décrit ci-dessus, radprocLes fonctions d'analyse et de rééchantillonnage de fonctionnent pour tous les ensembles de données convertis de cette manière. Par conséquent, les appels de fonction pour le rééchantillonnage et la détection de fortes pluies illustrés sur les figures 5 et 7 sont exactement les mêmes pour les données de jauge, à l'exception d'un chemin de fichier HDF5 d'entrée différent. Cependant, au lieu d'exporter les lignes du DataFrame en sortie vers des rasters comme illustré à la figure 6, les lignes peuvent être exportées vers de nouveaux champs d'une table attributaire de classe d'entités à l'aide de join_df_columns_to_attribute_table().


Introduction

La couverture sanitaire universelle (CSU) est devenue le point central du discours sur les politiques de santé alors que le monde est passé des objectifs du Millénaire pour le développement (OMD) aux objectifs de développement durable (Objectif 3.8: « Atteindre la CSU, y compris la protection contre les risques financiers, accès à des services de santé essentiels de qualité et accès à des, efficace, des médicaments et vaccins essentiels de qualité et abordables pour tous»). L'accès aux soins de santé qui est au cœur de la CSU est un concept insoluble et a de multiples définitions en ce qui concerne la capacité d'obtenir des soins, l'acte de rechercher des soins, la prestation réelle des soins, les indicateurs de ceux-ci et est spécifique au contexte. Le cadre de couverture efficace proposé par Tanahashi englobe le domaine de l'accessibilité (spatiale et non spatiale) en tant qu'élément permettant de déterminer les obstacles à la couverture sanitaire universelle [1]. L'accessibilité est également l'un des thèmes relatifs à l'accès et à l'utilisation intégré dans le cadre conceptuel de Penchansky sur la disponibilité, l'accessibilité, l'abordabilité, l'acceptabilité et l'hébergement [2] où l'accessibilité spatiale est capturée dans les deux premiers composants. L'accessibilité peut être définie comme les facteurs intervenant entre la perception du besoin et la réalisation de l'utilité [3]. L'accessibilité effective aux services médicaux reflète la capacité, la mobilité et le temps d'un individu/de la famille pour atteindre un service une fois que le besoin a été établi par un utilisateur potentiel des services de santé [4], ce qui peut être distingué de accessibilité potentielle qui implique simplement l'existence d'un service, qu'il soit ou non effectivement accessible. L'accessibilité spatiale mesurant l'impédance de déplacement (distance ou temps) entre l'emplacement du patient et les points de service a un impact sur la progression de l'accès potentiel à l'accès réalisé.

Les systèmes d'information géographique sont l'une des suites de solutions basées sur les technologies de l'information et de la communication recommandées par l'Organisation mondiale de la santé (OMS) et la Banque asiatique de développement (BAD) pour remédier à la résilience du système et aux inefficacités de la couverture sanitaire universelle [5]. Les données géospatiales sont directement pertinentes pour les trois principales fonctions du système de santé publique du pays : surveiller la santé de la communauté et identifier les problèmes de santé et les priorités garantir l'accès universel à des soins appropriés et rentables et l'élaboration de politiques pour résoudre les problèmes de santé locaux et nationaux [6]. La plupart des mesures publiées de l'accessibilité spatiale aux soins de santé peuvent être classées plus simplement en quatre catégories : les ratios prestataires-population, la distance au prestataire le plus proche, la distance moyenne à l'ensemble des prestataires et les modèles gravitationnels de l'influence des prestataires [7]. Cependant, il existe une lacune majeure en ce qui concerne les études explorant la dimension de l'accessibilité géographique et une littérature encore plus rare se penchant sur la modélisation spatiale en utilisant des techniques appropriées au contexte. Dans le contexte indien en particulier, la question de la distance-temps en tant qu'obstacles aux services de santé n'a pas été analysée systématiquement et la cartographie numérique n'a été utilisée que pour la visualisation des indicateurs de santé plutôt que pour la prise de décision éclairée.

La taxonomie pour les études sur la santé catégorise l'étude de l'accessibilité spatiale comme l'étude du potentiel spatial qui est étudiée à la fois par l'approche de la distance et du temps. Cependant, les distances en ligne droite ne sont pas symptomatiques d'une véritable accessibilité des prestataires en raison de la distance routière, de la qualité, du terrain et des variations saisonnières variés et surestiment la population qui se trouve à moins d'une heure de l'établissement de santé [8]. Ainsi, l'utilisation de l'altitude du réseau de transport et d'autres barrières naturelles peut fournir des estimations plus précises. Cependant, la littérature indique une efficacité relative des techniques basées sur des trames vis. une vis. analyse de réseau spécifiquement dans les zones avec des infrastructures et un réseau routier rudimentaires/délabrés. L'étude de Delamer [9] a révélé une méthode basée sur le raster identifiant plus de superficie totale, de codes postaux et de population comme étant mal desservis que la méthode de réseau, car la méthode de raster a produit moins de zone contiguë unique que la méthode de réseau. L'analyse raster en incorporant à la fois les modes de déplacement réseau et hors réseau et en permettant un ensemble complexe d'obstacles corrige les limitations du modèle de distance en ligne droite et de l'analyse du réseau, et est donc la méthode d'analyse préférée dans les environnements éloignés, ruraux et topographiquement difficiles . Par conséquent, notre étude s'est efforcée d'adopter une approche globale et holistique pour modéliser l'accessibilité spatiale et la couverture de la population dans le cadre de la zone. L'étude actuelle a tenté de fournir une analyse succincte via une modélisation multimodale pour évaluer la proximité et la couverture en utilisant à la fois la distance euclidienne et l'approche basée sur le raster. Les surfaces d'accès géographique et de couverture spatiale produites dans notre analyse fournissent des outils visuellement puissants qui peuvent être utilisés pour soutenir la recherche en santé et la prise de décision pour la planification et l'allocation des ressources au niveau du district, aidant ainsi à résoudre l'énigme de l'emplacement-allocation. La raison d'être de cette étude est de démontrer des variations spatiales significatives dans l'accessibilité géographique et la couverture spatiale du système de santé à travers différents scénarios de voyage. La caractéristique essentielle de cette approche est d'incorporer des informations sur la demande et l'offre de soins afin d'aider les planificateurs de la santé à identifier les emplacements potentiels de nouveaux établissements de santé où une augmentation maximale de l'accessibilité peut être obtenue. À notre connaissance, il s'agit de la première étude indienne explorant différents ensembles de services de santé en tant que mesure géographique de l'indicateur 3.8.1 (Couverture des services de santé essentiels) de l'Objectif 3, Objectifs de développement durable. Les études existantes ne portent que sur un seul service de santé ou sont basées sur l'hypothèse que n'importe quel service du réseau des établissements de santé peut être choisi s'il est accessible dans un temps de trajet spécifié, ce qui est une hypothèse irréaliste car la fourniture de services et la préparation des établissements sont très hétérogènes dans le cadre indien. . Par conséquent, notre étude est une improvisation par rapport à la littérature précédente, car une analyse distincte a été menée en subdivisant les établissements de santé et la grille de population en tandem avec le type de service à l'étude. Nous avons effectué une cartographie détaillée de la disponibilité des services de l'ensemble du réseau d'établissements de santé publique dans notre zone d'étude, permettant d'identifier les établissements fournissant des services spécifiques. Une autre nouveauté de notre étude découle de l'approche méthodologique holistique consistant à intégrer une base de données d'enquêtes sur les ménages permettant une approche participative, dynamique et interactive de paramétrage des scénarios de déplacement, du mode de transport et des vitesses de déplacement en utilisant des données d'utilisation réelles et des expériences individuelles par les utilisateurs, alors que la littérature actuelle est contraintes par la disponibilité de données d'entrée précises et les limitations sont inhérentes aux hypothèses et aux paramétrages. Améliorer la précision et la pertinence dans ce contexte nécessite une plus grande accessibilité et une plus grande flexibilité des outils de modélisation du temps de déplacement pour faciliter l'incorporation des connaissances locales et l'exploration rapide de plusieurs scénarios de déplacement [10]. L'intégration de ces connaissances locales affine les estimations car le temps de déplacement et l'étendue des zones de chalandise sont sensibles au mode de transport et à la vitesse de déplacement. De plus, nous avons également rassemblé et synthétisé les données administratives dans notre cadre pour aider à estimer la couverture de la population. Enfin, l'accessibilité géographique dans des contextes difficiles comme les zones rurales, reculées et de conflit pose de formidables défis aux utilisateurs. Plus précisément, la population résidant dans les zones frontalières contestées doit faire face à des menaces de sécurité particulières, car des épisodes de tirs et de bombardements obstruent davantage l'accès physique. Pourtant, il y a une absence de représentation des contextes difficiles dans la littérature et l'accessibilité spatiale pour atteindre la population cible dans les zones fragiles n'est pas explorée, ce que nous avons tenté dans la présente étude.


RHESSysWorkflows

introduction

RHESSysWorkflows fournit une série d'outils Python pour effectuer des workflows de préparation de données RHESSys. Ces outils s'appuient sur le système de workflow défini par EcohydroLib.

Avant de lire à l'avance, vous voudrez peut-être consulter ce screencast, qui fournit un aperçu conceptuel de RHESSysWorkflows.

Table des matières

Pour toute question ou assistance, contactez Brian Miles

Ce travail a été soutenu par les subventions NSF suivantes

Prix ​​no. 1239678 EAGER : Recherche collaborative : Banc d'essai d'interopérabilité - Évaluation d'une architecture en couches pour l'intégration des capacités existantes

Prix ​​no. 0940841 Consortium de fédération DataNet.

Prix ​​no. 1148090 Recherche collaborative : SI2-SSI : une infrastructure logicielle interactive pour soutenir l'innovation collaborative dans les sciences hydrologiques

Ces instructions vous guideront tout au long de l'installation de RHESSysWorkflows (et EcohydroLib) ainsi que des applications SIG open source GRASS 6.4 et QGIS GRASS est requis par RHESSysWorkflows, et QGIS est pratique pour visualiser les données SIG acquises et produites lorsque vous créez des modèles RHESSys.

Ces instructions sont adaptées aux utilisateurs d'OS X et de Linux (en particulier Ubuntu 14.04 ou 15.04 15.10 n'est pas compatible car il est livré avec GRASS 7 plutôt que GRASS 6.4), mais l'installation sous d'autres distributions Linux est également possible. RHESSysWorkflows peut en théorie fonctionner sous Windows, mais cela n'a jamais été testé. Les utilisateurs de Windows sont encouragés à exécuter un Ubuntu sous une machine virtuelle.

RHESSysWorkflows est compatible avec OS X 10.6 à 10.11, mais seules les versions 10.9 à 10.11 sont officiellement prises en charge. Pour obtenir des instructions d'installation pour OS X 10.6 à 10.8, consultez les instructions d'installation obsolètes vers la fin de ce document.

Pour savoir quelle version d'OS X vous utilisez actuellement, cliquez sur la pomme dans le coin supérieur gauche de l'écran et sélectionnez À propos de ce Mac. Pour connaître la dernière version d'OS X que votre ordinateur peut exécuter, visitez cette page utile.

Si vous rencontrez des problèmes lors de l'installation, veuillez vérifier les notes d'installation avant de contacter les développeurs pour obtenir de l'aide.

Installation sur OS X avec Homebrew

Les méthodes précédentes d'installation de RHESSysWorkflows sous OS X reposaient sur les packages SIG officiels de GRASS 6.4. Malheureusement, le GRASS 6.4 officiel (et le nouveau GRASS 7 d'ailleurs) ne sont pas compatibles avec les nouvelles améliorations de sécurité dans OS X 10.11 (El Capitan). Plutôt que de désactiver cette nouvelle mesure de sécurité (appelée System Integrity Protection), nous recommandons aux utilisateurs de RHESSysWorkflows d'utiliser une nouvelle méthode d'installation basée sur Homebrew, qui installera GRASS sans nécessiter la désactivation des fonctionnalités de sécurité de votre système d'exploitation.

Homebrew est un système de gestion de packages tiers qui facilite l'installation de logiciels open source sous OS X. Chaque package logiciel que l'on peut installer via Homebrew s'appelle une formule. Pour rechercher une formule logicielle disponible, visitez Braumeister.

Au cours de l'installation, vous pouvez être invité à installer les outils de développement de ligne de commande OS X. Choisissez "Installer".

Si vous avez déjà installé Homebrew, assurez-vous de faire ce qui suit avant de continuer:

Un robinet permet aux développeurs de logiciels de maintenir une collection de formules logicielles OSGeo4Mac organise un certain nombre de formules liées aux logiciels SIG open source.

Maintenant Homebrew est installé et il nous suffit d'installer quelques dépendances logicielles avant d'installer RHESSysWorkflows.

Installer les dépendances pour GRASS, QGIS et RHESSysWorkflows

Tout d'abord, installez XQuartz, qui est requis par GRASS, en exécutant la commande suivante depuis l'application Terminal :

Notez que cela installera une copie distincte de Python 2.7 afin de ne pas interférer avec la copie de Python 2 fournie avec OS X.

Installer RHESSysWorkflows et les packages Python

Pour installer RHESSysWorkflows et ses dépendances (y compris EcohydroLib), saisissez ce qui suit depuis le terminal Terminal :

Mise à niveau vers une nouvelle version de RHESSysWorkflows

Pour passer à une version plus récente de RHESSysWorkflows, saisissez ce qui suit dans le terminal :

Si pip n'installe pas la version que vous attendez, il peut être nécessaire de supprimer d'abord RHESSysWorkflows et Ecohydrolib avant d'installer la nouvelle version (en particulier sous Linux où certains packages Python ne parviennent pas à se compiler lorsqu'ils sont installés via pépin):

Installez GRASS et QGIS en utilisant Homebrew comme suit depuis le terminal :

Vous devrez également installer une bibliothèque Python pour accéder aux bases de données géospatiales PostGIS. Ceci est requis par QGIS :

Ceci conclut la partie spécifique à OS X Homebrew des instructions d'installation.

Installation sur Ubuntu Linux 14.04 ou 15.04

Installez les dépendances RHESSysWorkflows/EcohydroLib en utilisant apt-get :

Remarque : ce qui précède fonctionne pour Ubuntu 14.04. Pour la 15.04, l'empaquetage de GDAL a changé, utilisez ce qui suit pour installer les dépendances sous Ubuntu 15.04 :

Ubuntu 15.10 n'est pas compatible avec RHESSys ou RHESSysWorkflows car cette version d'Ubuntu utilise GRASS 7, qui n'est pas encore pris en charge par RHESSys ou RHESSysWorkflows. Si vous souhaitez utiliser une autre distribution Linux, assurez-vous qu'elle fournit des versions similaires des dépendances ci-dessus.

Installer les packages RHESSysWorkflows et Python sous Linux

Pour installer RHESSysWorkflows et ses dépendances (y compris EcohydroLib), saisissez ce qui suit depuis votre Terminal :

Mise à niveau vers une nouvelle version de RHESSysWorkflows

Pour passer à une version plus récente de RHESSysWorkflows, saisissez ce qui suit dans le terminal :

Si pip n'installe pas la version que vous attendez, il peut être nécessaire de supprimer d'abord RHESSysWorkflows et Ecohydrolib avant d'installer la nouvelle version (en particulier sous Linux où certains packages Python ne parviennent pas à se compiler lorsqu'ils sont installés via pépin):

Ceci conclut la partie spécifique à Linux des instructions d'installation.

Une note sur les numéros de version de RHESSysWorkflows

Chaque projet ne peut être utilisé qu'avec des versions compatibles de RHESSysWorkflows/Ecohydrolib. Les versions compatibles sont celles qui écrivent le même numéro de version dans le magasin de métadonnées pour un projet donné. Cette vérification de compatibilité est nécessaire pour assurer à la fois la reproductibilité scientifique et s'assurer que vos workflows ne sont pas corrompus par des versions incompatibles. Nous nous efforçons de maintenir la compatibilité entre les versions de RHESSysWorkflows/Ecohydrolib, mais parfois l'activation de nouveaux scénarios de workflow nécessite des modifications incompatibles. Les notes de version pour chaque version indiqueront quand une nouvelle version rompt la compatibilité descendante. La bonne nouvelle est que vous pouvez avoir plusieurs copies de RHESSysWorkflows/Ecohydrolib installées sur votre ordinateur en même temps. Pour ce faire, vous devez effectuer les opérations suivantes :

Créez un nouvel environnement virtuel pour chaque version de RHESSysWorkflows que vous souhaitez exécuter

Activez un environnement virtuel dans lequel vous souhaitez installer une version spécifique de RHESSysWorkflows

Installez RHESSysWorkflows dans l'environnement virtuel, par exemple pour installer la version 1.0 :

pip installer rhessysworkflows==1.0

Non pas que vous n'ayez pas besoin d'utiliser 'sudo' lors de l'exécution dans un environnement virtuel car les fichiers sont installés dans un répertoire appartenant à votre compte utilisateur.

Installer les modules complémentaires GRASS pour RHESSysWorkflows

Suivez ces étapes pour installer les addons GRASS sous OS X et Linux :

Créez un nouvel emplacement (peu importe où, nous l'utiliserons uniquement pour exécuter la commande g.extension pour installer les extensions).

Quittez GRASS (fermez toutes les fenêtres de l'interface graphique, puis tapez sortir dans la fenêtre de ligne de commande GRASS).

Sous OS X uniquement, une fois que vous avez quitté GRASS, procédez comme suit :

Pour plus d'informations sur ces addons (r.soils.texture et r.findtheriver), voir :

Configurer le fichier de configuration EcohydroLib et RHESSysWorkflows

Choisissez le fichier de configuration de prototype approprié :

Enregistrez dans un fichier nommé '.ecohydro.cfg' stocké dans votre répertoire personnel et remplacez toutes les occurrences de <monnomutilisateur> avec votre nom d'utilisateur (Pour connaître votre nom d'utilisateur OS X ou Linux, utilisez le qui suis je commande dans le terminal).

Définissez la variable d'environnement ECOHYDROLIB_CFG pour que RHESSysWorkflows puisse trouver votre fichier de configuration

Sous OS X, depuis Terminal, procédez comme suit :

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

Si vous utilisez Linux, procédez comme suit :

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

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

Rechargez le profil bash (ou fermez et ouvrez une nouvelle fenêtre de terminal) :

source /.bash_profile ( /.profile sous Linux)

Ceci conclut la partie configuration des instructions d'installation et de configuration.

Utilisation de RHESSysWorkflows - Introduction

Tous les outils EcohydroLib et RHESSysWorkflows sont exécutés à partir de la ligne de commande. Chaque outil stocke les données et métadonnées associées à un flux de travail unique dans un répertoire, appelé un répertoire du projet. Les métadonnées sont stockées dans un fichier dans le répertoire du projet appelé métadonnées.txt. Il ne peut y avoir qu'un seul metadata.txt dans un répertoire de projet, il est donc essentiel que chaque workflow ait son propre répertoire de projet.

En plus d'enregistrer automatiquement les informations de provenance des données et les étapes de traitement d'un flux de travail, le magasin de métadonnées permet un couplage lâche entre les outils utilisés pour exécuter un flux de travail particulier. De par sa conception, chaque outil de workflow exécute à peu près une fonction distincte. Cela permet des flux de travail flexibles. Chaque outil de workflow écrit une série d'entrées dans les métadonnées pour refléter le travail effectué par l'outil. La plupart des outils de workflow nécessitent la présence de certaines entrées dans le magasin de métadonnées pour effectuer le travail qu'ils effectueront. Par exemple, avant que les données DEM pour l'étude puissent être téléchargées à partir de DEMExplorer, la zone de délimitation de la zone d'étude doit être connue. L'outil qui interroge DEMExplorer n'a pas besoin de savoir comment le cadre de délimitation a été généré, il se soucie seulement que le cadre de délimitation soit présent dans le magasin de métadonnées. Enfin, le magasin de métadonnées aide les utilisateurs à orchestrer les flux de travail en exigeant que seules les nouvelles informations requises à chaque étape soient saisies pour exécuter une commande particulière, d'autres informations requises peuvent être interrogées à partir des métadonnées.

Chaque outil de workflow imprimera les informations d'utilisation lorsqu'il est exécuté seul, par exemple en exécutant :

Cela indique que l'argument -p (a.k.a. --projectDir) est requis, c'est-à-dire que vous devez spécifier le répertoire du projet associé au workflow pour lequel vous exécutez l'outil. Pour de nombreux outils EcohydroLib/RHESSyWorkflows, il s'agit du seul paramètre de ligne de commande requis.

C'est une bonne pratique lors de l'exécution d'une commande d'exécuter d'abord la commande sans arguments de ligne de commande. Cela vous montrera les paramètres requis et facultatifs. Pour obtenir une aide détaillée pour une commande donnée, exécutez la commande avec l'argument -h (a.k.a. --help), par exemple :

Notez que bien que cet outil particulier, et les outils RHESSysWorkflows en général, aient des noms longs, ils sont longs pour être descriptifs afin d'être plus faciles à utiliser. Pour éviter d'avoir à taper ces noms longs, nous vous encourageons à utiliser languette achèvement dans le terminal. Pour utiliser la complétion par tabulation, saisissez simplement les premiers caractères d'une commande, puis appuyez sur la touche « tabulation » de votre clavier. Le nom complet de la commande sera « complété » pour vous sur la ligne de commande. Si le nom entier n'est pas « complet » pour vous, appuyez à nouveau sur la touche Tab pour voir la liste des commandes qui correspondent à ce que vous avez tapé jusqu'à présent. Une fois que vous avez tapé suffisamment de caractères pour identifier la commande de manière unique, appuyez à nouveau sur la touche Tab pour compléter le nom de la commande.

Utilisation de RHESSysWorkflows - Workflows typiques

Un flux de travail typique consistera à exécuter des outils de traitement/enregistrement de données d'EcohydroLib. Une fois les ensembles de données requis en place (par exemple, DEM, sols, couverture végétale, etc.), les outils RHESSysWorkflows peuvent être exécutés pour créer le fichier mondial et la table de flux associés à un modèle RHESSys.

Dans les sections suivantes, deux exemples de workflows sont décrits : (1) en utilisant les données de l'infrastructure nationale de données spatiales (USGS, NHD, NLCD, SSURGO, SRTM) et (2) en utilisant des données locales personnalisées. Les combinaisons d'outils exécutées dans ces workflows représentent deux des nombreux workflows uniques possibles.

Workflow national des données spatiales

Commencez par créer un répertoire appelé 'standard'. Ce sera votre répertoire de projet pour cet exemple de workflow. Vous pouvez créer ce répertoire n'importe où sur votre ordinateur où vous avez un accès en écriture (par exemple dans votre répertoire personnel).

Spécifiez une donnée de flux USGS à localiser sur le réseau NHD

Tout d'abord, choisissez le débitmètre USGS, identifié par le numéro de site USGS, pour lequel vous souhaitez créer un modèle RHESSys. Notez que même si vous pouvez sélectionner des jauges qui drainent de grands bassins, si vous prévoyez d'utiliser les données de sols SSRUGO acquises à l'aide de l'outil RHESSysWorkflows GetSSURGOFeaturesForBoundingbox, la zone d'étude doit être inférieure à 10 000 km².

Pour localiser la jauge USGS d'intérêt sur le réseau de lignes de flux NHD, exécutez l'outil suivant :

Cela créera le magasin de métadonnées pour votre projet dans un fichier nommé metadata.txt dans le répertoire du projet « standard ». Le magasin de métadonnées sera renseigné avec l'ID de la jauge (le numéro de site que vous avez spécifié sur la ligne de commande), ainsi que le code de portée NHD et la mesure de portée associés à cette jauge. Par défaut, RHESSysWorkflows utilisera un service Web pour effectuer cette requête. (Si vous utilisez une copie locale des données NHDPlusV2, ajoutez le -s local argument de ligne de commande de la commande ci-dessus La plupart des utilisateurs devraient l'ignorer.)

Notez que les identifiants de jauge USGS NWIS peuvent commencer par « 0 ». Vous devez entrer ce premier 0 lorsque vous spécifiez une jauge de débit.

Extraire les captages NHD qui s'écoulent à travers la jauge de débit

La base de données NHD relie les lignes d'écoulement des cours d'eau aux bassins versants qui s'y drainent. RHESSysWorkflows peut utiliser ces bassins versants, stockés dans un fichier de formes dans votre répertoire de projet, pour déterminer la zone de délimitation géographique de votre zone d'étude (voir ci-dessous). Ce cadre de délimitation peut ensuite être utilisé pour extraire les données spatiales de votre zone d'étude à partir d'ensembles de données stockés localement ainsi que ceux disponibles via des interfaces de services Web.

Pour extraire un fichier de formes des bassins versants NHD qui s'écoulent à travers votre jauge de débit, exécutez l'outil suivant :

(Si vous utilisez une copie locale des données NHDPlusV2, ajoutez le -s local argument de ligne de commande de la commande ci-dessus La plupart des utilisateurs devraient l'ignorer.)

Vous devriez maintenant voir le fichier de formes de la zone d'étude dans votre répertoire de projet. Vous pouvez visualiser la zone d'étude, ainsi que la jauge de débit, dans QGIS. Notez que le fichier de formes de la zone d'étude ne représente pas la délimitation de votre bassin versant, mais devrait plutôt être un sur-ensemble du bassin versant. Nous délimiterons votre bassin versant à l'aide de GRASS GIS.

Obtenir un cadre de délimitation pour la zone d'étude

Maintenant que RHESSysWorkflows dispose d'une représentation SIG de votre zone d'étude, il peut déterminer l'étendue ou la zone de délimitation (également parfois appelée « rectangle de délimitation minimum ») de la zone d'étude. Pour ce faire, exécutez l'outil suivant :

Comme avec de nombreuses commandes EcohydroLib/RHESSysWorkflows, vous ne verrez pas grand-chose de la sortie imprimée à l'écran, n'ayez crainte. Les commandes écrivent ce qui est nécessaire pour les futures étapes du workflow dans le magasin de métadonnées associé à votre répertoire de projet. Si vous ouvrez le magasin de métadonnées, le fichier appelé métadonnées.txt dans le répertoire du projet la norme, vous pouvez voir les coordonnées du cadre de délimitation stockées dans le zone d'étude section recherchez l'attribut nommé bbox_wgs84.

Acquérir des données de terrain auprès de l'U.S. Geological Survey

L'U.S. Geological Survey (USGS) a développé un prototype de service Web pour le téléchargement de données de terrain basé sur le National Elevation Dataset (NED). Maintenant que nous avons défini la zone de délimitation de notre zone d'étude, il est très facile de télécharger les données DEM à partir de ce service Web, comme suit :

Par défaut, cet outil téléchargera un extrait de données de terrain pour votre zone d'étude à partir du National Elevation Dataset (NED) de 30 mètres (1/3 seconde d'arc) USA DEM. Le DEM sera stocké dans un projet UTM (référence WGS84) avec la zone UTM appropriée choisie pour vous. Vous pouvez remplacer à la fois le type de couverture DEM et le système de référence spatiale cible en spécifiant les paramètres de ligne de commande appropriés auxquels les systèmes de référence spatiale doivent faire référence par leur code EPSG (voir http://www.spatialreference.org/ref/epsg/ pour plus d'informations ). De plus, vous pouvez choisir de rééchantillonner l'extrait DEM à une autre résolution spatiale. Pour savoir comment spécifier ces options, émettez l'argument de ligne de commande help comme suit :

Notez qu'EcohydroLib/RHESSysWorkflows utilise la résolution, l'étendue et la référence spatiale du DEM comme référence pour tous les autres rasters importés dans ou générés par les outils de workflow suivants.

Enfin, vous n'êtes pas obligé d'utiliser un DEM du service Web USGS. Voir le Workflow de données locales personnalisé exemple ci-dessous, ainsi que le Travailler dans des bassins versants en dehors des États-Unis rubrique pour plus d'informations.

Extraire les données d'occupation du sol des données locales NLCD 2006 ou 2011

EcohydroLib facilite l'importation de tuiles NLCD 2006 ou 2011 personnalisées pour votre zone d'étude dans votre projet à partir de services Web hébergés par U.S. Geological Survey. Par exemple, pour acquérir des données NLCD 2011 :

Cette commande téléchargera des données NLCD 2011 correspondant à l'étendue, la résolution et la référence spatiale de votre DEM et stockera la tuile dans votre répertoire de projet. (Si vous souhaitez donner un nom particulier à votre tuile NLCD, utilisez le outfile option de ligne de commande. Pour télécharger à la place les données NLCD 2006, procédez comme suit :

Télécharger les données sur les sols de SSURGO

L'USDA NRCS fournit le Soil Data Mart, une interface sophistiquée basée sur des services Web pour interroger et télécharger des données de sols SSURGO haute résolution. Les données SSURGO sont structurées comme une base de données complexe composée à la fois de données spatiales et tabulaires. Pour plus d'informations sur ce format de base de données et les données d'étude de sol exposées via la base de données SSRUGO, veuillez consulter les métadonnées SSURGO.

EcohydroLib fournit deux outils qui facilitent la génération des propriétés hydrauliques du sol couramment nécessaires à la modélisation écohydrologique (à savoir les propriétés numériques Ksat, porosité, pourcentage de sable, pourcentage de limon et pourcentage d'argile). Le premier outil télécharge les caractéristiques de l'unité de carte spatiale pour votre zone d'étude ainsi que les données tabulaires des propriétés hydrauliques du sol. Ces données spatiales et tabulaires sont jointes et écrites dans votre répertoire de projet en tant que ESRI Shapefile. Pour plus d'informations sur les attributs interrogés et sur la manière dont les composants non spatiaux de mapunit sont agrégés par le code, veuillez consulter le code source EcohydroLib ici et ici.

Pour télécharger des fonctionnalités et des attributs SSURGO dans votre projet, exécutez la commande suivante :

Notez que pour les problèmes de performances du serveur et de bande passante réseau, Soil Data Mart limite les requêtes spatiales SSURGO aux zones inférieures à environ 10 000 km². Pour des raisons de performances, EcohydroLib (et donc RHESSysWorkflows) limite la taille des requêtes SSURGO à

2 500 km². Si votre zone d'étude est plus grande que cela, vous devez ObtenirSSURGOFeaturesForBoundingbox pour diviser la requête en plusieurs sous-requêtes. La mosaïque de requêtes SSURGO est activée à l'aide du --tuile option:

Ce que cela fait est de diviser la requête plus grande au Soil Data Mart en plusieurs requêtes plus petites (éventuellement des centaines ou des milliers). Les résultats de ces sous-requêtes sont ensuite automatiquement assemblés en une seule couche d'entités vectorielles par EcohydroLib. Pour réduire les temps de téléchargement, les requêtes en mosaïque sont par défaut effectuées en parallèle. Le nombre de requêtes à exécuter en parallèle est déterminé automatiquement par le nombre de threads simultanés pris en charge par votre ordinateur (voir ici pour plus d'informations). Utilisez le --nprocesses option pour modifier le nombre de requêtes SSURGO à effectuer en parallèle. Par exemple, pour effectuer 16 requêtes en parallèle (ce qui devrait convenir sur une machine à 8 threads) :

Pour désactiver les requêtes parallèles :

Vous pouvez visualiser les fonctionnalités SSURGO téléchargées et les données tabulaires jointes en ouvrant le shapfile dans QGIS. Le fichier de formes SSURGO a un nom long, bien que descriptif, qui inclut les coordonnées de la zone de délimitation de votre zone d'étude. Si vous n'êtes pas sûr du fichier de formes à ouvrir dans votre répertoire de projet, le sol_caractéristiques attribut de la manifeste section de votre magasin de métadonnées répertorie le nom de fichier.

Pendant que vous regardez le magasin de métadonnées, faites défiler jusqu'au provenance section. Bien que les noms d'attributs soient un peu désordonnés, vous pouvez voir que pour chaque entrée de manifeste, EcohydroLib a enregistré des informations de provenance détaillées. Pour les caractéristiques du sol SSURGO, l'URL des services Web Soil Data Mart est répertoriée comme source de données pour les données DEM téléchargées à partir de DEM Explorer, EcohydroLib enregistre l'URL exacte utilisée pour télécharger votre DEM. Enfin, si vous faites défiler un peu plus loin, vous pouvez voir que le l'histoire La section du magasin de métadonnées enregistre l'ordre de chaque commande EcohydroLib/RHESSysWorkflow que vous avez exécutée dans ce workflow, y compris tous les paramètres de ligne de commande.

EcohydroLib fournit également un deuxième outil pour traiter les données des sols SSURGO. Cet outil vous permet de créer des cartes raster de polygones SSURGO mapunit en utilisant les propriétés numériques du sol suivantes comme valeurs raster : Ksat, porosité, pourcentage d'argile, pourcentage de limon et pourcentage de sable). Utilisez la commande suivante pour générer tous ces rasters dans votre répertoire de projet :

Plus tard dans cet exemple de workflow, nous utiliserons les rasters de pourcentage de sable et de pourcentage d'argile pour générer une carte de texture de sol USDA, que nous utiliserons pour définir les paramètres de sol RHESSys pour notre bassin versant d'étude.

Enregistrement de données locales personnalisées : données LAI

EcohydroLib ne fournit actuellement pas d'accès direct aux données d'indice de surface foliaire de la végétation provenant de sources de télédétection. Les données LAI sont nécessaires à RHESSys pour initialiser les réserves de carbone et d'azote de la végétation. RHESSysWorkflows peut utiliser des rasters LAI fournis par l'utilisateur pour fournir ces données LAI initiales à RHESSys. Pour cet exemple de workflow, vous pouvez télécharger une image LAI ici. Utilisez la commande suivante pour enregistrer ce raster fourni par l'utilisateur dans votre projet :

Pour que cette commande fonctionne, vous devrez modifier le chemin d'accès au nom de fichier transmis au -r argument pour refléter l'emplacement sur votre ordinateur vers lequel vous avez téléchargé l'exemple d'image LAI.

Notez qu'EcohydroLib/RHESSysWorkflows ne fonctionnent pas avec des fichiers ou des répertoires dont les noms contiennent des espaces. Ce problème sera traité dans une prochaine version.

De plus, l'étendue de l'image LAI ne correspond pas tout à fait à celle de notre DEM. Par défaut, RegisterRaster n'importera pas un raster qui ne correspond pas à l'étendue du DEM. Utilisez le --Obliger option pour forcer RegisterRaster à importer le raster :

Lors de l'utilisation du Obliger option, il est encore plus important que vous vérifiiez les résultats de la commande pour vous assurer que les données enregistrées avec le workflow sont appropriées pour la modélisation que vous prévoyez d'effectuer. Allez-y et accédez au répertoire de votre projet, recherchez les rasters DEM et LAI et ouvrez-les dans QGIS (vous devrez probablement définir une carte de couleurs pour chacun, sinon toutes les valeurs seront rendues en gris).

Noter la -b (alias. --éditeur) argument donné à la commande ci-dessus.Lorsqu'il est spécifié, ce paramètre facultatif sera stocké dans l'entrée du magasin de données de provenance du raster.

RegisterRaster est un outil générique EcohydroLib qui sait importer plusieurs types de raster dans votre workflow le -t lai indique que nous importons un raster LAI (voir le Workflow de données locales personnalisé pour apprendre à importer d'autres types de raster). RegisterRaster copiera le raster en cours d'importation dans votre répertoire de projet, le raster sera rééchantillonné et reprojeté pour correspondre à la résolution et à la référence spatiale du DEM déjà présent dans le workflow. Vous pouvez choisir la méthode de rééchantillonnage à utiliser ou désactiver le rééchantillonnage, bien que le raster soit rééchantillonné si le système de référence spatiale ne correspond pas à celui du DEM, consultez le message d'aide pour plus d'informations.

À ce stade, nous avons suffisamment de données spatiales dans un format générique (par exemple, GeoTIFF) pour créer des ensembles de données spécifiques à RHESSys à l'aide de RHESSysWorkflows.

Créer un nouvel emplacement GRASS

RHESSys exige que toutes les données spatiales utilisées pour créer un fichier mondial et une table de flux pour un modèle RHESSys soient stockées dans un jeu de cartes SIG GRASS. Nous allons commencer à créer ces données dans RHESSysWorkflows en créant un nouvel emplacement GRASS et un nouveau jeu de cartes dans notre répertoire de projet, et en important notre DEM dans ce jeu de cartes :

Le -ré (a.k.a. *--description") est une description textuelle de cet emplacement GRASS, placez toujours ce paramètre entre guillemets. Si vous le souhaitez, vous pouvez spécifier les noms personnalisés des paramètres GRASS suivants :

  1. dbase, le répertoire dans le répertoire du projet où votre emplacement GRASS sera stocké (par défaut 'GRASSData')
  2. emplacement (par défaut à 'default')
  3. mapset (par défaut à 'PERMANENT')

Utilisez le --écraser à CreateGRASSLocationfromDEM pour écraser l'emplacement GRASS créé par une invocation précédente de CreateGRASSLocationFromDEM. Notez que la plupart des commandes RHESSysWorkflows offrent la même option. La capacité d'écraser les ensembles de données GRASS s'adapte à la nature souvent exploratoire des flux de travail de préparation des données écohydrologiques. Alors que les données seront écrasées, l'historique des commandes stocké dans le magasin de métadonnées conservera une liste de l'ordre dans lequel vous avez exécuté toutes les étapes du workflow. Cela peut vous aider à retracer les étapes que vous avez suivies pour arriver à l'état actuel du workflow.

Allez-y et ouvrez GRASS, en le pointant vers la base de données nommée GRASSDonnées dans votre répertoire de projet, puis en ouvrant le jeu de cartes PERMANENT dans l'emplacement défaut. Vous devriez pouvoir charger le raster DEM dans la vue cartographique. Nous utiliserons GRASS pour visualiser les résultats des prochaines étapes du workflow, alors gardez GRASS ouvert en arrière-plan.

Importez le code source RHESSys dans votre projet

Pour créer des worldfiles et des tables de flux, RHESSysWorkflows a besoin d'une copie du code source de RHESSys. RHESSysWorkflows utilise également la nouvelle base de données RHESSys ParamDB et les bibliothèques Python pour générer la végétation, le sol, l'utilisation des terres et d'autres paramètres nécessaires à RHESSys. RHESSysWorkflows est uniquement compatible avec la version préliminaire de RHESSys 5.16 et les versions ultérieures du code. À l'heure actuelle, et pour les utilisateurs novices, le moyen le plus fiable d'importer le code source ParamDB et RHESSys dans votre projet consiste à télécharger le code depuis GitHub à l'aide de l'outil ImportRHESSysSource. Cependant, cet outil est également capable d'importer le code source RHESSys stocké sur votre ordinateur. Cela vous permet d'importer le code d'un projet RHESSysWorkflows précédent. ParamDB est toujours téléchargé depuis GitHub, même lorsque le code source RHESSys est importé depuis une source locale.

Pour télécharger ParamDB et le code source RHESSys et les stocker dans votre répertoire de projet, exécutez la commande suivante :

Si vous souhaitez acheter une succursale alternative, utilisez le -b option pour spécifier la branche Git de RHESSys à utiliser (par exemple 'develop'). Par défaut, ImportRHESSysSource utilisera le Maître branche, qui est la branche appropriée à utiliser avec RHESSys 5.18.

Une fois qu'ImportRHESSysSource a terminé d'importer le code source RHESSys dans le répertoire du projet, il compilera tous les outils nécessaires pour créer des fichiers mondiaux et des tables de flux, tout en compilant également le binaire RHESSys. Une fois la commande terminée, ouvrez le rhessy répertoire dans le répertoire de votre projet. Ici, vous pouvez voir la structure de répertoire RHESSys familière pour stocker les paramètres de modèle, les modèles, les fichiers du monde, les tables de flux, les fichiers d'événements temporels et la sortie du modèle. Les outils RHESSys compilés par ImportRHESSysSource seront copiés dans le poubelle répertoire de la rhessy annuaire. Notez également que tout le code source de RHESSys est stocké dans le src annuaire.

Importer les données climatiques RHESSys

En raison de la plus grande variabilité des formats de données climatiques et de la complexité des workflows de séries chronologiques, nous avons choisi de concentrer les efforts de développement sur RHESSysWorkflows afin de faciliter l'acquisition et la manipulation des données géospatiales nécessaires à la création de fichiers de travail et de tableaux de flux RHESSys. Cela signifie que le modélisateur est responsable de la création des données climatiques nécessaires à la création des fichiers mondiaux RHESSys et à l'exécution des simulations.

RHESSysWorkflows fournit l'outil ImportClimateData pour importer les données climatiques RHESSys dans votre projet. Pour exécuter cet exemple de workflow, téléchargez des exemples de données climatiques ici. Décompressez le fichier dans un emplacement sur votre ordinateur (par exemple dans votre répertoire personnel), cela entraînera un répertoire nommé grimper dans l'emplacement. Exécutez la commande suivante pour importer ces données :

Vous devrez remplacer /chemin/vers/clim avec le chemin du dossier clim décompressé à partir du fichier zip téléchargé ci-dessus.

Pour que vos propres données climatiques fonctionnent avec ImportClimateData, les données doivent être stockées dans leur propre répertoire, chaque station de base ayant un nom de fichier qui se termine par .base. Consultez l'aide de ImportClimateData pour plus d'informations.

Créer une carte des stations climatiques

Si votre bassin versant d'étude comporte plusieurs stations climatiques que vous souhaitez utiliser, vous devez utiliser une carte des stations climatiques pour associer chaque zone de votre fichier mondial à une station climatique particulière. RHESSysWorkflows fournit l'outil GenerateBaseStationMap pour créer une carte raster de vos stations climatiques en utilisant des polygones de Thiessen dérivés des points de stations climatiques, ces points doivent être spécifiés dans un fichier texte dans un format pris en charge par l'outil v.in.acsii de GRASS. Pour ce tutoriel, nous utiliserons un point factice à associer au bwi station climatique importée ci-dessus. Vous pouvez télécharger ce point ici. Une fois téléchargé, décompressez le fichier pour révéler le fichier texte contenant le point, qui devrait ressembler à ceci :

Dans un cas réel, il y aurait des lignes supplémentaires dans ce fichier, une pour chaque station climatique. La première colonne est l'ID de la station de base et doit correspondre au champ base_station_ID du $Fichier .base associé à chaque station climatique.

Lorsque nous créerons le modèle de fichier mondial plus tard dans ce didacticiel, l'outil que nous utilisons pour le faire, GenerateWorldTemplate, s'assurera qu'il existe un fichier de station de base climatique pour chaque valeur raster unique dans votre carte de station de base, le modèle de fichier mondial sera pas être généré si ce n'est pas le cas.

Les deuxième et troisième colonnes représentent les coordonnées X et Y (ou abscisse et ordonnée) de l'entité ponctuelle que nous utiliserons pour représenter l'emplacement de la station climatique. La dernière colonne est le nom de la station climatique et doit correspondre à $ en $.base (c'est-à-dire si le nom de fichier de votre station de base est 'bwi.base', le champ final devrait être 'bwi').

Nous sommes maintenant prêts à utiliser GenerateBaseStationMap pour : importer les points de la station climatique créer des polygones de Thiessen basés sur les points et pixelliser les polygones :

L'outil GRASS v.voronoi est utilisé pour générer les polygones de Thiessen. Notez que certaines versions de cet outil peuvent échouer si vous n'avez que deux points. Espérons que cela sera corrigé lorsque GRASS 6.4.3 sera publié plus tard en 2013.

Délimiter le bassin versant et générer des produits de données dérivés

RHESSysWorkflows automatise le processus de délimitation de votre bassin versant d'étude en fonction de l'emplacement de la jauge de débit enregistrée dans le flux de travail. Dans le cadre de ce processus, de nombreux ensembles de données nécessaires à RHESSys seront dérivés du DEM. Pour délimiter le bassin versant :

Ici le -t (alias. --au seuil) spécifie la taille minimale (en cellules DEM) pour les sous-bassins versants générés par la commande GRASS r.watershed.

Le -une (alias. --areaEstimation) vous permet de fournir une estimation de la superficie (en km²) du bassin versant délimité. DelineateWatershed indiquera si le bassin versant se trouve à moins de 20 % de la zone. Vous pouvez visualiser le bassin versant délimité dans GRASS en affichant la carte raster nommée bassin. Si la superficie ou la forme du bassin versant délimité diffère considérablement de ce à quoi vous vous attendez, vous devrez peut-être modifier la façon dont DelineateWatershed accroche votre jauge de débit sur le réseau de cours d'eau. Ceci est accompli soit en changeant le -s (alias. --streamThreshold) ou le paramètre de seuil de flux et/ou le -w (alias. --streamWindow) paramètre passé à r.findtheriver.

Pour déboguer les problèmes de délimitation des bassins versants, il est également utile d'afficher la jauge de débit d'origine et la jauge de débit capturée superposées sur la carte de zone accumulée en amont (UAA). DelineateWatershed créera des couches vectorielles pour chacun des coordonnées de jauge de débit (nommées jauge et gage_snapped) ainsi qu'une carte raster UAA (nommée uaa).

Bien que nous vous déconseillons d'apporter des modifications au magasin de métadonnées à la main, en dernier recours, vous pouvez capturer l'emplacement de la jauge à la main à l'aide de GRASS et mettre à jour le gage_easting_raw et gage_northing_raw attributs dans le rhessy section du magasin de métadonnées. Ensuite, réexécutez DelineateWatershed comme avant avec l'ajout du --écraser option.

Pour obtenir une liste des jeux de données dérivés générés par DelineateWatershed, utilisez la commande GRASS g.list rast ou consultez le code source de DelineateWatershed.

RHESSysWorkflows fournit GeneratePatchMap, un outil automatisé pour créer des cartes de patch quadrillées et agrégées. Les cartes de patch quadrillées consistent en une grille régulière de la même résolution et de la même étendue que les cartes agrégées DEM peuvent être créées à l'aide de rasters d'indice d'altitude ou d'humidité topographique. Les modélisateurs peuvent également utiliser des cartes de patch personnalisées enregistrées via l'outil RegisterRaster d'EcohydroLib et importées dans GRASS en utilisant ImportRasterMapIntoGRASS (voir ci-dessous pour une description générale de cette commande).

Pour créer une carte de patch quadrillée, entrez ce qui suit dans votre terminal :

Pour créer une carte de patch agrégé d'altitude :

. et une carte agrégée de l'indice d'humidité topographique :

Les patch map agglutinés sont générés en appelant la commande r.clump de GRASS avec le raster source approprié comme importation.

Par défaut, GeneratePatchMap définira la carte de zone comme celle de la carte de patch, mais uniquement si une carte de zone personnalisée n'a pas été enregistrée avec le workflow (par exemple via une combinaison de RegisterRaster et ImportRasterMapIntoGRASS, voir le didacticiel de données personnalisées ci-dessous). Si vous souhaitez remplacer votre carte de zone personnalisée par la carte de patch, utilisez le --forceZone option pour GénérerPatchMap.

Génération d'une carte de texture de sol

Étant donné que nous avons utilisé les outils SSURGO d'EcohydroLib pour générer des cartes raster en pourcentage de sable et en pourcentage d'argile pour notre bassin versant, nous pouvons utiliser le module complémentaire GRASS r.soils.texture pour générer des classes de texture de sol USDA, pour lesquelles la base de données ParamDB de RHESSys contient des paramètres. Il est également possible d'utiliser des cartes de sol personnalisées, que nous explorerons dans le workflow de données locales personnalisé rubrique ci-dessous.

Pour générer notre carte de texture de sol dans GRASS, ainsi que les fichiers de définition de sol RHESSys correspondants, utilisez l'outil GenerateSoilTextureMap comme suit :

Cette commande imprimera des informations sur les classes de texture de sol rencontrées dans la carte de texture de sol et les ID de sol RHESSys par défaut sur lesquels ces classes sont mappées. Vous pouvez afficher la carte de texture de sol résultante (nommée texture du sol) dans l'HERBE. Les fichiers de définition de sol seront stockés dans le définitions répertoire de la rhessy répertoire stocké dans votre répertoire de projet.

Importer la carte LAI dans GRASS

Nous utiliserons la commande générale ImportRasterMapIntoGRASS pour importer notre carte LAI du répertoire du projet dans GRASS, où RHESSys pourra l'utiliser (vous pouvez également dériver une carte LAI de votre carte d'occupation des sols, voir ci-dessous) :

Le -m (alias. --méthode) spécifie comment GRASS doit rééchantillonner le raster en cours d'importation. Les méthodes de rééchantillonnage des valeurs sont celles prises en charge par la commande r.resamp.interp de GRASS, ainsi que rien, ce qui obligera ImportRasterMapIntoGRASS à sauter l'étape de rééchantillonnage.

Générer des cartes d'occupation du sol dans GRASS

RHESSysWorkflows utilise une seule carte d'occupation du sol pour générer les cartes suivantes utilisées par RHESSys :

  • Type de végétation (strate)
  • L'utilisation des terres
  • Routes
  • Surfaces imperméables
  • Indice de surface foliaire (LAI en option)

La première étape de la génération de ces cartes consiste à importer le raster de couverture terrestre de votre répertoire de projet dans GRASS à l'aide de ImportRasterMapIntoGRASS :

Dans notre cas, la carte d'occupation du sol dans notre répertoire de projets est venue des données NLCD 2011 hébergées par l'USGS. Cependant, RHESSysWorkflows prend en charge l'utilisation de cartes d'occupation des sols personnalisées enregistrées via RegisterRaster. Dans les deux cas, nous devons fournir des règles de reclassification raster afin que RHESSysWorkflows sache comment générer des cartes de végétation, d'utilisation des terres, de routes, d'imperméabilité et éventuellement de LAI à partir de la carte d'occupation des sols.
Pour ce faire, nous utilisons l'outil RegisterLandcoverReclassRules :

NLCD2011 est un type de couverture terrestre connu dans RHESysWorkflows (en plus de NLCD2006), donc tout ce que nous avons à faire est d'utiliser le -k (alias. --generateKnownRules) option. Pour une carte d'occupation du sol personnalisée, nous pourrions plutôt utiliser le -b (alias. --buildPrototypeRules) pour générer des règles prototypes que nous pouvons modifier au besoin. Il est également possible de spécifier que les règles de reclassement existantes doivent être importées d'un autre répertoire sur votre ordinateur en utilisant le -r (alias. --ruleDir) paramètre. Pour inclure des règles de reclassement LAI lors de l'enregistrement d'un prototype ou de règles existantes, vous devez utiliser le -l (alias. --includeLaiRules) paramètre

Les règles connues pour NLCD2006 et NLCD2011 fournies avec RHESSysWorkflows incluent un fichier de règles de reclassement LAI avec des valeurs pour les prairies, et les forêts de feuillus à feuilles persistantes et feuillues (tempérées) tirées du projet International Satellite Land Surface Climatology Project II (ISLSCP II). Ces données peuvent être téléchargées ici.

Que ce soit en utilisant des règles connues, en créant des règles de prototype ou en important des règles existantes, RegisterLandcoverReclassRules entraînera la création des quatre fichiers de règles suivants dans le des règles répertoire de votre répertoire de projet :

  • strate.rule
  • landuse.rule
  • règle.imperméable
  • règle.de.route
  • lai-recode.rule (si le --includeLaiRules option a été sélectionnée)

Il n'est pas nécessaire de modifier ces règles pour cet exemple NLCD2011, mais vous devriez prendre un moment pour regarder comment ces règles fonctionnent. RHESSysWorkflows utilise la commande r.reclass de GRASS (r.recode pour créer des cartes LAI), et donc les fichiers de règles suivent ce format.
Il est important de noter que les règles de reclassement de l'occupation du sol pour la strate et l'utilisation des terres doivent aboutir à des cartes raster dont les étiquettes de valeurs correspondent aux noms de classe présents dans la base de données RHESSys ParamDB. Ainsi, soyez très prudent lorsque vous modifiez le côté droit des expressions dans vos règles de reclassement de strate et d'utilisation des terres.

Notez que pour garder une trace des modifications que vous apportez aux règles de reclassement de votre projet dans les métadonnées de votre projet, vous devez utiliser la commande de workflow RunCmd (voir la section sur les workflows personnalisés pour apprendre à utiliser cet outil).

Vous pouvez trouver des informations sur les classes NLCD ici

Une fois les règles de reclassement de l'occupation du sol en place, il est très facile de générer les cartes raster dérivées des données d'occupation du sol ainsi que les fichiers de définition de la végétation et de l'utilisation des sols nécessaires à RHESSys cela se fait à l'aide de la commande suivante :

Si vous souhaitez qu'une carte LAI soit générée, vous devez utiliser le -l (alias. --makeLaiMap) sur la ligne de commande ci-dessus. Cela ne fonctionnera que si vous utilisez des règles de reclassement de couverture terrestre connues, ou si vous avez demandé que RegisterLandcoverReclassRules inclue des règles de reclassement LAI lors de la création de règles prototypes ou de l'utilisation de règles existantes.

Comme avec la carte de texture du sol et l'étape de génération de définition, GenerateLandcoverMaps fournira une sortie descriptive des types de définition de végétation et d'utilisation des terres rencontrés dans les données raster.

Création du fichier mondial pour un bassin versant

Nous sommes maintenant presque prêts à créer le fichier mondial de notre bassin versant. Nous devons d'abord créer le modèle à partir duquel le fichier mondial sera créé. Pour ce faire, nous utiliserons l'outil GenerateWorldTemplate. Heureusement, c'est très facile car le magasin de métadonnées contient presque toutes les informations nécessaires pour créer le modèle. Si vous utilisez plusieurs stations climatiques et que vous disposez donc d'une carte de station de base que vous avez créée à l'aide de GenerateBaseStationMap, il vous suffit de :

Si vous utilisez une seule station climatique et que vous n'avez pas créé de carte de station climatique, vous devez spécifier la station climatique comme suit :

Ici, nous utilisons la station climatique nommée bwi.

Dans les deux cas, s'il manque à votre flux de travail des informations nécessaires à la création du modèle mondial, GenerateWorldTemplate se fermera avec une erreur correspondante.

Si vous voulez voir le fichier modèle généré, ainsi que d'autres informations, utilisez le -v (alias. --verbeux) option

Utilisez maintenant l'outil CreateWorldfile pour créer un fichier mondial à l'aide de ce modèle :

Nous avons spécifié le -v (alias. --verbeux) option de ligne de commande. Cela imprimera des détails sur ce que CreateWorldfile, et les programmes qu'il exécute en votre nom, fait. Ceci est recommandé car ces programmes peuvent échouer de manière complexe que CreateWorldfile peut ne pas être en mesure de détecter, vous voudrez donc probablement savoir ce qui se passe sous le capot.

Lorsque CreateWorldfile se termine, il créera un premier worldfile nommé worldfile_init dans le fichiers monde répertoire dans le rhessy répertoire dans le répertoire de votre projet.

Comme pour la création de worldfile, à ce stade du flux de travail, le magasin de métadonnées de RHESSysWorkflows contient presque toutes les informations nécessaires pour créer une table de flux à l'aide du programme RHESSys createflowpaths (CF). Les deux choix que vous avez sont de savoir si CF doit créer une table de flux qui inclut les routes et/ou inclut une table de flux de surface pour modéliser le routage non topographique des toits. Nous allons tracer les routes dans cet exemple, en laissant les toits pour les données locales personnalisées flux de travail discuté ci-dessous.

Exécutez CreateFlowtable comme suit :

Cela se traduira par la création d'une table de flux appelée flux.monde dans le couler répertoire de votre rhessy annuaire. Maintenant, nous avons presque tout ce dont nous avons besoin pour exécuter des simulations RHESSys.

Initialisation des réserves de carbone de la végétation

RHESSys fournit un programme appelé LAIread pour initialiser les réserves de carbone de la végétation dans votre fichier mondial.

Remarque, LAIread ne doit être utilisé que pour les simulations RHESSys avec une végétation statique (c'est-à-dire que le mode de végétation dynamique n'est pas activé via le -g option de ligne de commande à RHESSys).

L'initialisation des réserves de carbone est un processus en plusieurs étapes qui implique l'exécution de LAI read pour générer un fichier mondial redéfini, l'exécution d'une simulation RHESSys de 3 jours pour incorporer le fichier mondial redéfini, l'écriture d'un nouveau fichier mondial avec les réserves de carbone de végétation initialisées.
RHESSysWorkflows automatise tous ces processus pour vous, il peut même déterminer à quelle date commencer la simulation RHESSys de 3 jours en fonction de vos données climatiques.

Dans la version actuelle de RHESSysWorkflows, RunLAIRead est uniquement capable de lire les dates de début de simulation à partir de données climatiques ponctuelles de séries temporelles. Les utilisateurs de données climatiques maillées ASCII ou NetCDF doivent exécuter LAI lu à la main. La prochaine version de RHESSysWorkflows ajoutera la prise en charge des données climatiques maillées à RunLAIRead.

Vous pouvez exécuter RunLAIRead comme suit :

Notez que nous utilisons également l'option de ligne de commande détaillée ici. La nouvelle version de LAIread basée sur GRASS est relativement nouvelle et moins bien testée, nous vous conseillons donc de surveiller de près ce qu'elle fait.

LAIread s'appuie sur des relations allométriques pour initialiser les réserves de carbone de la végétation. Ces paramètres allométriques n'ont pas encore été ajoutés à RHESSys ParamDB. Une version par défaut des paramètres des classes de végétation de base RHESSys est stockée dans le référentiel de code source RHESSys ParamDB. RHESSysWorkflows stocke ce fichier sous le nom allometric.txt dans le allométrie dossier de la ParamDB de votre rhessys/db dossier.
Vous pouvez modifier ce fichier en fonction de vos besoins avant d'exécuter RunLAIRead.
Consultez le wiki RHESSys pour plus d'informations sur les relations allométriques utilisées par LAIread.

Une fois terminé, un fichier mondial final nommé monde sera créé dans le fichiers monde répertoire de votre rhessy annuaire. Avec ce fichier mondial, vous êtes prêt à effectuer les étapes de workflow de modèle suivantes, notamment : le démarrage, l'étalonnage, les exécutions de scénarios, l'analyse et la visualisation.

Ceci conclut ce didacticiel utilisant RHESSysWorkflows pour créer un fichier mondial RHESSys et une table de flux à l'aide d'une infrastructure de données spatiales standard.

Nous avons besoin d'une autre chose avant de pouvoir exécuter notre modèle, un fichier TEC. TEC signifie "contrôleur d'événements temporels". Nous utilisons un fichier TEC pour dire à RHESSys de faire des choses à certains moments lors d'une simulation.
Par exemple, pour redéfinir le fichier mondial pour simuler la récolte de bois ou un incendie de forêt. Nous utilisons également des fichiers tec pour indiquer à RHESSys quelles sorties de modèle doivent être produites et à quel moment. Pour créer un fichier TEC qui indique à RHESSys d'imprimer les sorties quotidiennes du modèle à partir du 01/10/2008, procédez comme suit :

Pour plus d'informations sur le format de fichier tec, consultez le wiki RHESSys.

Une fois que vous avez construit un modèle RHESSys à l'aide de RHESSysWorkflows, vous pouvez exécuter votre modèle manuellement. Cependant, cela ne capturera pas les informations sur les exécutions du modèle dans les métadonnées de votre projet. Si vous souhaitez enregistrer vos exécutions dans les métadonnées de votre projet, utilisez la commande RunModel :

Notez le '--' dans la ligne de commande. Toutes les options de ligne de commande avant le '--' sont des options requises par RunModel.py, certaines d'entre elles sont également des options RHESSys courantes. Toutes les options après le '--' seront transmises à RHESSys. Étant donné que les métadonnées du projet savent où RHESSys est installé dans le répertoire de votre projet, vous n'avez pas besoin de spécifier le chemin complet de l'un des fichiers d'entrée de RHESSys (par exemple, les fichiers mondiaux, les tables de flux, les fichiers tec, etc.), spécifiez simplement les noms de fichiers. RunModel fera écho à la sortie de la console RHESSys à l'écran (si le -v ou l'option détaillée est spécifiée comme ci-dessus), et enregistrera toujours la même sortie dans un fichier nommé 'rhessys.out' stocké dans le dossier de sortie pour chaque exécution de modèle. Le dossier de sortie sera nommé en fonction de la valeur que vous fournissez pour l'option '-pre' ou le préfixe de sortie.

Travailler dans des bassins versants en dehors des États-Unis

Les étapes de flux de travail d'acquisition de données spatiales américaines standard ci-dessus ne donnent pas accès aux données en dehors des États-Unis (par définition). Cependant, il est toujours possible d'utiliser RHESSysWorkflows pour développer des modèles RHESSys pour les bassins versants en dehors des États-Unis. Une option consiste à utiliser des données locales personnalisées, qui sont décrites ici. Si vous travaillez en Australie, EcohydroLib (et par extension RHESSysWorkflows) donne accès à 1 seconde (

Données DEM d'une résolution de 30 mètres (dérivées des données SRTM) à l'aide d'interfaces de services Web fournies par Geoscience Australia. Ces données sont accessibles via le ObtenirGADEMPourBoundingBox commander. Un flux de travail typique commencerait comme suit. Tout d'abord, définissez votre zone d'étude à l'aide du EnregistrerStudyAreaShapefile commander:

(Remplacez PROJECT_DIR par le nom de votre projet EcohydroLib).

Ensuite, extrayez les coordonnées de la zone de délimitation pour votre zone d'étude :

Ensuite, téléchargez les données DEM de Geoscience Australia :

Actuellement, il existe trois types de données DEM disponibles :

  • 1 seconde Modèle d'élévation numérique SRTM de l'Australie
  • 1 seconde Modèle d'élévation numérique SRTM - Application hydrologique
  • 1 seconde Modèle d'élévation numérique SRTM - Lissé

Pour acquérir le 1 seconde Modèle d'élévation numérique SRTM de l'Australie données, exécuter ObtenirGADEMPourBoundingBox comme suit:

pour acquérir le 1 seconde Modèle d'élévation numérique SRTM - Application hydrologique Les données:

et d'acquérir le 1 seconde Modèle d'élévation numérique SRTM - Lissé Les données:

Consultez le catalogue de métadonnées de Geoscience Australia pour plus d'informations sur ces ensembles de données.

Le reste de votre flux de travail consiste à importer les coordonnées de la jauge de débit et les étapes suivantes décrites ici.

En plus du DEM australien, EcohydroLib donne accès aux données de sols maillées fournies par le CSIRO et disponibles dans le cadre de l'ensemble de données Soil and Landscape Grid of Australia. Pour télécharger ces données dans votre projet, utilisez le GetSoilGridAustralie commander:

Cela téléchargera un sous-ensemble des données maillées disponibles sur les sols australiens à partir de l'ensemble de données des attributs de sol 3D à l'échelle de l'Australie actuellement GetSoilGridAustralie téléchargera le pourcentage de sable, le pourcentage de limon et le pourcentage de couches d'argile. Les données pour le premier mètre du profil du sol sont téléchargées et une valeur moyenne pondérée en profondeur pour chaque pixel est générée à l'aide de ces couches. Une fois ces données téléchargées, vous pouvez utiliser le GénérerSoilTextureMap commande pour générer la carte de texture du sol RHESSys et les paramètres pour les classes de sol USDA :

Workflow de données locales personnalisé

Les sections suivantes décrivent comment utiliser RHESSysWorkflows pour créer des fichiers d'entrée RHESSys à l'aide de données personnalisées déjà disponibles sur votre ordinateur. Contrairement au didacticiel de données spatiales standard ci-dessus, nous ne fournirons pas de données pour les étapes de workflow ci-dessous. Au lieu de cela, nous décrirons comment vos données doivent être formatées pour fonctionner avec chaque outil de workflow. Pour éviter les doublons, seuls les concepts spécifiques à l'utilisation de données locales dans RHESSysWorkflows seront abordés. Nous vous encourageons également à lire le didacticiel sur les données spatiales standard ci-dessus. La séquence de workflow couverte ci-dessous n'est pas le seul workflow possible impliquant des données locales. En outre, il est possible de combiner les étapes de cet exemple de workflow avec les étapes du didacticiel de données spatiales standard.

Importez un DEM dans votre projet

Lorsque vous travaillez dans des bassins versants en dehors de la couverture du NHD (comme lorsque vous travaillez en dehors des États-Unis), la première étape du flux de travail consiste à importer les données d'un modèle altimétrique numérique à l'aide de l'outil RegisterDEM. Le DEM à importer doit être dans un format lisible par GDAL.

Exécutez RegisterDEM comme suit :

Pour exécuter cette commande, remplacez PROJET_DIR avec le chemin absolu ou relatif d'un répertoire vide où vous souhaitez que les données et métadonnées de votre projet soient stockées (c'est-à-dire votre répertoire de projet). Il est également possible de reprojeter ou de rééchantillonner le DEM à l'import. Voir l'aide de RegisterDEM pour plus d'informations (c'est-à-dire exécuter avec le -h option).

RegisterDEM entraînera la copie du DEM dans votre répertoire de projet. L'étendue DEM sera également utilisée pour déterminer la zone de délimitation de la zone d'étude. Un polygone de l'étendue DEM sera généré et enregistré sous forme de fichier de formes dans votre répertoire de projet.

Utilisez un DEM avec des ruisseaux et des égouts pluviaux brûlés dedans

Si vous travaillez avec un bassin versant urbanisé, il est souvent nécessaire de "brûler" des ruisseaux ou des égouts pluviaux dans votre DEM afin que vous puissiez délimiter correctement le "bassin d'égouts". RHESSysWorkflows vous permet d'utiliser à la fois un DEM "flux gravé" et un DEM "non gravé" standard dans le même flux de travail.
Le MNA brûlé ne sera utilisé que pour les opérations qui le nécessitent (par exemple, la délimitation d'un bassin versant, la création de tables d'écoulement).

Une fois que le raster gravé de flux a été enregistré avec le flux de travail, le Délimiter le bassin versant et CréerFlowtable les outils sauront utiliser ce raster au lieu du DEM standard, tous les autres outils qui utilisent le DEM continueront à utiliser le DEM standard. Si vous souhaitez outrepasser ce comportement (par exemple, pour tester l'effet du MNT brûlé sur la délimitation du bassin versant), vous pouvez passer le --ignoreBurnedDEM possibilité de Délimiter le bassin versant ou alors CréerFlowtable, ce qui les amènera à utiliser le DEM standard à la place.

Nous recommandons l'excellent Whitebox GAT open source pour graver des flux dans des ensembles de données DEM.

Importer les coordonnées de la jauge de débit

Les coordonnées de la jauge de débit associée à votre bassin versant sont enregistrées dans le flux de travail à l'aide de l'outil RegisterGage. L'outil prend en entrée un fichier de formes de points contenant un ou plusieurs points dont les coordonnées lat-lon WGS84 pour la jauge souhaitée seront extraites du fichier de formes. Ces coordonnées seront écrites dans le magasin de métadonnées et un nouveau fichier de formes de points contenant un point uniquement pour la jauge sélectionnée sera créé dans le répertoire du projet.

Une manière typique d'exécuter RegisterGage est :

Pour exécuter ce commentaire, remplacez PROJET_DIR comme ci-dessus, spécifiez le fichier de formes d'entrée que vous souhaitez utiliser, le nom du jeu de données dans le fichier de formes, le nom de l'attribut ID gage dans le jeu de données et l'ID de la jauge souhaitée. Le nom de l'ensemble de données est généralement le même que le nom de fichier du shapefile (moins le .shp). Si vous n'êtes pas sûr, vous pouvez utiliser l'outil de ligne de commande ogrinfo, fourni avec GDAL.

Importation de données dans GRASS pour une utilisation avec RHESSys

Les étapes de workflow suivantes sont identiques, que ce soit en utilisant des données spatiales standard ou des données locales personnalisées et ne seront pas couvertes ici :

  • Créer un nouvel emplacement GRASS
  • Importez le code source RHESSys dans votre projet
  • Importer les données climatiques RHESSys
  • Délimiter le bassin versant et générer des produits de données dérivés
  • Générer des cartes d'occupation du sol dans GRASS

Consultez le didacticiel de données spatiales standard ci-dessus pour obtenir des informations détaillées sur ces étapes.

Importation d'autres couches raster

Pour obtenir une liste de tous les types de cartes raster actuels pris en charge par EcohydroLib, exécutez l'outil RegisterRaster comme suit :

Cela affichera également toutes les options de rééchantillonnage et d'importation disponibles.

Ce qui suit est une série d'exemples montrant comment entrer certains de ces types de raster. Tous les rasters doivent être stockés dans un format de fichier lisible par GDAL (voir ci-dessus).

Ici, nous importons une carte raster de couverture terrestre obtenue à partir du Baltimore Ecosystem Study LTER où nous avons demandé à RegisterRaster de ne pas rééchantillonner le raster (à moins que son système de référence spatiale diffère du DEM, c'est-à-dire que la résolution des cellules raster ne sera pas modifiée). Nous demandons également à RegisterRaster d'ignorer le fait que l'étendue du raster de couverture terrestre ne correspond pas exactement à l'étendue de la zone DEM/d'étude. Après l'importation, vous êtes fortement encouragé à visualiser la carte d'occupation du sol superposée sur le DEM à l'aide de QGIS pour vous assurer que l'occupation du sol couvrira une partie adéquate de votre zone d'étude.

Pour les cartes d'occupation du sol, nous vous recommandons de ne pas rééchantillonner lors de l'enregistrement du raster à l'aide de RegisterRaster, mais plutôt de laisser GRASS gérer le rééchantillonnage.

Pour rendre la carte d'occupation du sol dans le répertoire du projet disponible pour RHESSys, elle doit être importée dans GRASS comme suit :

Cela importera le raster de couverture terrestre dans GRASS, puis ré-échantillonnera le raster en utilisant la méthode du voisin le plus proche. Pour obtenir une liste des méthodes de rééchantillonnage valides, exécutez ImportRasterMapIntoGRASS avec le -h option que vous pouvez également spécifier rien comme méthode de rééchantillonnage et le raster ne sera pas rééchantillonné.

À partir de RHESSys 5.16, l'utilitaire createflowpaths (CF) est capable de créer des tables de flux de surface qui peuvent incorporer un routage non topographique du flux des toits vers les zones imperméables et perméables à proximité. RHESSys 5.16 peut utiliser des tables d'écoulement de surface et souterraines distinctes pour simuler l'effet d'un tel routage non topographique sur le paysage. Vous pouvez trouver plus d'informations sur l'utilisation du routage surfacique dans RHESSys ici.

Pour importer un raster de connectivité de toit, utilisez RegisterRaster comme suit :

Comme pour les cartes d'occupation du sol, nous vous recommandons de ne pas laisser RegisterRaster rééchantillonner les rasters de connectivité de toit, mais plutôt de laisser GRASS gérer le rééchantillonnage. RegisterRaster utilise GDAL pour rééchantillonner les rasters. GDAL ignore les pixels null/nodata lors du rééchantillonnage, contrairement à r.resamp.interp de GRASS. Ainsi, lorsqu'un raster de connectivité de couverture terrestre et de toit, qui contient des valeurs sans données pour tous les pixels non-toit, sont rééchantillonnés dans RegisterRaster, ils peuvent être mal enregistrés, ce qui entraînera une table de routage de surface non valide.

Ensuite, rendez votre raster de connectivité de toit disponible pour RHESSys en l'important dans GRASS :

Comme décrit dans le didacticiel de données spatiales standard ci-dessus, EcohydroLib/RHESSysWorkflows exige que l'utilisateur fournisse ses propres données LAI, qui peuvent être importées dans un projet à l'aide de RegisterRaster :

Rendez maintenant votre raster LAI disponible pour RHESSys en l'important dans GRASS :

Une mappe de correctifs personnalisée peut être importée dans un projet comme suit :

Ensuite, rendez votre patch raster disponible pour RHESSys en l'important dans GRASS :

Une carte des sols personnalisée peut être importée dans un projet comme suit :

Ensuite, rendez votre raster de sol disponible pour RHESSys en l'important dans GRASS :

L'outil GeneratePatchMap utilisera la carte de patch comme carte de zone. Si vous souhaitez utiliser une autre carte pour la carte de zone, procédez comme suit après avoir exécuté DelineateWatershed :

Ensuite, rendez votre raster de zone disponible pour RHESSys en l'important dans GRASS :

Par défaut, aucune carte d'isohyète ne sera utilisée lors de la création du fichier mondial pour un bassin versant. Si vous souhaitez utiliser une carte isohyète, procédez comme suit avant d'exécuter GenerateWorldTemplate :

Ensuite, rendez votre raster isohyète disponible pour RHESSys en l'important dans GRASS :

Notez que nous demandons à ImportRasterMapIntoGRASS de transformer les valeurs raster isohyètes en entiers lors de l'importation. Ceci est nécessaire en raison des limitations de la version actuelle de l'outil RHESSys grass2world. Lors de la conversion d'entiers, ImportRasterMapIntoGRASS multipliera les valeurs raster par 1000, donnant trois chiffres significatifs. Pour utiliser une autre valeur, spécifiez le --multiplicateur option.

Génération de définitions RHESSys pour des données de sol personnalisées

Lorsque vous utilisez des données de sol personnalisées avec RHESSysWorkflows, vous devez créer des fichiers de définition de sol avant de pouvoir créer un fichier mondial. Pour créer des définitions de sol, vous devez d'abord créer des règles de reclassement de raster qui correspondent entre votre type de sol et un type de sol connu de RHESSys ParamDB. À l'heure actuelle, ParamDB contient des définitions tirées de la littérature pour les textures de sol de l'USDA. Cependant, vous pouvez charger des paramètres de sol personnalisés dans votre propre copie locale de ParamDB. Pour plus d'informations, consultez le fichier README de ParamDB.

Pour créer des règles de reclassement de sol prototypes pour un projet, procédez comme suit :

Ici, nous utilisons le -b (alias. --buildPrototypeRules) option de ligne de commande. Cela se traduira par la création d'un fichier appelé sols.règle dans le des règles répertoire de votre répertoire de projet. Vous devrez modifier ce fichier si nécessaire pour mapper vos types de sol personnalisés aux types de sol ParamDB.

Assurez-vous que les noms de classe de sol sur le côté droit de chaque règle de reclassement correspondent aux noms de classe de sol dans ParamDB

Vous pouvez également importer des règles de reclassement de sol existantes comme suit :

Le -r (alias. --ruleDir) doit pointer vers un répertoire qui contient un fichier nommé sols.rule. Celui-ci sera copié dans le des règles répertoire de votre répertoire de projet.

Une fois que vous avez mis en place des règles de reclassement de sol valides, vous pouvez générer des fichiers de définition de paramètres de sol RHESSys pour vos sols personnalisés à l'aide de la commande suivante :

Cet outil imprimera des informations à l'écran sur chaque type de sol rencontré et les classes de paramètres de sol RHESSys ParamDB auxquelles ils correspondent. Si vous ne voyez pas une telle impression, vérifiez votre fichier de règles de reclassement du sol pour vous assurer qu'il est correct. Les fichiers de définition de sol résultants seront écrits dans le définitions répertoire dans le rhessy répertoire de votre répertoire de projet.

N'oubliez pas que la plupart des commandes RHESSysWorkflows prennent en charge le --écraser option de ligne de commande pour écraser les données existantes stockées dans le répertoire du projet ou dans GRASS.

Création d'un modèle de fichier mondial dans les zones à faible pente

En raison des limitations de la version actuelle de RHESSys grass2world outil, les valeurs de pente inférieures à 1,0 seront tronquées à 0,0. Cela provoque des valeurs de NaN (c'est-à-dire pas un nombre) pour la moyenne sphérique du calcul d'aspect. Pour contourner ce problème, vous pouvez utiliser le --aspectMinSlopeOne option de ligne de commande pour instruire GénérerWorldTemplate pour utiliser une carte de pente dont la valeur minimale est de 1,0 lors du calcul de la moyenne sphérique d'aspect :

Création d'une table de flux de surface à l'aide d'une carte de connectivité de toit

Si vous utilisez une carte de connectivité de toit dans votre workflow, vous devez explicitement indiquer à CreateFlowtable d'utiliser la carte de connectivité de toit pour générer une table de flux de surface. Faites-le comme suit :

Ici, nous utilisons à la fois le --routeToits et --routeRoads option. Vous n'êtes pas obligé d'utiliser les deux ensemble, mais généralement, lors de la modélisation de la connectivité des toits, vous travaillerez dans un bassin versant comportant également des routes dont vous voudrez également prendre en compte les effets sur le routage.

Création du fichier mondial et initialisation des réserves de carbone de la végétation

Les étapes de workflow suivantes sont identiques, que ce soit en utilisant des données spatiales standard ou des données locales personnalisées et ne seront pas couvertes ici :

Consultez le didacticiel de données spatiales standard ci-dessus pour obtenir des informations détaillées sur ces étapes.

RHESSysWorkflows fournit de nombreux outils pour préparer des modèles RHESSys, mais il existe de nombreux autres outils et étapes de workflow possibles qui peuvent être utilisés pour créer un modèle. Pour permettre à des commandes arbitraires d'être exécutées sur des données stockées dans un répertoire de projet, RHESSysWorkflows fournit la commande RunCmd, par exemple, vous pouvez modifier votre modèle de fichier mondial puis réexécuter grass2world par la main:

(il est nécessaire d'ajouter manuellement la copie de votre répertoire de projet des binaires RHESSys à votre chemin car grass2world exécute un programme d'aide appelé rat ça doit être sur ton chemin)

Bien que RHESSysWorkflows ne soit pas en mesure de capturer des métadonnées complètes sur les fichiers d'entrée et de sortie utilisés et produits par les commandes exécutées via RunCmd, il écrira une entrée dans l'historique de traitement des métadonnées de votre projet.De cette façon, vous disposez au moins d'un enregistrement des étapes de workflow personnalisées que vous avez appliquées aux données de votre répertoire de projet.

Création de plusieurs worldfiles basés sur des sous-bassins

Pour les grands domaines de modèles, il peut être souhaitable de diviser votre bassin versant en plusieurs fichiers mondiaux. RHESSysWorkflows vous permet de le faire en utilisant le CreateWorldfileMultiple commander:

Cela créera un fichier mondial pour chaque sous-bassin délimité pour votre bassin versant.

Une fois que vous avez créé plusieurs worldfiles, vous pouvez créer des tableaux de flux correspondants en utilisant le CréerFlowtableMultiple commander:

CréerFlowtableMultiple prend en charge les mêmes options de ligne de commande que son homologue CréerFlowtable.

Enfin, vous pouvez initialiser les réserves de carbone et d'azote de la végétation pour plusieurs fichiers du monde en utilisant ExécuterLAIReadMultiple:

Visualisation de la sortie RHESSys

RHESSysWorkflows inclut des outils pour visualiser la sortie du modèle RHESSys.

Notez que ces outils sont encore en développement, mais les versions bêta sont fournies pour votre commodité et les options peuvent changer sans préavis.

Le premier outil, RHESSysPlot, produira des graphiques pour les variables à l'échelle du bassin telles que le débit. Cet outil est très flexible et comprend la possibilité de tracer des données observées par rapport aux données modélisées, et de tracer des données pour plusieurs simulations. Une utilisation prototypique pour tracer des hydrogrammes observés et simulés avec des précipitations tracées sur un deuxième axe des ordonnées est la suivante :

Allez ici pour télécharger un exemple de débit observé pour le bassin versant de l'étude DR5 utilisé dans la première partie de ce tutoriel

Le --figureX et --figureY les options contrôlent la taille du tracé (en pouces). RHESSysPlot vous permet également de créer des séries temporelles standard, des séries temporelles à échelle semi-logarithmique et des tracés de fonction de distribution cumulative. Pour une description complète des options, utilisez le --aider option:

En plus de créer des tracés statiques des variables de sortie à l'échelle du bassin, RHESSysWorkflows fournit un outil, PatchVersFilm, pour créer des animations de variables de sortie à l'échelle du patch. Pour utiliser cet outil, vous devez d'abord avoir des simulations RHESSys pour lesquelles une sortie à l'échelle du patch a été créée (par exemple en utilisant le -p option de sortie). L'exemple suivant créera une animation de 30 images par seconde pour l'infiltration :

Notez que la variable peut être une expression mathématique arbitraire (en utilisant '+', '-', '*' et '/') combinant des noms de variables RHESSys au niveau du patch ainsi que des constantes numériques (comme dans l'exemple). Lorsque vous utilisez de telles expressions, vous voudrez spécifier un titre pour chaque image de votre animation en utilisant le -t (alias. --mapTitle) option (sinon l'expression sera utilisée comme titre, ce qui ne tiendra probablement pas sur le cadre).

Lors de la spécification de la sortie de simulation (par ex. -r) et le jeu de cartes GRASS (par ex. -g), il est important d'utiliser le même jeu de cartes GRASS que celui utilisé pour créer le fichier world utilisé pour exécuter la simulation.

Pour une description complète des options, utilisez le --aider option:

PatchVersFilm utilise un programme en ligne de commande appelé ffmpeg pour encoder des cartes individuelles dans un fichier vidéo. À installer ffmpeg procédez comme suit :

Linux (systèmes basés sur Debian/Ubuntu)

Installer ffmpeg (et vlc pour visionner les animations) :

sudo apt-get installer ffmpeg vlc

Enfin, vous devez ajouter une entrée à votre fichier de configuration EcohydroLib. Pour OS X :

Voir Configurer le fichier de configuration EcohydroLib et RHESSysWorkflows pour plus de détails sur la configuration de votre fichier de configuration.

Instructions d'installation obsolètes

OS X 10.7 à 10.10 utilisant les packages SIG Kyngchaos

Installez Xcode (outils de développement OS X) :

Installer Xcode via l'App Store

Assurez-vous que les outils de ligne de commande Xcode sont installés en exécutant ce qui suit à partir de la ligne de commande (par exemple en utilisant l'application Terminal) :

  • Acceptez la licence Xcode en exécutant la commande suivante (nous n'exécutons cette commande que pour forcer Xcode à nous montrer la licence): sudo cc

Installer les outils SIG : GRASS & QGIS

Notez que GRASS version 6.4 est requis pour RHESSysWorkflows (GRASS 7.0 n'est pas pris en charge pour le moment). GRASS est utilisé en interne pour réaliser les étapes du workflow (conduisant à la création des fichiers monde RHESSys et des tables de flux).
Vous trouverez également utile d'utiliser GRASS pour visualiser les résultats de certaines étapes du workflow.

Avant d'installer GRASS, etc. sous OS X 10.8, 10.9 ou 10.10, vous devrez activer l'installation des applications de n'importe quelle source. Pour ce faire, ouvrez Préférences système > Sécurité & Confidentialité > Général et choisissez "Autoriser les applications téléchargées depuis : n'importe où". Cela expose votre ordinateur à davantage de risques de sécurité liés aux logiciels téléchargés. Nous vous recommandons de rétablir ce paramètre une fois l'installation terminée.

Ici, vous devrez télécharger et installer les éléments suivants :

  1. Cadre complet GDAL
  2. Cadre FreeType
  3. cadre du caire
  4. PIL (Bibliothèque d'imagerie Python)
  5. GRASS.app

Pendant que vous y êtes, nous vous recommandons également d'installer QGIS (Quantum GIS)

En plus de GRASS et des composants installés ci-dessus, installez :

  1. NumPy de http://www.kyngchaos.com/software/python
  2. SciPy de http://www.kyngchaos.com/software/python
  3. Module Python Matplotlib de http://www.kyngchaos.com/software/python
  4. QGIS à partir de http://www.kyngchaos.com/software/qgis

QGIS est utile pour visualiser la sortie des étapes de workflow précédentes qui précèdent l'importation des données dans GRASS.

Installer les modules Python RHESSysWorkflows (y compris EcohydroLib)

Avant d'installer RHESSysWorkflows, nous devons installer quelques dépendances à la main (c'est ennuyeux, mais inévitable) :

Ceci est nécessaire car une autre dépendance (statsmodels) nécessite que nous installions d'abord ses dépendances. Si vous utilisez XCode 5.1 ou une version ultérieure, vous pouvez rencontrer cette erreur :

Si vous ne voyez pas l'erreur ci-dessus, ignorez l'étape suivante. Pour contourner l'erreur, installez les dépendances de statsmodels de cette façon (vous voudrez probablement copier et coller ceci plutôt que de le taper):

C'est aussi ennuyeux, mais c'est inévitable (pour l'instant).

Pour installer RHESSysWorkflows et ses dépendances (y compris EcohydroLib), saisissez ce qui suit à partir de votre terminal si vous exécutez XCode 5.0 ou une version antérieure :

Si vous exécutez Xcode 5.1 (mais pas Xcode 6.1 ou version ultérieure), nous devons définir la variable ARCHFLAGS comme ci-dessus :

Encore une fois, ne faites l'étape ci-dessus que si vous exécutez Xcode 5.1, pas Xcode 6.1.

Cela peut prendre un certain temps car plusieurs modules reposent sur du code non Python qui doit être compilé.

Pourquoi les bibliothèques GDAL Python ne sont-elles pas incluses en tant que dépendance de RHESSysWorkflows ? Ceci afin de faciliter la vie des utilisateurs d'OS X 10.7 et 10.8. Pour ces systèmes d'exploitation, le programme d'installation complet de GDAL qui accompagne GRASS installera les modules GDAL Python dans la copie de Python 2.7 fournie avec le système d'exploitation, et le module GDAL Python ne se construit pas avec succès sous OS X, ce qui ferait échouer l'installation de rhessysworkflows . Les utilisateurs de Linux devront s'assurer d'installer les modules GDAL Python en plus de GDAL lui-même (par exemple via un package compagnon, ou par 'sudo pip install GDAL').

Installer les modules complémentaires GRASS pour RHESSysWorkflows

Suivez ces étapes pour installer les modules complémentaires GRASS nécessaires à RHESSysWorkflows :

Créez un nouvel emplacement (peu importe où, nous ne l'utiliserons que pour exécuter la commande g.extension pour installer les extensions)

Pour plus d'informations sur ces addons (r.soils.texture et r.findtheriver), voir :

Configurer le fichier de configuration EcohydroLib et RHESSysWorkflows

Enregistrez dans un fichier nommé '.ecohydro.cfg' stocké dans votre répertoire personnel et remplacez toutes les occurrences de <monnomutilisateur> avec votre nom d'utilisateur (Pour connaître votre nom d'utilisateur OS X, utilisez le qui suis je commande dans le terminal).

Définissez la variable d'environnement ECOHYDROLIB_CFG pour que RHESSysWorkflows puisse trouver votre fichier de configuration

À partir du terminal, procédez comme suit :

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

Rechargez le profil bash (ou fermez et ouvrez une nouvelle fenêtre de terminal) :

Ceci conclut les instructions d'installation et de configuration pour OS X 10.7 à 10.10 à l'aide des packages Kyngchaos GIS.

Apple, et donc de nombreux développeurs de logiciels tiers, ne prend plus en charge OS X 10.6. Si vous utilisez toujours OS X 10.6, vous voudrez peut-être explorer les options de mise à niveau, car de nombreux Mac plus anciens peuvent exécuter des systèmes d'exploitation plus récents, jusqu'à et y compris la dernière version. Si votre Mac a encore de la vie, il est important de mettre à niveau depuis OS X 10.6, cette version ne reçoit plus de mises à jour de sécurité d'Apple, et parce que les versions plus récentes ont plus de fonctionnalités de sécurité par conception.

Si vous souhaitez installer RHESSysWorkflows sur OS X 10.6, suivez les instructions ci-dessous (bien que nous n'ayons plus de machine OS X 10.6 à tester, nous ne pourrons donc pas vous aider si vous rencontrez des problèmes).

En raison de son âge, quelques étapes d'installation supplémentaires sont nécessaires sous OS X 10.6. De plus, une fois qu'Apple cessera de prendre en charge cette version du système d'exploitation, la prise en charge d'OS X 10.6 sera également supprimée des versions ultérieures de RHESSysWorkflows. Si vous envisagez de passer d'OS X 10.6 à 10.9 pour d'autres raisons, cela peut en ajouter une autre.

Vous devrez utiliser le sudo outil en ligne de commande pour installer de nombreux composants nécessaires à EcohydroLib/RHESSysWorkflows. La commande sudo vous permet d'exécuter d'autres commandes en tant que super utilisateur. Sous OS X, par défaut, seuls les utilisateurs « admins » sont autorisés à exécuter sudo. Pour vérifier si votre compte utilisateur est un administrateur, ou pour faire de votre utilisateur un administrateur ouvert Préférences système > Utilisateurs & Groupes. Notez que pour utiliser sudo, votre compte devra également avoir un mot de passe non vide. Consultez cet article d'assistance Apple pour plus d'informations.

Une fois l'installation terminée, assurez-vous que Python 2.7 est la version Python par défaut en procédant comme suit à partir du terminal :

Cela chargera l'interpréteur Python. La première ligne de sortie affichera le numéro de version Python. Taper sortir() pour quitter l'interpréteur.

Installez setuptools comme suit :

Décompressez l'archive en double-cliquant dessus dans le Finder

cd setuptools-0.8 sudo python ez_setup.py

Installer Xcode (outils de développement OS X)

Téléchargez et installez Xcode 3.2.6 et iOS SDK 4.3 pour Snow Leopard ici (vous devez vous inscrire pour un compte développeur gratuit)

RHESSysWorkflows utilise Git pour télécharger le code source de RHESSys afin que vous n'ayez pas à le faire.

Installez PIP, un outil pour installer des modules Python

Pip est la méthode recommandée pour installer les modules Python (c'est-à-dire plutôt que d'utiliser easy_install). Par exemple, Pip vous permet de désinstaller facilement des modules. Pour installer pip, entrez ce qui suit dans une fenêtre de terminal :

Installer les outils SIG : GRASS & QGIS

Notez que GRASS version 6.4 est requis pour RHESSysWorkflows (GRASS 7.0 n'est pas pris en charge pour le moment). GRASS est utilisé en interne pour réaliser les étapes de workflow (conduisant à la création de fichiers monde RHESSys et de tableaux de flux).
Vous trouverez également utile d'utiliser GRASS pour visualiser les résultats de certaines étapes du workflow.

Ici, vous devrez télécharger et installer les éléments suivants :

  1. GDAL Cadre complet
  2. Cadre FreeType
  3. cadre du caire
  4. PIL (Bibliothèque d'imagerie Python)
  5. GRASS.app

Pendant que vous y êtes, nous vous recommandons également d'installer QGIS (Quantum GIS)

En plus de GRASS et des composants installés ci-dessus, installez :

  1. NumPy de http://www.kyngchaos.com/software/python
  2. SciPy de http://www.kyngchaos.com/software/python
  3. Module Python Matplotlib de http://www.kyngchaos.com/software/python
  4. QGIS à partir de http://www.kyngchaos.com/software/qgis

QGIS est utile pour visualiser la sortie des étapes de workflow précédentes qui précèdent l'importation des données dans GRASS.

Installer les modules GDAL Python

Même si nous avons installé le framework complet GDAL ci-dessus, nous devons toujours installer les modules Python GDAL pour la copie de Python 2.7 que nous avons installée au-dessus du framework GDAL installe uniquement les modules Python pour Python 2.6, avec lesquels RHESSysWorkflows n'est pas compatible. Ces étapes d'installation sont un peu laides, mais supportez-moi (ou passez à OS X 10.6). À partir d'une fenêtre de terminal, tapez ce qui suit :

Installer les modules Python RHESSysWorkflows (y compris EcohydroLib)

Avant d'installer RHESSysWorkflows, nous devons installer quelques dépendances à la main (c'est ennuyeux, mais inévitable) :

Ceci est nécessaire car une autre dépendance (statsmodels) nécessite que nous installions d'abord ses dépendances.

Pour installer RHESSysWorkflows et ses dépendances (y compris EcohydroLib), entrez ce qui suit à partir de votre terminal si vous exécutez XCode 5.0 ou une version antérieure :

Installer les modules complémentaires GRASS pour RHESSysWorkflows

Suivez ces étapes pour installer les modules complémentaires GRASS nécessaires à RHESSysWorkflows :

Créez un nouvel emplacement (peu importe où, nous l'utiliserons uniquement pour exécuter la commande g.extension pour installer les extensions)

Pour plus d'informations sur ces addons (r.soils.texture et r.findtheriver), voir :

Configurer le fichier de configuration EcohydroLib et RHESSysWorkflows

Enregistrez dans un fichier nommé '.ecohydro.cfg' stocké dans votre répertoire personnel Remplacez toutes les occurrences de <monnomutilisateur> avec votre nom d'utilisateur (Pour connaître votre nom d'utilisateur OS X, utilisez le qui suis je commande dans le terminal).

Définissez la variable d'environnement ECOHYDROLIB_CFG pour que RHESSysWorkflows puisse trouver votre fichier de configuration

À partir du terminal, procédez comme suit :

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

Rechargez le profil bash (ou fermez et ouvrez une nouvelle fenêtre de terminal) :

Ceci conclut les instructions d'installation et de configuration pour OS X 10.6.

RHESSysWorkflows vous permet d'utiliser des copies locales du National Hydrography Dataset Plus (NHD Plus) pour localiser les jauges de débit de l'USGS et du National Landcover Dataset (NLCD 2006). Si vous envisagez de créer de nombreux modèles aux États-Unis ou si vous exécutez RHESSysWorkflows dans un environnement de serveur et que vous souhaitez minimiser les appels aux services Web externes, vous souhaiterez peut-être installer ces ensembles de données localement pour améliorer les performances. Ceci est entièrement facultatif. La plupart des utilisateurs peuvent ignorer cela, car il est préférable d'interroger les services Web pour ces données plutôt que de télécharger et d'installer ces ensembles de données relativement volumineux.

Pour configurer une copie locale des données d'occupation du sol NLCD2006, procédez comme suit :

Il est important que vous téléchargiez cette version du jeu de données, et non les données officielles de http://www.mrlc.gov/nlcd06_data.php. Les données officielles sont empaquetées à l'aide d'une version de PkZip qui n'est pas compatible avec l'interface graphique d'OS X ou les utilitaires de décompression en ligne de commande.

Copiez l'archive NLCD2006 dans le dossier parent où vous souhaitez la stocker

Par exemple, sous OS X, créez un dossier appelé 'data' dans votre répertoire personnel

Déballez les données NLCD2006 (cela prendra un certain temps. le temps d'une pause-café) :

OS X 10.6 : à partir de la ligne de commande :

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

OS X 10.7/10.8 : double-cliquez sur l'archive dans le Finder

Configurer les données NHDPlusV2 préemballées

Si vous souhaitez configurer une copie locale des données NHDPlusV2, vous pouvez obtenir ces données en téléchargeant tout ou un sous-ensemble des données NHDPlusV2 et en créant la base de données comme décrit dans la documentation EcohydroLib. Vous pouvez également télécharger une copie prédéfinie de la base de données NHDPlusV2 requise par RHESSysWorkflows ici. Pour télécharger et décompresser les données prédéfinies, procédez comme suit :

Téléchargez la base de données NHDPlusV2 préemballée ici

Attention, les données compressées font près de 7 Go, près de 11 Go non compressées, le téléchargement peut prendre un certain temps

Copiez l'archive de base de données NHDPlusV2 préemballée dans le dossier parent où vous souhaitez la stocker

Par exemple, sous OS X, créez un dossier appelé 'data' dans votre répertoire personnel

Décompressez l'archive de la base de données NHDPlusV2 (cela prendra un certain temps. prenez une tasse de thé)

OS X 10.6 : à partir de la ligne de commande :

OS X 10.7/10.8 : double-cliquez sur l'archive dans le Finder

Configurer le fichier de configuration EcohydroLib et RHESSysWorkflows pour les données locales

Choisissez le fichier de configuration de prototype approprié :

Enregistrez dans un fichier nommé '.ecohydro.cfg' stocké dans votre répertoire personnel Remplacez toutes les occurrences de '' par votre nom d'utilisateur (Pour connaître votre nom d'utilisateur OS X ou Linux, utilisez le qui suis je commande dans le terminal).

Modifiez l'exemple de configuration pour pointer vers vos données locales NHDPlusV2 et NLCD2006 [si vous utilisez ces données] :

Si vous utilisez OS X, et si vous avez placé les données dans un répertoire appelé 'data' dans votre répertoire personnel, les seules modifications que vous devez apporter sont de remplacer '' par votre nom d'utilisateur.

Si vous avez choisi de stocker le NLCD local ou le NHDPlusV2 ailleurs, utilisez simplement le chemin absolu de chaque fichier.

Définissez la variable d'environnement ECOHYDROLIB_CFG pour que RHESSysWorkflows puisse trouver votre fichier de configuration


1.3.4 Concaténation de chaînes vs format

Dans GEOG 485, nous avons utilisé l'opérateur + pour la concaténation de chaînes pour produire des chaînes à partir de plusieurs composants pour ensuite les imprimer ou les utiliser d'une autre manière, comme dans les deux exemples suivants :

Une alternative à cette approche utilisant la concaténation de chaînes consiste à utiliser la méthode de chaîne format(…). Lorsque cette méthode est invoquée pour une chaîne particulière, le contenu de la chaîne est interprété comme un modèle dans lequel les parties entourées d'accolades <…> doivent être remplacées par les variables données comme paramètres de la méthode. Voici à quoi ressembleraient les deux exemples ci-dessus dans cette approche :

Dans les deux exemples, nous avons un littéral de chaîne '….' puis appelez directement le format(…) méthode pour ce littéral de chaîne pour nous donner une nouvelle chaîne dans laquelle les occurrences de <…> ont été remplacées. Sous la forme simple utilisé ici, chaque occurrence de ce motif sera remplacée par le ième paramètre donné à format(…). Dans le deuxième exemple, <0> sera remplacé par la valeur de la variable nom de domaine et <1>sera remplacé par variable nom du pays. Veuillez noter que le deuxième exemple utilisera également ' pour produire les guillemets simples afin que le modèle entier puisse être écrit sous la forme d'une seule chaîne. Les chiffres entre accolades peuvent également être omis si les paramètres doivent être insérés dans la chaîne dans l'ordre dans lequel ils apparaissent.

Les principaux avantages de l'utilisation format(…) sont que la chaîne peut être un peu plus facile à produire et à lire comme en particulier dans le deuxième exemple, et que nous n'avons pas à convertir explicitement toutes les variables non-chaîne en chaînes avec str(…). De plus, le format nous permet d'inclure des informations sur la façon dont les valeurs des variables doivent être formatées. En utilisant , nous disons que la valeur de la ième variable doit être étendue à n caractères si elle est inférieure à cela. Pour les chaînes, cela se fera par défaut en ajoutant des espaces après le contenu réel de la chaîne, tandis que pour les nombres, les espaces seront ajoutés avant la représentation réelle du nombre sous forme de chaîne. De plus, pour les nombres, on peut aussi préciser le nombre de chiffres décimaux qui doivent être affichés en utilisant le modèle <>f>. L'exemple suivant montre comment cela peut être utilisé pour produire une sortie de liste bien formatée :

Le motif <0:20>est utilisé ici pour toujours remplir les noms des espèces d'arbres dans la liste avec des espaces pour obtenir 20 caractères.Ensuite, le modèle <1:3.2f> est utilisé pour afficher les pourcentages sous forme de trois caractères avant la virgule décimale et de deux chiffres après. En conséquence, les chiffres s'alignent parfaitement.

La méthode de formatage peut faire quelques autres choses, mais nous n'allons pas entrer dans les détails ici. Consultez cette page sur la sortie formatée si vous souhaitez en savoir plus à ce sujet.


Fichier DEM volumineux vers Contours, qu'est-ce que je manque ?

Mon problème :
Le DEM fait plus de 30 Go. J'ai essayé de découper le DEM de deux manières différentes en fonction d'une couche de polygones qui supprimerait 90% du DEM. Cependant, les deux fois, le DEM écrêté résultant est toujours proche ou supérieur à 30 Go et le traitement prend des jours.

Ce que j'ai essayé :
1. Découpage du DEM via l'analyse d'images. J'ai sélectionné tous les polygones via la table attributaire de la couche de polygones. Sélectionnez ensuite le DEM répertorié dans l'analyse d'image et utilisez l'outil Clip dans la section de traitement. La zone découpée apparaît rapidement. Lorsque je vais enregistrer/exporter le DEM tronqué, le processus est lent et le résultat est que le DEM tronqué est toujours (ou proche) de la taille du fichier d'origine, même si le DEM est tronqué. Lorsque j'essaie de créer les contours de ce DEM écrêté, j'obtiens le message par défaut que le fichier dépasse la taille limite de 2 Go.

2. L'utilisation de l'outil ArcToolbox Clip Raster donne le même résultat.

3. J'ai également utilisé ETSurface et j'ai obtenu le même résultat (mais un temps de traitement beaucoup plus rapide).

Mes questions:
1. Pourquoi le tampon écrêté a-t-il presque la même taille que l'original ?
2. Une durée de fonctionnement de 2-3 jours est-elle normale ? 3. Je dois me retrouver avec des contours basés sur la zone du polygone.
4. Y a-t-il une autre façon que je peux essayer de faire cela?