Suite

Problème avec l'utilisation de arcpy.GetParameter et arcpy.GetParameterAsText pour écrire la source de la couche dans un fichier texte


J'essaie d'obtenir un document cartographique et un (nouveau) fichier texte en tant que paramètres définis par l'utilisateur, afin d'écrire dans le fichier texte une liste de sources de couches. Le fichier texte est alors supposé s'ouvrir une fois terminé.

Lorsque je code en dur dans un test des entrées mxd et txt, le code fonctionne, cependant lorsque j'utilisearcpy.GetParameter/arcpy.GetParameterAsTextet configurer le code dans un script Toolbox, le code ne fonctionne pas. Il ne créera pas le fichier texte, ni même ne remplira un fichier texte de test (s'il est codé en dur).

J'ai aussi essayé :outputTxtFile = arcpy.GetParameter(1)sans succès.

je me demande si j'utilisearcpy.GetParameter/arcpy.GetParameterAsTextcorrectement?

Remarque : dans les propriétés du script Toolbox, le premier paramètre est défini sur « ArcGIS Map Document » et le second défini sur « Fichier texte ».

# Importer les modules système import arcpy, os try: #Définir les paramètres d'entrée mxd = arcpy.GetParameter(0) outputTxtFile = arcpy.GetParameterAsText(1) #r"D:10_GISProjectsMapsTest2.txt" #Ouvrir le fichier txt outputTxtFileWrite = open(outputTxtFile, "w") lyrList = [] pour lyr dans arcpy.mapping.ListLayers(mxd) : si lyr.supports("DATASOURCE") : lyrSource = lyr.dataSource lyrList.append(lyrSource) lyrList.sort () pour i dans lyrList : outputTxtFileWrite.write(i + "
") arcpy.AddMessage("Writing to file") outputTxtFileWrite.close() os.startfile(outputTxtFile) sauf exception comme e : print arcpy.GetMessages() arcpy.AjouterMessage(e)

Vous devez d'abord obtenir le paramètre mxd dans le code Python sous forme de chaîne, puis créer un objet document ArcMap. Dans les propriétés de l'outil de script, vous pouvez toujours utiliser le type de données des paramètres que vous avez spécifié, mais vous ne pouvez pas passer directement cet objet au code arcpy.

mxd = arcpy.GetParameterAsText(0) mxd_doc = arcpy.mapping.MapDocument(mxd) #créer un objet mxd

Le code complet :

import arcpy, os try: #Set input parameters mxd = arcpy.GetParameterAsText(0) outputTxtFile = arcpy.GetParameterAsText(1) #r"D:10_GISProjectsMapsTest2.txt" #Open txt file outputTxtFileWrite = open( outputTxtFile, "w") lyrList = [] mxd_doc = arcpy.mapping.MapDocument(mxd) #créer un objet mxd pour lyr dans arcpy.mapping.ListLayers(mxd_doc): if lyr.supports("DATASOURCE"): lyrSource = lyr .dataSource lyrList.append(lyrSource) lyrList.sort() pour i dans lyrList : outputTxtFileWrite.write(i + "
") arcpy.AddMessage("Writing to file") outputTxtFileWrite.close() os.startfile(outputTxtFile) sauf exception comme e : print arcpy.GetMessages() arcpy.AddMessage(e)

Il y a deux choses que vous voulez avoir dans votre code :

  1. Une étape qui crée la géodatabase
  2. Une variable que vous pouvez utiliser dans les étapes suivantes pour faire référence à cette géodatabase

Les fonctions ArcPy qui créer une géodatabase (GDB) ou un jeu de classes d'entités ne génèrent pas simultanément des variables. Considérez cela comme deux étapes distinctes, et vous pourrez alors avoir une variable pour cet espace de travail de sortie.

Si vous souhaitez réduire le nombre de paramètres d'entrée que l'utilisateur doit remplir, il est possible de générer vous-même des noms dans le code — cette décision dépend vraiment de ce que veut l'utilisateur final.

Une alternative « intermédiaire » consiste à fournir une valeur par défaut qui suggère ce que l'utilisateur pourrait vouloir utiliser. De cette façon, ils peuvent choisir la méthode la plus simple (utiliser les valeurs par défaut) ou faire un peu plus de travail pour personnaliser les noms des fonctionnalités de sortie.


Syntaxe

Le jeu de données LAS à traiter.

L'emplacement et le nom du raster en sortie. Lors du stockage d'un jeu de données raster dans une géodatabase ou dans un dossier tel qu'une grille Esri, aucune extension de fichier ne doit être ajoutée au nom du jeu de données raster. Une extension de fichier peut être fournie pour définir le format du raster lors de son stockage dans un dossier, comme .tif pour générer un GeoTIFF ou .img pour générer un fichier au format ERDAS IMAGINE.

Si le raster est stocké sous forme de fichier TIFF ou dans une géodatabase, son type et sa qualité de compression raster peuvent être spécifiés à l'aide des paramètres d'environnement de géotraitement.

Les données lidar qui seront utilisées pour générer la sortie raster.

  • ÉLÉVATION — L'élévation des fichiers lidar sera utilisée pour créer le raster. C'est la valeur par défaut.
  • INTENSITÉ — Les informations d'intensité des fichiers lidar seront utilisées pour créer le raster.
  • RVB — Les valeurs RVB des points lidar seront utilisées pour créer des images à 3 bandes.

La technique d'interpolation qui sera utilisée pour déterminer les valeurs de cellule du raster en sortie.

L'approche de regroupement fournit une méthode d'attribution de cellule pour déterminer chaque cellule en sortie à l'aide des points qui se trouvent dans son étendue, ainsi qu'une méthode de remplissage vide pour déterminer la valeur des cellules qui ne contiennent aucun point LAS.

Méthodes d'attribution de cellule

  • AVERAGE —Affecte la valeur moyenne de tous les points de la cellule. C'est la valeur par défaut.
  • MINIMUM —Affecte la valeur minimale trouvée dans les points de la cellule.
  • MAXIMUM —Affecte la valeur maximale trouvée dans les points de la cellule.
  • IDW —Utilise l'interpolation à distance pondérée inverse pour déterminer la valeur de la cellule.
  • NEAREST —Utilise l'affectation du voisin le plus proche pour déterminer la valeur de la cellule.
  • NONE : aucune donnée n'est affectée à la cellule.
  • SIMPLE —Moyenne les valeurs des cellules de données entourant immédiatement une cellule NoData pour éliminer les petits vides.
  • LINEAR —Triangule sur les zones vides et utilise une interpolation linéaire sur la valeur triangulée pour déterminer la valeur de la cellule. C'est la valeur par défaut.
  • NATURAL_NEIGHBOR —Utilise l'interpolation du voisin naturel pour déterminer la valeur de la cellule.

Les méthodes d'interpolation par triangulation dérivent les valeurs des cellules à l'aide d'une approche basée sur le TIN tout en offrant également la possibilité d'accélérer le temps de traitement en réduisant l'échantillonnage des données LAS à l'aide de la technique de taille de fenêtre.

Méthodes de triangulation

  • Linéaire : utilise l'interpolation linéaire pour déterminer les valeurs des cellules.
  • Voisins naturels : utilise l'interpolation du voisin naturel pour déterminer la valeur de la cellule.

Méthodes de sélection de la taille de la fenêtre

  • Maximum : le point avec la valeur la plus élevée dans chaque taille de fenêtre est conservé. C'est la valeur par défaut.
  • Minimum : le point avec la valeur la plus faible dans chaque taille de fenêtre est conservé.
  • Plus proche de la moyenne : le point dont la valeur est la plus proche de la moyenne de toutes les valeurs de point dans la taille de la fenêtre est conservé.

Spécifie le type de valeurs numériques stockées dans le raster en sortie.

  • FLOAT — Le raster en sortie utilisera une virgule flottante 32 bits, qui prend en charge des valeurs allant de -3,402823466e+38 à 3,402823466e+38. C'est la valeur par défaut.
  • INT — Le raster en sortie utilisera une profondeur de bits entière appropriée. Cette option arrondira les valeurs z au nombre entier le plus proche et écrira un entier dans chaque valeur de cellule raster.

Spécifie la méthode utilisée pour interpréter la valeur d'échantillonnage pour définir la résolution du raster en sortie.

  • OBSERVATIONS — Définit le nombre de cellules qui divisent le côté le plus long de l'étendue du jeu de données LAS.
  • CELLSIZE — Définit la taille de cellule du raster en sortie. C'est la valeur par défaut.

Spécifie la valeur utilisée conjointement avec le type d'échantillonnage pour définir la résolution du raster en sortie.

Facteur par lequel les valeurs z seront multipliées. Ceci est généralement utilisé pour convertir les unités linéaires Z afin qu'elles correspondent aux unités linéaires XY. La valeur par défaut est 1, ce qui laisse les valeurs d'altitude inchangées. Ce paramètre est désactivé si la référence spatiale de la surface d'entrée a une référence Z avec une unité linéaire spécifiée.


Problème avec l'utilisation de arcpy.GetParameter et arcpy.GetParameterAsText pour écrire la source de la couche dans un fichier texte - Systèmes d'information géographique

Pour les sociétés de transport de gaz, la Pipeline Safety Improvement Act de 2002 impose un ensemble de règlements pour assurer la sécurité et l'intégrité du réseau pipelinier. Au cœur de la législation se trouve l'exigence pour les opérateurs de préparer et de mettre en œuvre un programme de gestion de l'intégrité (IMP), qui oblige les opérateurs à effectuer des tâches telles que l'analyse des risques, l'évaluation de l'intégrité de base pour chaque segment du système et l'inspection de l'ensemble du système de pipelines. selon un calendrier imposé. L'échec de la mise en œuvre adéquate d'un programme efficace de gestion de l'intégrité peut entraîner des pénalités importantes dans le meilleur des cas, et des pertes importantes de vies humaines et de biens dans le pire des cas.

En raison de la nature spatiale d'un système de pipeline et de sa relation avec les menaces potentielles le long du système, la technologie basée sur la localisation (parfois appelée systèmes d'information géographique ou SIG) a un rôle important à jouer dans un programme de gestion de l'intégrité. Bien qu'il ne s'agisse pas d'une liste exhaustive, les cinq domaines suivants illustrent comment la technologie basée sur la localisation peut rendre la gestion de l'intégrité des pipelines plus efficace et efficiente.

1) Délimitation des zones à haute conséquence (ZHC)

Les zones à haut risque le long d'un réseau de pipelines sont les zones caractérisées par une forte densité de population ou contenant des installations difficiles à évacuer en cas d'urgence, telles que les hôpitaux, les écoles ou les prisons. Alors qu'un accident n'est pas le bienvenu n'importe où dans le système, un accident dans une zone à fortes conséquences a le potentiel de causer beaucoup plus de dommages et bénéficie donc de ressources supplémentaires pour l'évaluation et la réparation. L'idée même d'une HCA est spatiale par nature et exige pratiquement d'être affichée sur une carte.

Le processus d'identification des HCA illustre certaines des fonctionnalités classiques d'un système d'information basé sur la localisation. Premièrement, chaque segment de pipeline est tamponné par la distance requise (200 mètres, par exemple) pour créer des polygones représentant les zones à proximité critique d'un tuyau. Ensuite, les polygones tampons de segment sont recoupé avec des données sur la densité de population et l'emplacement des installations afin que les informations critiques des ensembles de données sous-jacentes puissent être extraites pour chaque zone de segment. Enfin, les zones de segment peuvent être interrogé pour trouver les caractéristiques considérées comme des zones à fortes conséquences.

2) Intégration de données

L'utilisation optimale des données d'intégrité des pipelines nécessite la compilation et la maintenance d'ensembles de données qui décrivent une variété de caractéristiques de pipeline et d'informations auxiliaires, telles que les dossiers d'entretien, les relevés aériens et les documents de construction. Étant donné que toutes ces informations sont directement liées à un segment de tuyau (ou à des segments) dans le système, une approche basée sur l'emplacement pour gérer ces données est un choix logique. Une fois liées à la composante spatiale, ces données peuvent prendre vie et être utilisées pour évaluer les relations entre les données qui n'ont peut-être pas été conceptualisées auparavant.

Une technique de référencement linéaire peut être utilisée pour lier des données tabulaires pertinentes à des segments spécifiques du système en utilisant des positions relatives de/vers le long d'un tuyau. Les modèles de données tels que le Pipeline Open Data Standard (PODS) prennent en charge la gestion de ces données tout au long du système et peuvent être intégrés à n'importe quel système d'information basé sur la localisation. En plus de décrire l'état actuel du système, des informations historiques peuvent également être intégrées. L'implémentation spatiale PODS ESRI est un exemple du modèle de données PODS implémenté dans une géodatabase ArcGIS.

3) L'évaluation des risques

Pour toute situation, le risque peut être défini en déterminant 1) qu'est-ce qui peut mal tourner ?, 2) quelle est la probabilité que cela tourne mal ? et 3) quelles seraient les conséquences d'un échec ? Comme dicté par la Pipeline Safety Improvement Act, une analyse d'évaluation des risques est requise pour tous les segments dans les zones à fortes conséquences. Les exploitants de pipelines utilisent diverses techniques de modélisation pour évaluer les risques tout au long du système, notamment l'analyse des dangers et de l'exploitabilité (HAZOP), l'analyse de l'arbre de défaillances et l'analyse basée sur des scénarios (« et si ?"). Ces techniques se concentrent généralement sur des facteurs spécifiques liés à la probabilité d'une défaillance du pipeline ainsi qu'à la gravité des conséquences d'un tel événement. Chaque segment se voit ensuite attribuer un numéro qui indique le risque relatif au sein du système ou la probabilité qu'une défaillance se produise à cet emplacement.

Comme mentionné ci-dessus, les systèmes basés sur la localisation facilitent l'intégration de la grande variété de données requises pour exécuter ces types d'analyses. La plupart de ces modèles utilisent également une composante spatiale, en particulier lors de la prise en compte de l'impact sur le paysage environnant et ses habitants (conséquences).

Les systèmes d'information modernes basés sur la localisation ne se limitent pas à la maintenance et à la visualisation de données spatiales. La plupart d'entre eux incluent une puissante suite d'outils d'analyse géostatistique et la possibilité de mettre en œuvre une logique analytique personnalisée. L'application ESRI Model Builder fournit une bonne illustration de la flexibilité et de la puissance analytique intégrées à un SIG moderne.

4) Inspection de pipeline

Tout le travail impliqué dans l'exécution d'un programme de gestion de l'intégrité des pipelines ne se fait pas derrière un bureau. Les tuyaux doivent être inspectés, ils doivent être testés hydroélectriquement et parfois réparés. Heureusement, un bon système d'information basé sur la localisation n'a pas non plus besoin de rester sur le bureau. Les équipes de terrain peuvent être équipées d'un SIG qui intègre des systèmes de positionnement global (GPS), des appareils photo numériques, des télémètres laser et une variété d'autres périphériques pour faciliter leur travail.

Le personnel d'équipage au sol, par exemple, peut recevoir des positions GPS et une photo numérique d'une patrouille aérienne pour une observation dont ils ont besoin pour enquêter. À l'aide d'une application de localisation sur un téléphone intelligent ou une tablette, l'équipage pouvait obtenir un itinéraire à l'aide des coordonnées fournies et vérifier l'observation à l'aide de la photographie.

5) Documentation et rapports

Dans un environnement dynamique, où les données changent rapidement, il est important de pouvoir extraire des informations significatives du système lorsque cela est nécessaire. Dans le contexte de la sécurité des pipelines, bien sûr, l'information souhaitée se concentre presque toujours sur un ensemble de segments de pipeline. Dans un système d'information basé sur la localisation, où toutes les données sont intégrées avec leurs segments associés, les données peuvent être récupérées spatialement (montrez-moi tous les segments dans le comté sélectionné sur la carte), ou en utilisant une requête d'attribut (montrez-moi tous les segments avec un diamètre inférieur à 8), voire les deux (montrez-moi toutes les lignes de collecte dans l'étendue actuelle de la carte). La flexibilité offerte par un tel système permet de générer des rapports personnalisés sans effort et rapidement et garantit que les données du système sont utilisées efficacement pour répondre à une variété de questions.

En plus de la puissance et de la flexibilité des informations contenues dans un SIG, l'impact de l'utilisation d'une carte pour prendre en charge les informations affichées dans un tableau ou un graphique ne doit pas être sous-estimé. Parfois, une carte vaut mille mots.

Une gestion efficace de l'intégrité du pipeline nécessite l'intégration d'une variété de sources de données dans un système cohérent, des outils puissants pour effectuer des analyses et la capacité de produire des résumés significatifs des résultats. Les systèmes d'information basés sur la localisation fournissent un cadre idéal pour un tel système.


Paramètres

Le jeu de données LAS à traiter.

L'emplacement et le nom du raster en sortie. Lors du stockage d'un jeu de données raster dans une géodatabase ou dans un dossier tel qu'une grille Esri, n'ajoutez pas d'extension de fichier au nom du jeu de données raster. Une extension de fichier peut être fournie pour définir le format du raster lors de son stockage dans un dossier, comme .tif pour générer un GeoTIFF ou .img pour générer un fichier au format ERDAS IMAGINE.

Si le raster est stocké sous forme de fichier TIFF ou dans une géodatabase, son type et sa qualité de compression raster peuvent être spécifiés à l'aide des paramètres d'environnement de géotraitement.

Les données lidar qui seront utilisées pour générer la sortie raster.

  • Élévation — L'élévation des fichiers lidar sera utilisée pour créer le raster. C'est la valeur par défaut.
  • Intensité — Les informations d'intensité des fichiers lidar seront utilisées pour créer le raster.
  • RVB : les valeurs RVB des points lidar seront utilisées pour créer des images à 3 bandes.

La technique d'interpolation qui sera utilisée pour déterminer les valeurs de cellule du raster en sortie.

L'approche de regroupement fournit une méthode d'attribution de cellule pour déterminer chaque cellule en sortie à l'aide des points qui se trouvent dans son étendue, ainsi qu'une méthode de remplissage vide pour déterminer la valeur des cellules qui ne contiennent aucun point LAS.

Méthodes d'attribution de cellule

  • AVERAGE —Affecte la valeur moyenne de tous les points de la cellule. C'est la valeur par défaut.
  • MINIMUM —Affecte la valeur minimale trouvée dans les points de la cellule.
  • MAXIMUM —Affecte la valeur maximale trouvée dans les points de la cellule.
  • IDW —Utilise l'interpolation à distance pondérée inverse pour déterminer la valeur de la cellule.
  • NEAREST —Utilise l'affectation du voisin le plus proche pour déterminer la valeur de la cellule.
  • NONE : aucune donnée n'est affectée à la cellule.
  • SIMPLE —Moyenne les valeurs des cellules de données entourant immédiatement une cellule NoData pour éliminer les petits vides.
  • LINEAR —Triangule sur les zones vides et utilise une interpolation linéaire sur la valeur triangulée pour déterminer la valeur de la cellule. C'est la valeur par défaut.
  • NATURAL_NEIGHBOR —Utilise l'interpolation du voisin naturel pour déterminer la valeur de la cellule.

Les méthodes d'interpolation par triangulation dérivent les valeurs des cellules à l'aide d'une approche basée sur le TIN tout en offrant également la possibilité d'accélérer le temps de traitement en réduisant l'échantillonnage des données LAS à l'aide de la technique de taille de fenêtre.

Méthodes de triangulation

  • Linéaire : utilise l'interpolation linéaire pour déterminer les valeurs des cellules.
  • Voisins naturels : utilise l'interpolation du voisin naturel pour déterminer la valeur de la cellule.

Méthodes de sélection de la taille de la fenêtre

  • Maximum : le point avec la valeur la plus élevée dans chaque taille de fenêtre est conservé. C'est la valeur par défaut.
  • Minimum : le point avec la valeur la plus faible dans chaque taille de fenêtre est conservé.
  • Plus proche de la moyenne : le point dont la valeur est la plus proche de la moyenne de toutes les valeurs de point dans la taille de la fenêtre est conservé.

Spécifie le type de valeurs numériques stockées dans le raster en sortie.

  • Virgule flottante — Le raster en sortie utilisera une virgule flottante 32 bits, qui prend en charge des valeurs comprises entre -3,402823466e+38 et 3,402823466e+38. C'est la valeur par défaut.
  • Entier — Le raster en sortie utilisera une profondeur de bits entière appropriée. Cette option arrondira les valeurs z au nombre entier le plus proche et écrira un entier dans chaque valeur de cellule raster.

Spécifie la méthode qui sera utilisée pour interpréter la valeur du paramètre Sampling Value pour définir la résolution du raster en sortie.

  • Observations — Le nombre de cellules qui divisent le côté le plus long de l'étendue du jeu de données LAS sera utilisé.
  • Taille de cellule — La taille de cellule du raster en sortie sera utilisée. C'est la valeur par défaut.

Valeur utilisée conjointement avec le paramètre Type d'échantillonnage pour définir la résolution du raster en sortie.

Facteur par lequel les valeurs z seront multipliées. Ceci est généralement utilisé pour convertir les unités linéaires z pour correspondre aux unités linéaires x,y. La valeur par défaut est 1, ce qui laisse les valeurs d'altitude inchangées. Ce paramètre n'est pas disponible si la référence spatiale de la surface d'entrée a une référence z avec une unité linéaire spécifiée.

Le jeu de données LAS à traiter.

L'emplacement et le nom du raster en sortie. Lors du stockage d'un jeu de données raster dans une géodatabase ou dans un dossier tel qu'une grille Esri, n'ajoutez pas d'extension de fichier au nom du jeu de données raster. Une extension de fichier peut être fournie pour définir le format du raster lors de son stockage dans un dossier, comme .tif pour générer un GeoTIFF ou .img pour générer un fichier au format ERDAS IMAGINE.

Si le raster est stocké sous forme de fichier TIFF ou dans une géodatabase, son type et sa qualité de compression raster peuvent être spécifiés à l'aide des paramètres d'environnement de géotraitement.

Les données lidar qui seront utilisées pour générer la sortie raster.

  • ÉLÉVATION — L'élévation des fichiers lidar sera utilisée pour créer le raster. C'est la valeur par défaut.
  • INTENSITÉ — Les informations d'intensité des fichiers lidar seront utilisées pour créer le raster.
  • RVB — Les valeurs RVB des points lidar seront utilisées pour créer des images à 3 bandes.

La technique d'interpolation qui sera utilisée pour déterminer les valeurs de cellule du raster en sortie.

L'approche de regroupement fournit une méthode d'attribution de cellule pour déterminer chaque cellule en sortie à l'aide des points qui se trouvent dans son étendue, ainsi qu'une méthode de remplissage vide pour déterminer la valeur des cellules qui ne contiennent aucun point LAS.

Méthodes d'attribution de cellule

  • AVERAGE —Affecte la valeur moyenne de tous les points de la cellule. C'est la valeur par défaut.
  • MINIMUM —Affecte la valeur minimale trouvée dans les points de la cellule.
  • MAXIMUM —Affecte la valeur maximale trouvée dans les points de la cellule.
  • IDW —Utilise l'interpolation à distance pondérée inverse pour déterminer la valeur de la cellule.
  • NEAREST —Utilise l'affectation du voisin le plus proche pour déterminer la valeur de la cellule.
  • NONE : aucune donnée n'est affectée à la cellule.
  • SIMPLE —Moyenne les valeurs des cellules de données entourant immédiatement une cellule NoData pour éliminer les petits vides.
  • LINEAR —Triangule sur les zones vides et utilise une interpolation linéaire sur la valeur triangulée pour déterminer la valeur de la cellule. C'est la valeur par défaut.
  • NATURAL_NEIGHBOR —Utilise l'interpolation du voisin naturel pour déterminer la valeur de la cellule.

Les méthodes d'interpolation par triangulation dérivent les valeurs des cellules à l'aide d'une approche basée sur le TIN tout en offrant également la possibilité d'accélérer le temps de traitement en réduisant l'échantillonnage des données LAS à l'aide de la technique de taille de fenêtre.

Méthodes de triangulation

  • Linéaire : utilise l'interpolation linéaire pour déterminer les valeurs des cellules.
  • Voisins naturels : utilise l'interpolation du voisin naturel pour déterminer la valeur de la cellule.

Méthodes de sélection de la taille de la fenêtre

  • Maximum : le point avec la valeur la plus élevée dans chaque taille de fenêtre est conservé. C'est la valeur par défaut.
  • Minimum : le point avec la valeur la plus faible dans chaque taille de fenêtre est conservé.
  • Plus proche de la moyenne : le point dont la valeur est la plus proche de la moyenne de toutes les valeurs de point dans la taille de la fenêtre est conservé.

Spécifie le type de valeurs numériques stockées dans le raster en sortie.

  • FLOAT — Le raster en sortie utilisera une virgule flottante 32 bits, qui prend en charge des valeurs allant de -3,402823466e+38 à 3,402823466e+38. C'est la valeur par défaut.
  • INT — Le raster en sortie utilisera une profondeur de bits entière appropriée. Cette option arrondira les valeurs z au nombre entier le plus proche et écrira un entier dans chaque valeur de cellule raster.

Spécifie la méthode qui sera utilisée pour interpréter la valeur du paramètre Sampling Value pour définir la résolution du raster en sortie.

  • OBSERVATIONS — Le nombre de cellules qui divisent le côté le plus long de l'étendue du jeu de données LAS sera utilisé.
  • CELLSIZE — La taille de cellule du raster en sortie sera utilisée. C'est la valeur par défaut.

Valeur utilisée conjointement avec le paramètre Type d'échantillonnage pour définir la résolution du raster en sortie.

Facteur par lequel les valeurs z seront multipliées. Ceci est généralement utilisé pour convertir les unités linéaires z pour correspondre aux unités linéaires x,y. La valeur par défaut est 1, ce qui laisse les valeurs d'altitude inchangées. Ce paramètre n'est pas disponible si la référence spatiale de la surface d'entrée a une référence z avec une unité linéaire spécifiée.

Exemple de code

L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.

L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.


3 réponses 3

Avis de non-responsabilité - Je n'ai pas réellement essayé d'exécuter votre code et je ne l'ai que brièvement parcouru.

Mais il semble que vous ayez deux boucles while. Essayez d'utiliser deux curseurs sans rapport, par exemple row1, row2

ÉDITER: voici une approche qui utilise un script récursif pour effectuer le NEAR. Chaque fois que vous supprimez un point, la fonction NEAR est à nouveau appelée. (Je n'ai pas accès à une licence ArcInfo donc je ne peux pas vraiment la tester, donc peut-être traiter cela comme un pseudo-code) :

Je pensais cela et parce que la fonctionnalité n'est jamais redéfinie, elle fait donc la même chose encore et encore

De plus, vous supprimez la ligne pendant la clause Except. C'est généralement une mauvaise idée de manipuler un tableau pendant que vous le parcourez, car cela perturbe l'indexation (par exemple, cursor.next n'est plus la fonctionnalité "suivante" que vous attendez)

– Stephen Lead
1 août 13 à 13:55

Je suis désolé d'avoir une programmation de très bas niveau donc vos solutions possibles sont un vrai casse-tête pour moi. Cependant je pense que les entités qui se mettent à jour car lorsque j'alimente la fin du programme, cela supprime tous les champs exactement comme je le voulais

Une autre approche consiste à utiliser la commande Simplifier la ligne. Cela supprimera tous les sommets étrangers à une distance donnée, alias "supprimer le point à une distance de x mètres"

Esri a déjà effectué le travail acharné d'écriture de cette fonction, vous pouvez donc aussi bien l'utiliser.


120 heures dans la tanière des Python : PyCon 2011

Depuis la version 10, Python est le langage de script de géotraitement de facto pour la suite logicielle ESRI. J'utilise principalement python pour automatiser le travail de traitement de données que j'effectue. J'utilise également Python pour créer des scripts de géotraitement pour l'environnement ArcServer. Cette année, j'ai assisté à PyCon, la convention de la communauté des langages Python, pour développer davantage mes compétences Python et voir comment les autres utilisent ce langage puissant.

J'ai commencé mon excursion à Atlanta pour PyCon avec trois questions en tête :

1) Comment puis-je utiliser les capacités de multitraitement du langage python ? Quels obstacles les autres ont-ils rencontrés dans la mise en œuvre de cette fonctionnalité avec le package ArcPy d'ESRI ?

2) Je souhaite créer des boîtes de dialogue de saisie intuitives pour mes tâches de géotraitement. Comment puis-je tirer parti d'autres frameworks d'interface graphique (Qt, TK, wxPython) pour créer des boîtes de dialogue d'entrée avec davantage de fonctionnalités intégrées ?

3) Comment pouvons-nous utiliser le cloud pour réduire le temps consacré aux tâches de géotraitement complexes et gourmandes en temps ?

J'ai suivi quatre cours pour commencer la conférence : Python 101, Google App Engine, Création d'applications GUI en Python à l'aide de Qt I et Déploiement d'applications Web dans le cloud. J'ai appris quelques trucs sympas de ces quatre classes.

  • L'instruction print sera remplacée par une fonction print dans Python 3. Syntaxiquement, ce changement a beaucoup de sens. Au cas où vous vous poseriez la question, vous pouvez réellement rétroporter cette fonctionnalité dans Python 2.6 fourni avec la version 10. Exemple de code rapide :

>>> Imprimer « %s est un langage très amusant pour %s » % (« python », « géotraitement »)

>>> Imprimer (" <0>est un langage très amusant pour <1>".format('python','geoprocessing'))

>>> Imprimer (“ est une langue très amusante pour .format(langue = 'python', tâche = 'géotraitement'))

  • Google App Engine est cool, mais je n'ai pas encore de raison de l'utiliser. Je sens qu'à l'avenir, en utilisant ce service, je pourrai rapidement mettre en place un site sans avoir à me soucier de l'infrastructure.
  • Qt peut fonctionner sur presque tout et sur tous les systèmes d'exploitation. C'est un énorme avantage, mais je vais garder mon jugement jusqu'à ce que la poussière retombe avec Nokia.
  • En un peu moins de trois heures, j'ai pu configurer une application django distribuée et à charge équilibrée sur Amazon Cloud en tirant les données de leur serveur de base de données relationnelle et en les distribuant à l'aide de leur CDN CloudFront. Je vois certainement cela comme une ressource que j'investirai plus de temps dans l'apprentissage.

Il est étonnant de voir ce que les gens font avec python, principalement dans le domaine de l'informatique distribuée et des applications Web du spectre de développement python. Mon nouvel objectif pour l'année est de pouvoir enfin apprendre à développer avec Django. Il semble que toutes les autres présentations étaient un énorme partisan du django. Il y a également eu quelques discussions intéressantes sur les prévisions du développement du langage Python et des IDE pour l'écriture de votre code. Heureusement, pour vous, la Fondation Python a filmé la plupart des présentations cette année, http://pycon.blip.tv/posts?view=archive.

Très bien et sur quelques leçons à emporter que j'ai apprises de mon expérience à PyCon.

  • ESRI investit des tonnes de ressources dans la création de Python en tant que langage de géotraitement rapide et efficace pour ses outils. PyCon s'est déroulé en même temps que le sommet des développeurs d'ESRI, mais ils étaient toujours en mesure d'envoyer plus de 7 représentants à PyCon. J'ai passé quelques nuits avec les gens d'ESRI, et pour être honnête, je suis incroyablement excité par la version 10.1. Des tonnes de nouvelles fonctionnalités intéressantes arrivent.
  • Microsoft pénètre progressivement dans la communauté Python/Open Source. Je suis en train de télécharger l'extension Python de Microsoft pour Visual Studio. La dernière et la plus grande version promet de déboguer à la fois cPython (ce qu'utilise ESRI) et IronPython (une variété .Net). Actuellement, j'utilise WinPython, la valeur par défaut avec ArcGIS, mais je vois la version Visual Studio remplacer rapidement son utilisation.
  • La communauté python pourrait apprendre beaucoup du côté SIG de la maison. Presque toutes les présentations impliquaient d'analyser des données, de les traiter d'une manière ou d'une autre et de les afficher graphiquement. Je vois certainement une opportunité d'intervenir et de montrer une méthode plus intuitive pour afficher des données spatiales.

120 heures dans la tanière des Python : PyCon 2011

Depuis la version 10, Python est le langage de script de géotraitement de facto pour la suite logicielle ESRI. J'utilise principalement python pour automatiser le travail de traitement de données que j'effectue. J'utilise également Python pour créer des scripts de géotraitement pour l'environnement ArcServer. Cette année, j'ai assisté à PyCon, la convention de la communauté des langages Python, pour développer davantage mes compétences Python et voir comment les autres utilisent ce langage puissant.

J'ai commencé mon excursion à Atlanta pour PyCon avec trois questions en tête :

1) Comment puis-je utiliser les capacités de multitraitement du langage python ? Quels obstacles les autres ont-ils rencontrés dans la mise en œuvre de cette fonctionnalité avec le package ArcPy d'ESRI ?

2) Je souhaite créer des boîtes de dialogue de saisie intuitives pour mes tâches de géotraitement. Comment puis-je tirer parti d'autres frameworks d'interface graphique (Qt, TK, wxPython) pour créer des boîtes de dialogue d'entrée avec davantage de fonctionnalités intégrées ?

3) Comment pouvons-nous utiliser le cloud pour réduire le temps consacré aux tâches de géotraitement complexes et gourmandes en temps ?

J'ai suivi quatre cours pour commencer la conférence : Python 101, Google App Engine, Création d'applications GUI en Python à l'aide de Qt I et Déploiement d'applications Web dans le cloud. J'ai appris quelques trucs sympas de ces quatre classes.

  • L'instruction print sera remplacée par une fonction print dans Python 3. Syntaxiquement, ce changement a beaucoup de sens. Au cas où vous vous poseriez la question, vous pouvez réellement rétroporter cette fonctionnalité dans Python 2.6 fourni avec la version 10. Exemple de code rapide :

>>> Imprimer « %s est un langage très amusant pour %s » % (« python », « géotraitement »)

>>> Imprimer (" <0>est un langage très amusant pour <1>".format('python','geoprocessing'))

>>> Imprimer (“ est une langue très amusante pour .format(langue = 'python', tâche = 'géotraitement'))

  • Google App Engine est cool, mais je n'ai pas encore de raison de l'utiliser. Je sens qu'à l'avenir, en utilisant ce service, je pourrai rapidement mettre en place un site sans avoir à me soucier de l'infrastructure.
  • Qt peut fonctionner sur presque tout et sur tous les systèmes d'exploitation. C'est un énorme avantage, mais je vais garder mon jugement jusqu'à ce que la poussière retombe avec Nokia.
  • En un peu moins de trois heures, j'ai pu configurer une application Django distribuée et à charge équilibrée sur Amazon Cloud en tirant les données de leur serveur de base de données relationnelle et en les distribuant à l'aide de leur CDN CloudFront. Je vois certainement cela comme une ressource que j'investirai plus de temps dans l'apprentissage.

Il est étonnant de voir ce que les gens font avec python, principalement dans le domaine de l'informatique distribuée et des applications Web du spectre de développement python. Mon nouvel objectif pour l'année est de pouvoir enfin apprendre à développer avec Django. Il semble que toutes les autres présentations étaient un énorme partisan du django. Il y a également eu quelques discussions intéressantes sur les prévisions du développement du langage Python et des IDE pour l'écriture de votre code. Heureusement, pour vous, la Fondation Python a filmé la plupart des présentations cette année, http://pycon.blip.tv/posts?view=archive.

Très bien et sur quelques leçons à emporter que j'ai apprises de mon expérience à PyCon.

  • ESRI investit des tonnes de ressources dans la création de Python en tant que langage de géotraitement rapide et efficace pour ses outils. PyCon s'est déroulé en même temps que le sommet des développeurs d'ESRI, mais ils étaient toujours en mesure d'envoyer plus de 7 représentants à PyCon. J'ai passé quelques nuits avec les gens d'ESRI, et pour être honnête, je suis incroyablement excité par la version 10.1. Des tonnes de nouvelles fonctionnalités intéressantes arrivent.
  • Microsoft pénètre progressivement dans la communauté Python/Open Source. Je suis en train de télécharger l'extension Python de Microsoft pour Visual Studio. La dernière et la plus grande version promet de déboguer à la fois cPython (ce qu'utilise ESRI) et IronPython (une variété .Net). Actuellement, j'utilise WinPython, la valeur par défaut avec ArcGIS, mais je vois la version Visual Studio remplacer rapidement son utilisation.
  • La communauté python pourrait apprendre beaucoup du côté SIG de la maison. Presque toutes les présentations impliquaient d'analyser des données, de les traiter d'une manière ou d'une autre et de les afficher graphiquement. Je vois certainement une opportunité d'intervenir et de montrer une méthode plus intuitive pour afficher des données spatiales.

Leçon 1 Devoir à la maison

Pour la première partie du projet de devoirs de la leçon 1, vous évaluerez un IDE. Chaque étudiant évaluera un IDE différent et pourra « revendiquer » son IDE dans le forum de discussion « L1 : IDE Investigation : Choose topic » dans Canvas. Les IDE possibles incluent, sans s'y limiter :

  • PyScripter
  • PyCharme
  • Visual Studio avec plug-in Python
  • Éric
  • PyDev
  • Aile
  • Notepad++ avec le plugin Python

Partie I Livrable

Tout d'abord, réclamez votre IDE dans le forum de discussion « L1 : IDE Investigation : Choose topic ». Expérimentez ensuite l'écriture et le débogage du code dans cet IDE et étudiez la documentation. Portez une attention particulière aux fonctionnalités mentionnées dans la section 1.9 (auto-complétion, vérification de la syntaxe, contrôle de version, contrôle de l'environnement et organisation du projet) sont disponibles dans cet IDE. Enregistrez une vidéo de démonstration et de discussion de 5 minutes de votre IDE choisi en utilisant Kaltura qui met en évidence les caractéristiques, les fonctionnalités et les difficultés possibles de l'IDE. Publiez un lien vers votre vidéo dans la galerie multimédia.

Partie 2 – Codage et profilage Python (75% du score du projet 1)

Nous allons utiliser le code de traitement de données vectorielles arcpy de la section 1.6.6.2 (télécharger Lesson1_Assignment_initial_code.py) comme base pour notre projet de programmation de la leçon 1. Le code est déjà en mode multitraitement, vous n'aurez donc pas à écrire vous-même du code multitraitement à partir de zéro, mais vous aurez toujours besoin d'une bonne compréhension du fonctionnement du script. Si vous n'êtes pas clair sur quelque chose que fait le script, veuillez demander sur les forums du cours. Cette partie de la mission consistera à se remettre au rythme de l'écriture de code Python basé sur arcpy et à s'entraîner à créer un outil de script avec ArcGIS Pro. Votre tâche consiste à étendre notre script de découpage de données vectorielles en procédant comme suit :

  1. Modifiez le code pour gérer un chemin de dossier de sortie paramétré (en utilisant toujours des noms de fichiers de sortie uniques pour chaque fichier de formes) défini dans une troisième variable d'entrée au début du fichier de script principal. Une façon d'accomplir cette tâche consiste à ajouter un autre (5e) paramètre au ouvrier() fonction pour transmettre les informations du dossier de sortie avec les autres données.
  2. Implémentez et exécutez un profilage de code simple à l'aide du module de temps comme dans la section 1.6, puis effectuez un profilage de base dans spyder comme nous l'avons fait dans la section 1.7.2.1 (aucun profilage visuel ou de ligne nécessaire). Vous ne pourrez pas obtenir de résultats de profilage pour les sous-processus exécutant le ouvrier() fonction à partir de cela, mais vous devez signaler le temps total et les temps de calcul que vous obtenez pour les principales fonctions de scriptool.py impliquées dans votre rédaction et expliquer où le plus de temps a été passé. Incluez également une capture d'écran montrant les résultats du profilage dans Spyder.
  3. Créez un outil de script ArcGIS Pro pour exécuter le code modifié. L'outil de script doit avoir trois paramètres permettant à l'utilisateur de fournir la classe d'entités clipper, la classe d'entités à découper et le dossier de sortie.
  4. Développez le code afin qu'il puisse gérer plusieurs classes d'entités en entrée à découper (en utilisant toujours une seule classe d'entités de découpage de polygone). La variable d'entrée être coupé devrait maintenant prendre une liste de noms de classes d'entités plutôt qu'un seul nom. La fonction de travail doit, comme auparavant, effectuer l'opération de découpage d'un seul fichier d'entrée (pas tous !) tondeuse Classe d'entités. Le principal changement que vous devrez faire sera dans le code principal où les emplois sont créés. Les noms des fichiers de sortie produits doivent avoir le format

clip_<oid>_<name de la classe d'entités en entrée>.shp

Vous devrez soumettre plusieurs versions du script modifié pour ce devoir :

  • (A) La version modifiée de l'outil de script à fichier d'entrée unique de l'étape (3) ci-dessus avec le fichier .tbx pour votre boîte à outils.
  • (B) La version de fichiers à entrées multiples de l'étape (4).
  • (C) Potentiellement une troisième version si vous avez apporté des modifications substantielles au code pour les points "au-delà" (étape (5) ci-dessus). Si vous avez créé un nouvel outil de script pour cela, assurez-vous d'inclure également le fichier .tbx.

Pour réaliser les versions de code modifiées dans cette affectation, toutes les modifications principales doivent être apportées aux variables d'entrée et dans le code du ouvrier() et mp_handler() fonctionne le code de la get_install_path() la fonction doit rester inchangée. Bien sûr, nous examinerons également la qualité du code, alors assurez-vous que le code est lisible et bien documenté. Voici quelques autres conseils qui peuvent être utiles :

Astuce 1 :

Lorsque vous adaptez le ouvrier() fonction, je vous recommande fortement de faire quelques tests avec des appels individuels de cette fonction avant d'exécuter la version multitraitement complète. Pour cela, vous pouvez, par exemple, commenter le code du pool et appeler à la place ouvrier() directement à partir de la boucle qui produit la liste des tâches, ce qui signifie que tous les appels seront effectués de manière séquentielle plutôt qu'en parallèle. Cela facilite la détection des erreurs par rapport à l'exécution immédiate de tout en mode multitraitement. De même, il peut être judicieux d'ajouter des instructions d'impression pour imprimer les tuples de paramètres placés dans la liste des tâches afin de s'assurer que les valeurs correctes seront transmises à la fonction de travail.

Astuce 2 (concerne l'étape (4)) :

Lors du passage à la version à fichiers d'entrée multiples, vous n'aurez pas seulement à changer le code qui produit le nom des fichiers de sortie dans la variable outFC en incorporant le nom de la classe d'entités en entrée, vous devrez faire de même pour le nom de la couche temporaire créée par MakeFeatureClass_managment() pour s'assurer que les noms de calques restent uniques. Sinon, certains appels de travail échoueront car ils essaient de créer une couche avec un nom déjà utilisé.

Pour obtenir le nom de base d'une classe d'entités sans extension de fichier, vous pouvez utiliser une combinaison des os.path.basename() et os.path.splitext() fonctions définies dans le module os de la bibliothèque standard Python. Le nom de base() La fonction supprimera le chemin principal (par exemple, transformez "C:489dataRoads.shp" en simplement "Roads.shp"). L'expression os.path.splitext(nom de fichier)[0] vous donnera le nom de fichier sans extension de fichier. Ainsi, par exemple, "Roads.shp" deviendra simplement "Roads". (Utiliser [1] au lieu de [0] ne vous donnera que l'extension de fichier, mais vous n'en aurez pas besoin ici.)

Indice 3 (concerne les étapes (4) et (5)) :

Ce n'est pas obligatoire, mais si vous décidez de créer un outil de script pour la version à fichiers d'entrée multiples à partir de l'étape (4) pour plus de points, vous devrez utiliser l'option "Valeur multiple" pour le paramètre d'entrée que vous créez pour la liste des classes d'entités à découper dans l'interface de l'outil de script. Si vous utilisez ensuite GetParameterAsText(. ) pour ce paramètre dans votre code, vous obtiendrez un chaîne unique(!) avec les noms des classes d'entités choisies par l'utilisateur séparés par des points-virgules, pas un liste de chaînes de noms. Vous pouvez alors soit utiliser la méthode string diviser(. ) pour transformer cette chaîne en une liste de noms de classes d'entités ou vous utilisez ObtenirParamètre(. ) à la place de GetParameterAsText(. ) qui vous donnera directement les noms des classes d'entités sous forme de liste.

Partie 2 Livrable

Soumettez un seul fichier .zip à la boîte de dépôt correspondante sur Canvas, le fichier zip doit contenir :


Jkleiner

  • 9h00-13h15
    • A travaillé à l'ajout d'une légende au script de Zayd
      • Remarques:
        • Création de vecteurs : c() concaténer
        • plot.new() -Cette fonction provoque l'achèvement du traçage dans le tracé actuel et une avance vers un nouveau cadre graphique
        • windows() -crée un nouveau graphique
        • rm(list=ls()) -efface la console
        • La légende doit être ajoutée à la fonction ggplot :
          • Quelque chose comme ceci : p1 <-ggplot(mydf, aes(x=names_vector,y=colour_scheme, fill=names_vector)) +
          • Poursuite de l'apprentissage de ggplot
            • La fonction factor() crée une variable vide quand il n'y en a pas
            • p1<-ggplot(mydf, aes_string(x=WUA_discharge, y=WUA_values, fill=WUA_discharge)) +
              • Cela ajoute le champ de légende
              • Cela positionne la légende sous le tracé
              • Voudront probablement changer le mot 'variable' en 'légende'
                • Terrain avec légende :
                • 8h50-13h15
                  • Lisez les e-mails que j'ai manqués de la fin de la semaine dernière
                    • Zayd a créé un script qui superpose une boîte à moustaches sur un graphique de courbes WUA
                    • Commentaire de Rob sur le rapport de collecte de données : j'aurais aimé une carte montrant quelles études ont utilisé des guildes/espèces/moules, mais ce sera peut-être pour la prochaine version
                    • Je veux être sûr que dans notre modèle, nous appliquons chaque table WUA à toute la longueur de la rivière qui est entrée dans la production de la table et pas seulement à une section de cette rivière.
                    • Lorsque nous utilisons une table WUA avec un certain débit comme entrée pour dériver une estimation de l'habitat, alors l'estimation de l'habitat résultante est valide sur toute la portée de l'étude IFIM. Donc, si ce tronçon s'étend sur plusieurs segments de modèle, il décrit par définition l'habitat dans ce tronçon.
                      • Cela a du sens, pas aussi complet que de tirer les flux du Qout de chaque segment traversé par une table WUA et de voir ensuite la quantité d'habitat qui en résulte, mais c'est certainement une approche beaucoup plus facile et moins longue.
                        • Drupal Hydro semble mieux gérer cela en appliquant les tables WUA aux conduites d'eau qui couvrent toute la portée de l'étude
                          • En dH, y aurait-il un seul point d'où proviennent les flux ou les flux proviendraient-ils de n'importe quel endroit sur la ligne de flottaison d'intérêt ?
                          • J'ai passé du temps à m'entraîner avec R en essayant d'ajouter une légende aux intrigues de Zayd : [83]
                            • Difficulté à ajouter la légende à l'intrigue :
                              • Les noms des espèces sont dans le vecteur color_scheme qui change en fonction de la table WUA qui est tracée
                              • Les couleurs associées à chaque espèce sont également dans un vecteur : names_vector
                              • La légende doit être adaptable aux différents nombres d'espèces associées aux différentes parcelles
                              • Ma première tentative de légende :
                                • legend("topleft",legend = names_vector,cex=1, col=c(colour_scheme),pch=c('-')
                                  • Cela n'entraîne aucune erreur, mais cela n'ajoute pas non plus de légende à l'intrigue
                                  • 9h00-13h00
                                    • Paquets installés pour R-3.1.0
                                      • Paquet zoo installé
                                      • Message d'avertissement : le package 'R-IHA' n'est pas disponible (pour la version R 3.1.0)
                                      • caTools installé
                                      • PearsonDS installé
                                      • ggplot2 installé
                                      • Gtable installé
                                      • Remodelage installé2
                                      • RJSONIO installé
                                      • Data.table installé
                                      • xlsx installé (rJava téléchargé dans le cadre de ce package)
                                      • Téléchargé R-3.1.1
                                        • Package IHA installé
                                        • Lubrifiant installé
                                        • Installed rJava
                                        • Installed 64bit java onto my computer
                                        • Determined which flow IDs correspond to each aquatic biota element
                                        • We may want to delete the original Piedmont aquatic biota element and add additional Coastal Plain aquatic biota elements
                                        • Emailed Rob with a few questions regarding the North Anna aquatic biota model elements
                                        • Discussed with David and Kinsey some of the aspects/issues of making the transition from VAHydro to ArcHydro
                                        • Read through the data collection report:
                                          • Double checked the numbers along the way
                                          • Sent Kinsey a copy with my additions annotated
                                          • Enter the tables into VAHydro with weighting equations where appropriate
                                          • We should delete the Lake Anna aquatic biota element and add additional aquatic biota elements for the Coastal Plain reaches
                                          • 9:00am-10:00am
                                            • Spent some time looking at histograms
                                            • Started making a new Flow:habitat analysis table on the North Anna page: [85]
                                            • Meeting with Rob, L, K, D, Z to discuss histograms:
                                              • 1. Long Term: Histogram of historical flows at a given USGS site
                                              • 2. Long Term: Histogram of historical flows at a site for a single month (i.e. all May flows for whole record)
                                              • 3. Short Term: Histogram of flows for a single month from a single year
                                              • 4. Short Term: Histogram of observed habitat over a period of time
                                              • NA Piedmont: Flow data weighted from outlet of 207885
                                              • NA Fall Zone: Flow data from weighted from outlet of 207885
                                              • NA Coastal Plain: Flow data from outlet of 207885, outlet of 207847 and outlet of 207809
                                              • Pamunkey Coastal Plain: Flow data from outlet of 207695 and outlet of 223639
                                              • Rob got us the drainage areas of the ends of the North Anna Piedmont and Fall Zone reaches
                                                • (From NHD+ in command line)
                                                • Need to confirm the units- sq mi?
                                                • We can always come back and re-do these at a later time, perhaps by making new river channel segments like we did for Appomattox
                                                • Figure out the units of the 2 drainage areas Rob acquired
                                                • Figure out the weighting equations for the North Anna Piedmont and Fall Zone reaches
                                                • Get aquatic biota elements created
                                                • Enter the WUA tables into the aquatic biota elements- using weighting equations where appropriate
                                                • Calculate ALF
                                                • Calculate Aug flow stats (Using Kinsey's script?)
                                                • Converted the NA drainage areas from sqft to sqmi: [86]
                                                • Determined the weighting equations for the North Anna Piedmont and Fall Zone reaches: [87]
                                                • Emailed the listserv asking Rob to confirm that we no longer need to enter WUA tables into VAHydro
                                                • Spent time practicing plotting in R:
                                                  • Installed the following R packages- (in order to Run Zayd's Script for plotting within Drupal, a WUA graph and a boxplot of last daily flow in past 30 days:)
                                                    • ggplot2
                                                    • gtable
                                                    • remodeler2
                                                    • RJSONIO
                                                    • data.table
                                                    • installed xlsx package
                                                    • installed rJava package
                                                    • Still was having problems so I downloaded the latest version of R
                                                      • Tomorrow I need to install all of the packages onto this new R, then I can test Kinsey's code
                                                      • 9:00am-2:45pm
                                                        • Worked with Dr. Hession at Catawba Sustainability Center installing a stream monitoring system
                                                        • 9:00am-1:10pm
                                                          • This upcoming Monday: Monitoring Site Installation with Dr. Hession
                                                            • Installing a monitoring station on Catawba Creek at the Catawba Sustainability Center
                                                            • Meet in Laura's lab at 9 am on Monday to head out there (hour away)
                                                            • Some spacial issues where the report provides a table of rounded RM values of the study reaches:
                                                              • Need to determine the true ends of the reaches
                                                                • We can't go by the rounded values because for instance the Fall Zone is said to be 15-22RM below the dam, but this is definitely not correct because the Fall Zone sampling transects start between RMs 14 and 15 (Randy Carter gage is located between 14 and 15)
                                                                • I am confident with the lat/longs chosen for the NA study reaches: [89]
                                                                  • The IFIM report contradicts itself over the location of the end of the North Anna Fall Zone reach
                                                                    • The table (on page 237 of the project notebook) says the Fall Zone reach is 15-22 river miles downstream of North Anna Dam
                                                                    • On page 228 of the project notebook it says the North Anna Coastal Plain reach spans the lower approximate 10 miles of the North Anna River- thus making the Fall Zone reach end around RM 24 instead of 22
                                                                      • We should use RM 24 as the end of the Fall Zone reach because that is exactly where I-95 crosses the river, and since the study used other bridges to delineate the reaches, they likely used this bridge as well. (Even if they did use RM22 as the end of the reach it is only a couple miles upstream with no sampling transects within that section and no significant changes in river geomorphology or flow)
                                                                      • 9:00am-1:10pm
                                                                        • Created a "Joey's notes on Flow Sources" section on the regulated flow stats page: [91]
                                                                          • Continuing research to confirm that VAHydro run 21 should be used for calculating flow statistics/ALF for all regulated reaches
                                                                          • Continued researching journal articles and reports discussing the downstream effects on river geomorphology from dam construction
                                                                            • At this point I believe run 21 (current scenario) should be used for calculating all flow stats in regulated reaches downstream of dams
                                                                              • The geomorphologic changes tend to occur more rapidly than I would have thought- essentially as soon as a dam becomes operational (or even earlier when the dam is under construction) the river below the dam can be considered a different river entirely from that which entered the reservoir
                                                                              • 9:00am-11:00am
                                                                                • Added datamap of VAHydro-ArcHydro model segments to the OM Model Segments section on the Drupal_datamap page: [92]
                                                                                • Continued researching the time it takes after dam construction for downstream habitats to become altered
                                                                                • Wiki re-org site map meeting
                                                                                  • Site map: [93]
                                                                                  • Kinsey and I are going to make sure that a couple pages linked to the IFIM section under Data and Analysis are in compliance with our new formatting system
                                                                                  • New Format:
                                                                                    • Page description
                                                                                    • Aperçu
                                                                                    • Data (how data is retrieved-> source,process)
                                                                                    • Analysis, (code)
                                                                                    • Spent additional time thinking about the datamap for transitioning OM model segments into ArcHydro/Dupal: [94]
                                                                                    • Meeting with Rob, K, L, D, Z to present our dH mapping work
                                                                                      • DrainID- the HydroIDs of the watersheds that drain into the watershed of interest
                                                                                      • FeatureID- function to retrieve the HydroCode
                                                                                      • Edited the OM model segment datamap with the suggestions from our meeting: [95]
                                                                                      • Reformatted the WSP_ifim page to follow our new wiki page formatting system: [96]
                                                                                      • Reformatted the data collection report page to fit the new format as much as possible, but its all data collection so it doesn't make sense to have an analysis section: [97]
                                                                                      • Found an article discussing the downstream effects on river habitat from dam implementation: [98]
                                                                                          • This is an interesting graphic suggesting that unregulated flows and unregulated geomorphology both form habitat, BUT regulated flows form the regulated geomorphology and those two factors together form the regulated habitat
                                                                                          • 9:00am-12:00pm
                                                                                            • Sources of flow statistics:
                                                                                              • USGS National Water Information System (NWIS): This should be used for Unregulated reaches because this historic flow data accurately describes the current conditions of the stream
                                                                                              • VAHydro: This should be used for regulated reaches because NWIS data is not available or does not accurately describe the current stream conditions:
                                                                                                • VAHydro run 0: Baseline Scenario- represents un-altered conditions in the model domain under some minimally settled land use with no hydrologic alterations from withdrawals, discharges or impoundments.
                                                                                                • VAHydro run 5: Current Scenario- represents the current conditions with NO withdrawals or point sources
                                                                                                • VAHydro run 21: Current Scenario- represent general alteration conditions in the model domain under the current condition
                                                                                                • First this question must be asked: Are the current river conditions/habitats a result of long-term historic pre-dam flow conditions or the result of the post-dam flow regime?
                                                                                                  • Researching the literature that exists on this topic:
                                                                                                    • One of the articles from Lindsay: [99]
                                                                                                      • These articles discuss the effects of dam removal and not the effects of dam construction and the resulting change in habitat
                                                                                                      • Altered flow regime- which can change aquatic species composition, diversity, and distribution
                                                                                                      • Sediment regime altered (dams trap sediment)
                                                                                                      • Temperature regime altered- release water is typically pulled from deep in the reservoir, causing it to be colder than the natural temperature
                                                                                                      • Water quality altered- changes in dissolved oxygen
                                                                                                      • Habitat fragmentation, species unable to migrate naturally
                                                                                                      • "The river emerging from a dam is not the same river that entered its reservoir. That new river may be hotter or colder. Its daily discharge may vary wildly, while its seasonal pattern of high spring floods and low winter flow may be inhibited beyond recognition. Suddenly starved of its sediment load the clear waters of a river below a dam may scour its bed and banks. An entirely new succession or riparian plants and animals may move into the river and valley below a dam. Native fishes may die or be severely stressed. "
                                                                                                      • Continued looking through the USGS report on downstream effects of dams
                                                                                                      • Webinar with Rob: Demo dH Mapping
                                                                                                        • UTCOffset- use with different time zones
                                                                                                        • Remember that VAHydro run 1 is historic USGS data
                                                                                                        • VarID is generated by archydro
                                                                                                        • Dams hold back sediment that would ordinarily travel downstream: On the Snake River immediately after Dam construction, sediment began being flushed from the river bed and then from the river banks
                                                                                                          • Williams and Wolman(1984) concluded that the process of downstream bed/bank erosion begins immediately when a dam is closed, occurs at a fast pace for the first few years, then slows with time until the bed is "armored" with material too coarse to be moved by the river
                                                                                                          • “Tributary floods continued, of course, and sediment was frequently delivered to the channel. This tributary sediment, combined with sediment stripped from the river's banks and bed closer to Elephant Butte Dam, Began to accumulate downstream. The Rio Grande's bed through El Paso rose almost 13 feet between 1907 and 1933” (Reinhardt. 1937)
                                                                                                            • The rapid change in stream bed/banks means the downstream habitat must have become severely altered just in the first few years after the construction of the dam (1916)
                                                                                                            • A change in downstream temperature of 24°F in 5 years
                                                                                                              • The low temperatures inhibit the spawning of native fish species (Forced the native species to abandon this stretch of the Green River)
                                                                                                                • A change in bed elevation of 15ft such as this would cause fish habitats to change drastically
                                                                                                                • This is because immediately upon dam construction the downstream flow regime is altered, which alters the stream's morphology (stream bed elevation/ channel width) and quality, which ultimately alters the habitat available to the species living in that stream
                                                                                                                  • Therefore run 21 should be used because it models flows based on the existence of dams and current withdrawals and point sources (the pre-dam run 0 no longer represents this reach of stream)
                                                                                                                  • 8:55am-11:00am
                                                                                                                    • Continued editing the Summary_of_all_Ifim_Study_Reaches spreadsheet
                                                                                                                    • Made additions to the Roanoke page
                                                                                                                    • Emailed Rob asking him to make aquatic biota elements for the 2 Roanoke flow IDs
                                                                                                                    • Made some additions to the North Anna IFIM page
                                                                                                                    • Updated the IFIM Study Progress Grid: [102]
                                                                                                                    • Continued updating the Summary_of_all_Ifim_Study_Reaches spreadsheet to include the North Anna model segments
                                                                                                                      • The aquatic biota elements are not children of the flow elements
                                                                                                                        • We will need to add new aquatic biota elements for the new flow elements- and/or change the local/remote linking of the current aquatic biota elements
                                                                                                                        • Roanoke River @ Head of Kerr Lake: 339596
                                                                                                                        • Roanoke River - Staunton: 339592
                                                                                                                        • Meeting with Dr. Scott, Lindsay, Kinsey, David and Zayd to catch up Dr. Scott on our progress
                                                                                                                        • Remarques:
                                                                                                                          • There are 193 USGS gages in VA
                                                                                                                          • We have migrated away from Matlab at this point and are currently using R
                                                                                                                          • Kinsey is going to email the data collection report again to Dr. S., Dr. B and Dr. H specifying what we want them to look at
                                                                                                                            • Then we can sent it to Don Orth or the guy at the DEQ
                                                                                                                            • This will aid in the ongoing question of where to acquire flow statistics (USGS vs modeled flow runs)
                                                                                                                            • Updated the List of Model Segments with Flow:Habitat Relationships table with the new Roanoke information: [103]
                                                                                                                            • Updated the Summary of all ifim study reaches spreadsheet: [104]
                                                                                                                            • The flow analysis tables for all of the IFIM studies are housed in one spreadsheet: File:Flowanalysis allifim.xlsx
                                                                                                                              • Updated this spreadsheet to include Roanoke, the new New River segments and the proposed North Anna segments
                                                                                                                              • It appears that the script calculates ALF correctly, but the percentile flows are slightly different than those provided in the VAHydro model query
                                                                                                                              • 9:00am-10:00pm
                                                                                                                                • Drupal LOI structure meeting with Rob, Lindsay, Kinsey, David and Zayd
                                                                                                                                  • Each of us will come up with ideas for a Data Map in Drupal for our respective data types
                                                                                                                                  • General notes:
                                                                                                                                    • LOI is essentially a polygon feature
                                                                                                                                    • A USGS gage would be a point within a polygon
                                                                                                                                    • Right now OM is where we store all our data- we want to transition to storing data in Drupal
                                                                                                                                    • Rob wants to eventually migrate OM over into Drupal
                                                                                                                                    • HydroCode- a field to hold some unique identifier from the source data set
                                                                                                                                      • This could be an OM elementID if it comes from OM, if a gage it would be the gage #
                                                                                                                                      • Preliminary IFIM data structuring with Kinsey
                                                                                                                                      • Started working on an IFIM datamap: [107]
                                                                                                                                      • Emailed Rob asking him to check out the North Anna spacial issues
                                                                                                                                      • Sent Zayd a list of some frequently used wiki pages for organization
                                                                                                                                      • Continued discussing the North Anna spacial issues with Kinsey
                                                                                                                                      • Made a spreadsheet "Summary of all ifim study reaches" (adapted the Summary_ifim_reaches_regulation spreadsheet) to include all of the New River model segments [108]
                                                                                                                                        • Also linked this file to the main IFIM page- may want to add it to others
                                                                                                                                        • Once the North Anna and Roanoke model segments are known- they too need to be added to this table
                                                                                                                                        • Added a column of VAHydro Model segment names
                                                                                                                                        • Added Roanoke segments (everything but Aquatic Biota ElementIDs)
                                                                                                                                        • Still need to update NA on this spreadsheet once the spacial issues are concluded
                                                                                                                                        • This will help us in determining where to get the flow statistics from for the new model segments
                                                                                                                                        • 9:00am-10:30am
                                                                                                                                          • Meeting with Zayd, David, Lindsay and Kinsey to figure out our next tasks
                                                                                                                                            • Current tasks:
                                                                                                                                              • David:
                                                                                                                                                • Get all info. we require for our various tasks into Drupal (XML, OM)
                                                                                                                                                • Work on pulling data from OM
                                                                                                                                                • Assist Joey and Kinsey with IFIM Data Analysis and ALF flow duration
                                                                                                                                                • Finish Data Collection Report (i.e. New River, Roanoke)-> send to professors for review
                                                                                                                                                • Verification of MLLR data that was collected/calculated last week
                                                                                                                                                • Updating ALF script for Joey and Kinsey
                                                                                                                                                • Working on Drupal data storage with David
                                                                                                                                                • Finish New River, Roanoke IFIM
                                                                                                                                                • Finish Data Collection Report
                                                                                                                                                • Data Dashboard Praxis using outline and teammate info.
                                                                                                                                                • Adding all codes – ALF, 7Q10, MLLR – to Drupal using new data storage technique (Lindsay)
                                                                                                                                                • Define a structure/standard for Drupal “Locations Of Interest” (LOIs)
                                                                                                                                                  • Write ALF Scripts to automate from OM
                                                                                                                                                  • Framework (David) allows use and analysis of data (Lindsay, Joey, and Kinsey), to be organized and displayed in a dashboard (Zayd).
                                                                                                                                                  • Wiki navigation becoming tedious and labyrinthine
                                                                                                                                                  • What Location Of Interest we cover with the Dashboard, IFIM, flow predictions, etc (solved by coming up with a standard for the LOIs
                                                                                                                                                  • My current tasks:
                                                                                                                                                    • Use the R script Lindsay made (she needs to update the script) to calculate ALF for the 3 new New River flow IDs
                                                                                                                                                      • Update the spreadsheets on the wiki
                                                                                                                                                      • Use the R script Kinsey showed me
                                                                                                                                                      • Finish the New River IFIM
                                                                                                                                                      • Finish the Roanoke IFIM
                                                                                                                                                        • Enter WUA table for the 2 VAHydro segments
                                                                                                                                                        • Calculate flow statistics and ALF
                                                                                                                                                        • Identify habitat peaks
                                                                                                                                                        • To add new segments just enter the elementIDs into this script and run it: [110]
                                                                                                                                                          • Might need to add more North Anna segments?
                                                                                                                                                          • Initial thoughts:
                                                                                                                                                            • There are additional North Anna model segments that need WUA tables entered
                                                                                                                                                            • Some segments need WUA tables removed
                                                                                                                                                            • At least one segment contains multiple study reaches
                                                                                                                                                            • Added diagram of North Anna study reach-model segment correlation to the bottom of the NA page: [111]
                                                                                                                                                            • Used the R script Lindsay updated to calculate ALF for the 3 new New River flow IDs: [112]
                                                                                                                                                              • Updated the progress grid on the IFIM main page
                                                                                                                                                              • Calculated ALF values for the 2 segments using the latest R script
                                                                                                                                                              • Calculated Aug flow percentiles in VAHydro (run 21)
                                                                                                                                                              • Added flows at habitat peaks from the WUA excel file
                                                                                                                                                              • Talk to Rob about the North Anna spacial issues: [114]
                                                                                                                                                              • Ask Rob to make aquatic biota elements for the 2 Roanoke model segments [115]
                                                                                                                                                              • 9:00am-1:10pm
                                                                                                                                                                • Able to sign into the time-clock with an extended emergency hire, when it runs out (8/15) I need to get Teresa to put me back on as a student wage
                                                                                                                                                                • Mock up idea from Rob: show flow duration curve with Alf indicated to demonstrate relationship with other %ile flows. Show bar graph of minimum August flow by year with a line through the median (ie ALF) value for QA purposes.

                                                                                                                                                                    Error creating thumbnail: /bin/bash: /usr/bin/convert: No such file or directory

                                                                                                                                                                    • IFIM Data Analysis - Context Graphs for QA and Comparison
                                                                                                                                                                      • Steps to finalize the data-inventory doc: who is our audience, when do we declare it done? Review by someone
                                                                                                                                                                      • is ALF superior to standard stats?
                                                                                                                                                                      • See RWB dashboard ides: Flow Duration for August month only? http://deq3.bse.vt.edu/sifnwiki/index.php/Data_Dashboard#ALF_Screens
                                                                                                                                                                      • Zayd assist Joey & Kinsey on this
                                                                                                                                                                      • Data Access via get_modelData.php
                                                                                                                                                                      • Data Access via Drupal native
                                                                                                                                                                      • How do we tell Drupal to run our R Scripts to regenerate images?
                                                                                                                                                                      • I need to appropriately rename these elements and the associated flow elements
                                                                                                                                                                      • I need to enter the WUA table into each
                                                                                                                                                                      • I still need to change the names of the flow elements to the same names above^ -need to be given access to change flow element names
                                                                                                                                                                      • The names used in the table above are currently entered in VAHydro for all of the flow elements and the elements associated with the aquatic biota IDs
                                                                                                                                                                        • The same WUA table is entered into all of these aquatic biota elements
                                                                                                                                                                        • Updated the table of model segments on the IFIM main page to show the 5 New River segments- flow elements and aquatic biota elements
                                                                                                                                                                        • Started updating the "Rivers with IFIM Studies" map of Virginia to include the new New River/Claytor segments: [116]
                                                                                                                                                                          • Used this R script to add the new segments to the map
                                                                                                                                                                            • Just added the flow IDs to the R script and ran it- no change to the map url as of now
                                                                                                                                                                            • Get the flow stats in WOOOMM for the new New River Segments
                                                                                                                                                                            • Calculate the ALF
                                                                                                                                                                            • Add this new information to the spreadsheets
                                                                                                                                                                            • Re-make the plots that use this data
                                                                                                                                                                            • Webinar on Drupal Hydro dH
                                                                                                                                                                            • Added the flow stats (calculated in VAHydro run 21) for each of the 5 model segments to the Flow:Habitat Analysis Table on the New River page
                                                                                                                                                                            • Next step is to use the R script Lindsay made to calculate ALF for the 3 new New River flow IDs
                                                                                                                                                                            • Still need to add the 3 new segments to the Virginia map: [117]

                                                                                                                                                                            • 9:00am-1:00pm
                                                                                                                                                                              • Spent time practicing with R
                                                                                                                                                                                • Wiki page on plotting in R: [118]
                                                                                                                                                                                • Clear the screen with Ctrl+L
                                                                                                                                                                                • linear regressions in R:
                                                                                                                                                                                  • To perform a regression: linfit <- lm(means