Suite

Question Python ArcMap : Essayer de calculer le pourcentage de pente dans le texte

Question Python ArcMap : Essayer de calculer le pourcentage de pente dans le texte


J'ai une couche de polygones que j'ai jointe spatialement à une couche raster à point de pourcentages de pente. Mes polygones ont maintenant le pourcentage de pente dans un champ appelé Avg_point. Je veux utiliser la calculatrice de champ pour prendre ce pourcentage (quelque chose comme 22,345 ou 56,45 etc.) et le transformer en texte dans le champ "pente" (qui était déjà dans la couche de polygones) et je veux que ce texte dise quelque chose comme "Raide (> 25%)"

Alors j'ai écrit un script

PENTE=slopecorrect(!SLOPE!, !Avg_grid_code!)

PréLogique :

def slopecorrect(slope, avg): if avg > 25: return Steep

Je n'obtiens aucune erreur mais mon champ "pente" se remplit juste J'ai essayé d'autres choses mais je n'arrive pas à le faire remplir ce champ

J'ai regardé un peu et j'ai pensé que ce fil était utile, mais il ne produit toujours pas de résultats ArcMap Calculate Field… si "text" dans !Field!


def slope_correct(slope, avg): if avg > 25: return "holly crap" elif 0 < avg <= 25: return "easy peasy" else: return "unknown"

Comment générer des flèches vectorielles conformes à une couche de pente raster ?

Je souhaite générer des flèches vectorielles conformes à la topographie/pente d'un jeu de données raster d'un bassin versant d'une rivière.

J'ai créé une grille de points Fishnet dans ArcGIS et j'aimerais créer une seule flèche pour chaque point d'une longueur définie qui suivra la forme de la pente, c'est-à-dire suivra le chemin de moindre résistance, la ligne suivra progressivement de petits nombres dans une grille 3 x 3.

Je pense que je peux générer les flèches vectorielles en utilisant un tracé vectoriel. Est-il possible d'obtenir les lignes conformes au raster ?

200 000 lignes que j'ai générées à partir d'une grille de points. Je vais les transformer en raster à l'aide de R et le régler sur la même résolution que mon raster de pente.

Avez-vous des idées sur la façon de superposer les lignes raster sur la pente afin que les lignes suivent les valeurs les plus basses de la pente ?


Les fonds de carte en ligne utilisent la projection 'Web Mercator', mais la projection 'Mercator' est utilisée pour la navigation. Une ligne droite tracée sur la carte est le cap pour piloter un avion ou faire naviguer un bateau du point de départ à la destination, mais cela fausse considérablement la distance et la zone.

Voici des solutions possibles au problème.

Attribuer une projection plus appropriée au bloc de données ArcMap

Reportez-vous à l'article suivant, Sélectionnez une projection cartographique ou un système de coordonnées approprié, pour plus d'informations. L'article est lié à la table des projections, qui répertorie toutes les projections cartographiques prises en charge dans ArcGIS for Desktop et leurs propriétés.

Appliquer la projection sélectionnée au bloc de données ArcMap

  1. Aller vers Affichage > Propriétés du bloc de données > Onglet Système de coordonnées > Systèmes de coordonnées projetés.
  2. Localisez la projection souhaitée qui produit les résultats les plus précis.
  3. Cliquez sur Appliquer et d'accord.

Obtenez la sortie de calcul précise

  1. Dans la table attributaire, accédez à Options de tableau, et sélectionnez Ajouter le champ. Créer un Double et attribuez un nom sans espace et ne dépassant pas 10 caractères. Par exemple, un nom comme Superficie_km² est adapté pour stocker des zones en kilomètres carrés.
  2. Cliquez avec le bouton droit sur l'en-tête du champ et sélectionnez Calculer la géométrie.
  3. Dans le Calculer la géométrie boîte de dialogue, sélectionnez l'option Utiliser le système de coordonnées du bloc de données, et sélectionnez les unités souhaitées comme exigence. La valeur calculée est indiquée dans la table attributaire.


Utilisation de %

La réponse de Brian (une fonction personnalisée) est la chose correcte et la plus simple à faire en général.

Mais si tu vraiment voulait définir un type numérique avec un opérateur (non standard) '%', comme le font les calculatrices de bureau, de sorte que 'X % Y' signifie X * Y / 100.0, puis à partir de Python 2.6, vous pouvez redéfinir le mode() opérateur :

Cela pourrait être dangereux si vous utilisez l'opérateur '%' sur un mélange de MyNumberClasswithPct avec des entiers ou des flottants ordinaires.

Ce qui est également fastidieux à propos de ce code, c'est que vous devez également définir toutes les 21 autres méthodes d'un Intégral ou d'un Réel, pour éviter les TypeError ennuyeuses et obscures suivantes lorsque vous l'instancierez


Introduction

Bien que le tracé des routes soit utilisé dans de nombreuses études liées à la sécurité routière, les informations indiquant si un segment de route est une courbe ou une tangente sont souvent manquantes dans les bases de données originales du réseau routier. L'identification des courbes horizontales à partir des données du réseau routier reste un processus long et sujet aux erreurs. De plus, lorsqu'elles sont dérivées manuellement, ces travaux ne peuvent pas être reproduits à l'avenir. Une grande quantité de données du réseau routier est actuellement stockée dans le SIG, avec une précision spatiale suffisante permettant un traitement automatisé des données. Il existe donc une demande pour un outil entièrement automatisé pour l'extraction du tracé des routes à partir de données numériques (par exemple, [1, 2, 3]).

Un manque de données sur le tracé des routes et la nécessité d'identifier manuellement la géométrie de la route sont probablement à l'origine du nombre relativement faible de courbes horizontales individuelles utilisées dans la majorité des études. McBean [4] n'avait, par exemple, que 100 courbes horizontales en travaillant avec des données de Grande-Bretagne, ainsi que Othman et al. [5] lors de l'étude des performances de sécurité des courbes horizontales à partir de données de conduite naturalistes. Fitzpatrick et al. [6] a travaillé avec 260 courbes. Fink et Krammes [7] et Persaud et al. [8] ont utilisé un plus grand nombre de données, plus de 500. En revanche, Zegeer et al. [9], Sakshaug [10] et Khan et al. [11] avaient plus de 10 000 courbes. Ils ont obtenu les informations sur la géométrie des routes à partir des bases de données routières nationales. La majorité des bases de données routières nationales ne contiennent généralement pas de telles informations pour l'ensemble du réseau.

Travaux antérieurs sur l'identification automatisée de courbes horizontales à partir de données numériques

Il n'existe actuellement aucun outil entièrement automatique capable d'identifier avec précision les courbes horizontales et les tangentes à partir de données vectorielles numériques. L'identification semi-automatisée est une approche fréquemment utilisée [12, 13]. Un expert détermine les extrémités d'une courbe horizontale sur un écran et son rayon et sa longueur sont ensuite calculés automatiquement. Cette approche n'est cependant pas adaptée aux grands ensembles de données. Le « Curve Calculator » [14] est un représentant typique de ces méthodes.

Xu et Wei [3] ont présenté une méthode basée sur le calcul d'azimut pour chaque sommet de route. Ils soutiennent que travailler avec le SIG est le moyen le plus efficace du point de vue temporel et économique, lors de l'analyse de grands ensembles de données. Li et al. [1] ont développé une méthode entièrement automatisée pour un SIG qui calcule "l'angle de relèvement". Ils ont appliqué un seuil pour décider entre les courbes horizontales et les tangentes. Li et al. [1] a déclaré que « En plus de cette approche semi-automatique, aucune documentation documentant une méthode entièrement automatique n'a été trouvée. Par conséquent, CurveFinder est vraiment innovant et unique en offrant les moyens d'obtenir automatiquement l'emplacement des courbes et des informations géométriques à partir des cartes routières SIG. Nous présenterons ici une approche qui surpasse CurveFinder, car notre approche utilise, non seulement l'angle de relèvement pour décider si un sommet de route appartient à une courbe horizontale ou à une tangente, mais cinq autres variables explicatives (EV) de la géométrie de la route et une classification procédure au lieu d'un simple seuil (voir la section Méthodes ci-dessous pour plus de détails).

Facteurs de modification de crash pour les courbes horizontales dans divers pays

Les facteurs de modification de collision (CMF) pour les courbes horizontales sont parmi les domaines les plus appliqués où la géométrie de la route est utilisée. Nous avons sélectionné cette application pour démontrer les performances du logiciel ROCA dans le cadre d'études liées à la sécurité routière.

Jurewicz et Pyta [15] ont travaillé avec des courbes horizontales précédemment classées en trois groupes. Ils ont conclu que si le nombre d'accidents dans les courbes d'un rayon supérieur à 1 500 m est égal à 1, les valeurs correspondantes étaient de 1,422 pour les courbes d'un rayon compris entre 600 et 1 500 m et de 2,437 pour les courbes d'un rayon inférieur à 600 m. . Persaud et al. [8] ont utilisé des données sur les courbes horizontales avec des rayons compris entre 87 et 1150 m dans leurs recherches sur l'identification des courbes routières dangereuses. Ils ont trouvé les 15 pires courbes avec le risque le plus élevé sur la base du calcul de l'estimation empirique de Bayes. Elvik [16] a présenté une méta-étude sur les FMC basée sur les données de plusieurs études précédemment publiées dans divers pays. Les taux de crash sur les courbes, en relation avec la longueur de la tangente précédente, sont également un axe de recherche (eg, [17, 18]), ainsi que les différences de taux de crash entre les courbes horizontales et les tangentes (eg, [19, 20] ).

L'objectif de ce travail est de présenter le logiciel ROCA qui est capable d'augmenter considérablement l'efficacité de la recherche liée à la sécurité routière où des informations sur la géométrie des segments de route sont nécessaires.


6 réponses 6

Voici un nettoyage de votre fonction, mais il ne fait probablement pas ce que vous voulez qu'il fasse. Actuellement, il obtient la moyenne de toutes les valeurs dans toutes les colonnes :

J'utiliserais le module csv (qui facilite l'analyse csv), avec un objet Counter pour gérer les totaux des colonnes et un gestionnaire de contexte pour ouvrir le fichier (pas besoin de close() ):

Tout d'abord, comme on dit, le format CSV a l'air simple, mais il peut être assez banal, surtout une fois que les chaînes entrent en jeu. monkut vous a déjà donné deux solutions, la version nettoyée de votre code et une autre qui utilise la bibliothèque CSV. Je vais donner encore une autre option : pas de bibliothèques, mais beaucoup de code idiomatique à mâcher, ce qui vous donne des moyennes pour toutes les colonnes à la fois.

A noter : dans votre code, f est un objet fichier. Vous essayez de le fermer après avoir déjà renvoyé la valeur. Ce code ne sera jamais atteint : rien ne s'exécute après le traitement d'un retour, sauf si vous avez un essai. enfin construct, ou avec construct (comme je l'utilise - qui fermera automatiquement le flux).

map(f, l) , ou équivalent [f(x) for x in l] , crée une nouvelle liste dont les éléments sont obtenus en appliquant la fonction f sur chaque élément sur l .

f(*l) "décompresse" la liste l avant l'invocation de la fonction, donnant à la fonction f chaque élément comme argument séparé.


2 réponses 2

J'ai trouvé l'image suivante d'une caractéristique de sortie sur Wikipedia (notez que l'axe des y est à l'échelle logarithmique, donc le courant de drain n'atteint jamais zéro). Je ne connais pas les TFET, mais si le principe est similaire à celui du CMOS, tout ira bien.

Le courant ON serait le courant que vous obtenez à une tension de grille "élevée" logique. Cette haute tension dépendra du processus que vous utilisez. De même, le courant OFF serait le courant de drain avec une tension de grille "faible" logique. Le rapport, j'imagine, est alors le rapport de ces deux courants. Ces deux courbes ont été mesurées à une tension drain-source constante, et si vous souhaitez mesurer le pire des cas, vous pouvez mesurer quelques courbes.

Il vous suffit donc de savoir :

De quel type de courbes vous obtenez ces chiffres n'a pas d'importance.


Existe-t-il un substitut à l'utilisation d'un InsertCursor pour écrire dans une table ?

Je comprends un peu plus *ce qui se passe pour faire planter mon code, mais je suis flou sur les détails de pourquoi parce que mon CompSci-Fu est très faible. Apparemment, il y a un problème avec mon code qui oublie de demander un accès en lecture/écriture, et cela est dû à un problème dans le code C sous-jacent des fonctions arcpy, très probablement. J'ai le débogueur PyCharm à ma disposition mais je ne sais pas vraiment quoi rechercher dans le débogueur pour comprendre ce que je dois changer pour rendre mon code heureux.

J'aimerais vraiment *ne pas* changer mon code mais je ne suis pas sûr d'avoir une option à moins d'avoir une intervention professionnelle.

Mon code plante à deux endroits : parfois entre les lignes 368 et 371 à différents nombres d'itérations dans la boucle extérieure OU il plante après la ligne 381 lorsque la table a été convertie en Excel et enregistrée, mais avant que le code ne se termine par lui-même.

Il se bloque avec la notification suivante dans la console : Processus terminé avec le code de sortie -1073741819 (0xC0000005)

Avez-vous des suggestions pour moi? Je n'en ai pas BESOIN pour avoir une étape intermédiaire en tant que table SIG, je peux l'écrire directement dans un fichier CSV ou Excel, je suppose. Je suis inquiet car les valeurs que j'écris contiennent des virgules et je ne veux pas que cela gâche le CSV. J'hésite également à introduire une bibliothèque tierce pour des raisons de maintenance du code.


Décider et implémenter un algorithme de tendance dans Django

J'ai une application Django dans laquelle je dois implémenter un algorithme simple de tendance/classement. Je suis très perdu en tant que :

J'ai deux modèles, Book et Reader. Chaque soir, de nouveaux livres sont ajoutés à ma base de données. Le nombre de lecteurs pour chaque livre est également mis à jour chaque nuit, c'est-à-dire qu'un livre aura plusieurs enregistrements statistiques de lecteurs (un enregistrement pour chaque jour).

Sur une période donnée (semaine passée, mois passé ou année passée), je souhaite lister les livres les plus populaires, quel algorithme dois-je utiliser pour cela ?

La popularité n'a pas besoin d'être en temps réel, car le nombre de lecteurs pour chaque livre n'est mis à jour que quotidiennement.

J'ai trouvé un article référencé dans un autre article de SO qui montrait comment ils calculaient les tendances des articles Wikipedia, mais l'article ne montrait que comment la tendance actuelle était calculée.

Comme quelqu'un l'a souligné sur SO, il s'agit d'un algorithme de tendance de base très simple et ne calcule que la pente entre deux points de données, donc je suppose qu'il montre la tendance entre hier et aujourd'hui.

Je ne cherche pas un algorithme de tendance ultra complexe comme ceux utilisés sur Hacker News, Reddit, etc.

Je n'ai que deux axes de données, le nombre de lecteurs et la date.

Toutes les idées sur quoi et comment je devrais mettre en œuvre. Pour quelqu'un qui n'a jamais travaillé avec quoi que ce soit en rapport avec les statistiques/algorithmes, cela semble être une entreprise très intimidante.


4.1. Temps de concentration

Le temps de concentration est le temps nécessaire à l'excès de pluie pour se déplacer du point le plus éloigné du bassin jusqu'à l'exutoire. À la fin de cette période, tout le bassin contribuera au débit à l'exutoire. Dans la littérature, plusieurs équations sont disponibles pour le calcul du temps de concentration (ASCE, 1996). Après avoir examiné la disponibilité des paramètres, l'équation SCS suivante est sélectionnée pour cette étude.

Où, Tc est le temps de concentration en minutes, L est le plus long chemin d'écoulement du bassin en pieds, CN est la valeur moyenne du numéro de courbe du bassin versant et S est la pente moyenne du bassin versant. Le chemin d'écoulement le plus long est la valeur maximale de Flowlength Grid ( FlGrid ). Comme décrit dans la section suivante, le FlGrid représente la distance de déplacement de chaque cellule du bassin jusqu'à la sortie. Dans cette étude, deux FlGrids sont calculés : pour la condition de poids et aucune condition de poids. La valeur CN moyenne du bassin a été déterminée à 76. La pente moyenne du bassin versant est dérivée de la grille de pente ( SGrid ) du bassin, qui est obtenue à partir du DEM. Après avoir coupé le SGrid avec la limite du bassin versant, la valeur moyenne du SGrid tronqué est déterminée à 0,3327. En insérant ces valeurs dans l'équation 1, la valeur de temps de concentration du bassin d'Ulus est de 8113,6 minutes pour une condition de grille de poids et de 450,8 minutes pour une condition d'absence de grille de poids.

4.2. Coefficient d'atténuation de stockage

Le coefficient d'atténuation du stockage, qui représente l'effet de stockage du chenal du cours d'eau, est calculé à partir d'un hydrogramme de crue observée du bassin. Comme décrit à la figure 4, R est calculé graphiquement comme le rapport du volume sous l'hydrogramme après le deuxième point d'inflexion (sous la courbe de récession) à la valeur du débit au point d'inflexion (POI) (HEC, 1982).

L'hydrogramme des crues observées du bassin est obtenu auprès de State Hydraulic Works of Turkey. Il s'agit de la tempête qui s'est produite du 23 au 25 juillet 1995. En utilisant l'équation 2, le coefficient de stockage est obtenu comme 410,1 minutes.

Figure 4. Calcul du coefficient d'atténuation de stockage (R)

4.3. Histogramme de zone de temps

La superficie du bassin est divisée en fuseaux horaires de voyage. Chaque zone représente la partie du bassin qui draine l'excès de pluie unitaire vers l'exutoire à un certain intervalle de temps. Le tracé de ces zones par rapport aux intervalles de temps correspondants donne l'histogramme temps-zone du bassin. C'est le paramètre le plus important de la méthodologie, car il reflète la réponse du ruissellement du bassin aux précipitations à l'exutoire.

Le modèle d'élévation numérique de la taille d'une cellule de 10 x 10 m du bassin est utilisé pour la détermination de l'histogramme temps-zone. A cet effet, le sens d'écoulement de chaque cellule est recherché en premier. Ensuite, en traçant la direction du flux, la distance de déplacement du flux de chaque cellule à la sortie du bassin est calculée. Ces distances sont converties en valeurs de temps de trajet. Enfin, en convertissant le nombre de cellules en zone, l'histogramme temps-zone est dérivé. Ces étapes sont expliquées dans les sections suivantes.

Comme décrit dans la figure 3, pour obtenir le graphique temps-zone du bassin d'Ulus, la grille de longueur d'écoulement ( FlGrid ) du bassin versant est d'abord développée. Le FlGrid représente pour chaque cellule, la longueur totale du trajet de la goutte d'eau de cette cellule à la sortie du bassin dans le sens de l'écoulement. Les entrées requises pour le calcul sont la grille de direction d'écoulement (FdGrid) et la grille de poids (WGrid), où l'utilisation de la grille de poids est facultative.

Dans un environnement de grille carrée, chaque cellule de la grille est entourée de huit cellules. Comme décrit sur la figure 5, la direction du flux à partir d'une cellule peut être représentée en attribuant un nombre représentant l'une des huit directions. À l'aide des outils SIG, la valeur de direction d'écoulement de chaque cellule du bassin est calculée à partir du MNT du bassin, puis une grille contenant ces valeurs est obtenue et nommée grille de direction d'écoulement, FdGrid .

La vitesse d'écoulement dans une zone variera en fonction de la topographie et des conditions d'utilisation des terres. L'eau se déplacera lentement dans une pente douce ou sur une zone de pâturage dense et plus rapidement sur une terre nue. Pour représenter l'impédance ou la résistance de la cellule à l'écoulement, une grille peut être préparée. La valeur de chaque cellule de cette grille représente la résistance par unité de distance pour traverser la cellule ou le poids de cette cellule. La grille contenant les valeurs qui représentent le poids de chaque cellule est nommée grille de poids ( WGrid ).

Après avoir déterminé la direction du flux d'une cellule à l'une des huit cellules voisines, la distance de pente entre les lignes médianes de ces cellules est calculée. Ensuite, cette distance est multipliée par la valeur WGrid de la première cellule pour obtenir la valeur de distance pondérée entre ces deux cellules. Enfin, les valeurs de la cellule FlGrid sont obtenues en additionnant ces valeurs le long du chemin d'écoulement jusqu'à la sortie pour chaque cellule. Comme mentionné précédemment, dans le calcul de FlGrid , l'utilisation de WGrid est facultative. Dans cette étude, en plus de la condition de grille de poids, aucune condition de grille de poids n'est également analysée. Pour le premier, une grille de poids est préparée comme décrit ci-dessous et utilisée avec la grille de direction d'écoulement pour le calcul de la grille de longueur d'écoulement. Pour ce dernier, seule la grille de sens d'écoulement est utilisée dans le calcul, où le poids de chaque cellule est accepté comme le même et égal à 1.

4.3.2. Grille de poids : à partir de l'application de l'équation de Manning pour Débit par voie terrestre

L'équation de Manning (équation 3), qui est fréquemment utilisée en mécanique des fluides, est également applicable aux écoulements de surface. Dans cette étude, l'équation de vitesse de Manning est utilisée pour calculer la grille de vitesse nommée VGrid . La grille représente la vitesse d'écoulement dans chaque cellule. Pour obtenir une grille de vitesse, tous les paramètres de l'équation (n, R et S) sont préparés sous forme de grilles et insérés dans l'équation 3 comme indiqué dans l'équation 4.

La grille, qui contient des valeurs représentant la rugosité de Manning, est nommée nGrid et déterminée en fonction du type de végétation ou de l'utilisation des terres . La grille de pente du bassin est dérivée du DEM de la zone et nommée SGrid . Pour les canaux ouverts, le rayon hydraulique est le rapport entre la surface d'écoulement et le périmètre mouillé, mais pour l'écoulement de surface, il est accepté comme la profondeur d'écoulement. La grille contenant les valeurs de rayon hydraulique pour les cours d'eau et la profondeur d'écoulement pour les autres parties du bassin est nommée RGrid . L'équation de Manning donne des valeurs VGrid représentant la vitesse d'écoulement dans chaque cellule.

Coefficient de rugosité de Manning pour l'écoulement de surface

Le coefficient de rugosité est le paramètre le plus significatif de l'équation de Manning. Cela dépend de la couverture végétale ou du type d'utilisation des terres de la zone. Des tableaux donnant n valeurs pour différents types d'utilisation des terres sont disponibles dans la littérature. Les valeurs de rugosité pour le bassin d'Ulus sont sélectionnées à l'aide de la carte d'occupation des sols du bassin et des tableaux de coefficients préparés pour être utilisés dans l'équation de Manning pour l'écoulement de surface ( Fleckenstein, 1998 ) , qui sont donnés dans le tableau 1. du bassin est dérivé en utilisant les valeurs du tableau 1. Cette carte est ensuite convertie en une grille de 10 m de résolution et nommée nGrid .

Tableau 1. Coefficients de rugosité de Manning pour les types d'utilisation des terres

Rayon hydraulique pour les cours d'eau et les écoulements de surface

Le deuxième paramètre de l'équation de Manning est la valeur du rayon hydraulique. Pour les canaux ouverts, le rayon hydraulique est calculé à partir du rapport entre la surface d'écoulement et le périmètre mouillé du canal. Mais afin d'obtenir la grille de vitesse de l'ensemble du bassin, en plus des canaux de cours d'eau, des valeurs de rayon hydraulique des zones terrestres doivent également être attribuées. Une grille nommée RGrid est préparée représentant la valeur du rayon hydraulique de chaque cellule du bassin. Dans cette étude, le rayon hydraulique dans l'équation de Manning est considéré pour deux cas.

une) Débit par voie terrestre : Dans l'hydraulique à canal ouvert, il est connu que le rayon hydraulique de larges canaux rectangulaires peut être accepté comme la profondeur d'écoulement. Les cellules du RGrid qui ne forment pas de chenaux de cours d'eau sont acceptées comme zones d'écoulement de surface. Une fine couche d'écoulement se produira sur les zones d'écoulement de surface, où ces cellules peuvent être traitées comme de larges canaux. Puisqu'un hydrogramme unitaire doit être évalué à la fin de l'étude, une profondeur de ruissellement de surface de 1 mm (0,001 m) est prise comme profondeur d'écoulement.

b) Ruisseaux: Le rayon hydraulique des canaux ouverts est calculé à partir de la géométrie du canal. Mais dans une représentation quadrillée de la topographie, il est difficile d'estimer les cellules formant les lits des cours d'eau. La grille d'accumulation de flux, appelée FaGrid , du bassin est utilisée à cette fin. FaGrid est calculé à partir du FdGrid obtenu à partir du DEM du bassin. Toute valeur de cellule de FaGrid indique le nombre de cellules donnant toutes leurs eaux de surface à cette cellule. Ensuite, le réseau fluvial est extrait en acceptant les cellules comme lits de cours d'eau qui ont une valeur FaGrid supérieure à une valeur seuil prédéfinie, qui est acceptée comme 1000 dans cette étude (Usul, 2002). Sur un MNT ayant des grilles de dimension 10x10 m, 1000 cellules représentent une zone d'initiation du cours d'eau de 0,10 km 2 et les cellules ayant une superficie de drainage supérieure à 0,10 km 2 constituent le réseau du cours d'eau. Après avoir défini les cours d'eau, les valeurs du rayon hydraulique de ces cellules sont estimées. Dans une étude similaire ( Fleckenstein 1998) qui utilise l'équation de Manning sur une résolution de 30x30 m, les valeurs R données dans le tableau 2, sont utilisées. La valeur seuil d'initiation de flux utilisée dans cette étude est de 100 cellules. Ensuite, comme décrit dans le tableau 2, le nombre de cellules formant des cours d'eau est classé en quatre groupes en fonction de leurs valeurs d'accumulation de débit, et une seule valeur de rayon hydraulique est attribuée à chaque groupe. Sur le DEM de 30x30 m, 100 cellules représentent une zone d'initiation du cours d'eau de 0,09 km 2 . En acceptant cette valeur d'étude suffisamment proche de la valeur sélectionnée pour le bassin d'Ulus, les mêmes valeurs de rayon hydraulique sont utilisées dans cette étude et une grille est formée pour représenter les valeurs hydrauliques ( RGrid ). Pour les cellules restantes de FaGrid , qui ne forment pas de réseau de cours d'eau, la profondeur de ruissellement de surface de 0,001 m est attribuée comme valeur R.

Tableau 2. Valeurs du rayon hydraulique

Après avoir dérivé la pente du bassin, la grille de vitesse ( VGrid ) est obtenue en utilisant l'équation de Manning (Équation 4). Le VGrid représente la vitesse d'écoulement dans chaque cellule du bassin, qui est utilisée pour calculer la grille de poids. La grille de poids utilisée dans cette étude est calculée comme l'inverse de VGrid et nommée WGrid (Équation 5). Enfin cette grille de poids ( WGrid ) est utilisée pour calculer FlGrid du bassin comme décrit précédemment.

Le FlGrid du bassin est alors déterminé à partir des grilles d'entrée de FdGrid et WGrid .

Après avoir calculé la distance de déplacement de chaque cellule ( FlGrid ), l'étape suivante consiste à calculer les valeurs de temps de trajet. La valeur maximale du FlGrid appartient à la cellule la plus éloignée du bassin de la sortie. Le temps de trajet de l'écoulement de cette cellule à la sortie donne la valeur du temps de concentration du bassin. L'équation 6 est utilisée pour calculer au prorata les valeurs de FlGrid et pour les convertir en valeurs temporelles ( Kull et Feldman, 1998). La grille de temps de parcours du bassin est ensuite déterminée à partir de l'équation 6 et nommée TtGrid .

Dans l'équation 6, « le maximum des longueurs de déplacement des cellules » est la valeur maximale de FlGrid et Tc est la valeur de temps de concentration du bassin. Deux grilles de temps de trajet sont calculées à l'aide des deux grilles de longueur d'écoulement et de l'équation 6, pour les conditions de grille de poids et d'absence de grille de poids.

Le troisième paramètre de la méthodologie de Clark, l'histogramme spatio-temporel du bassin est déterminé à partir du TtGrid du bassin. Premièrement, les histogrammes du TtGrid sont dérivés pour différents intervalles de temps. Il est observé que lorsque l'intervalle devient plus petit, la forme de l'histogramme ressemble à des hydrogrammes complexes, et à mesure qu'il grandit, la forme ressemble à peu près à un hydrogramme à pic unique. Le but d'essayer plusieurs valeurs d'intervalle est de déterminer une forme d'histogramme proche d'une forme d'hydrogramme à pic unique avec le plus petit intervalle possible. Après avoir essayé plusieurs valeurs, un intervalle de temps de 400 minutes est sélectionné pour la condition de grille de poids et de 55 minutes pour la condition d'absence de grille de poids (Figure 6).

Figure 6. Histogrammes de la grille de temps de trajet avec différents intervalles de temps pour aucune condition de grille de poids

L'UIH du bassin sera dérivée si l'intervalle de temps sélectionné est infiniment petit. Pratiquement il est impossible d'obtenir l'histogramme de TtGrid avec un intervalle de temps infiniment petit. Ainsi, le plus petit intervalle de temps possible est sélectionné pour appliquer la technique de Clark.

L'histogramme de TtGrid a des valeurs temporelles en abscisse et le nombre de cellules en ordonnée. L'histogramme spatio-temporel du bassin est calculé à partir de l'histogramme de TtGrid en convertissant le nombre de cellules en superficie (100 m 2 pour une grille de 10x10 m). Les graphiques de zone temporelle du bassin d'Ulus sont obtenus pour des conditions de grille de poids (Figure 7) et sans grille de poids.

Figure 7. Histogramme spatio-temporel du bassin d'Ulus pour l'état de la grille de poids

4.4. Hydrogramme de traduction

Après avoir déterminé les trois paramètres de la méthodologie de Clark, l'excès de pluie unitaire est uniformément réparti sur le bassin. Puis ces précipitations sont véhiculées à l'exutoire du bassin par un hydrogramme de translation. A cet effet, l'histogramme spatio-temporel du bassin, obtenu à l'étape précédente, est utilisé. Comme le montre la figure 7, l'histogramme spatio-temporel représente le pourcentage de la superficie du bassin contribuant au débit à l'exutoire dans chaque intervalle de temps.

Après application instantanée des précipitations unitaires, le volume total d'eau qui sera observé à l'exutoire du bassin est déterminé en multipliant la superficie du bassin (955 km 2 ) par la profondeur des précipitations (1 mm). Ensuite, à partir de l'histogramme temps-zone du bassin, le pourcentage du volume total contribuant au débit à la sortie dans chaque intervalle de temps est calculé. Les volumes sont ensuite convertis en débits pour les intervalles de temps correspondants. Enfin, en traçant ces valeurs aux valeurs moyennes des intervalles de temps, l'hydrogramme de translation est déterminé. Semblable au graphique de zone de temps, deux hydrogrammes de translation sont obtenus, un pour la condition de grille de poids (Figure 8) et un autre pour une condition de grille de non poids.

Figure 8. L'hydrogramme de translation du bassin d'Ulus pour l'état de la grille de poids

4.5. Routage de réservoir linéaire

Comme mentionné précédemment, l'excès de pluie unitaire instantané est véhiculé à l'exutoire du bassin par deux composants : un hydrogramme de translation et un routage linéaire du réservoir. L'hydrogramme de translation représente la relation pluie-débit du bassin au moyen de l'écoulement de surface uniquement. L'effet du stockage dans le chenal du cours d'eau sur l'hydrogramme se reflète dans le tracé linéaire du réservoir. L'hydrogramme de translation obtenu dans la section précédente est routé par l'équation 7 (HEC, 2000).

Dans l'équation 7, I( t) est l'hydrogramme de translation calculé, R est le coefficient d'atténuation de stockage et D t est l'intervalle de temps sélectionné pour le routage. Q( t) qui est obtenu après routage est l'hydrogramme unitaire instantané du bassin. Le processus de routage se poursuit jusqu'à ce qu'une profondeur d'écoulement excédentaire de 1 mm soit obtenue sous l'hydrogramme. L'hydrogramme unitaire instantané du bassin d'Ulus est obtenu séparément pour les conditions de grille de poids et d'absence de grille de poids.

Dans cette étude, deux hydrogrammes unitaires instantanés sont obtenus. Tout d'abord, une grille de poids est préparée et utilisée comme entrée pour dériver l'histogramme de la zone temporelle du bassin. La grille des poids reflète la résistance de chaque cellule du bassin à l'écoulement en fonction des conditions de couverture topographique et végétale. Deuxièmement, aucun cas de grille de poids n'est utilisé où toutes les cellules du MNT du bassin sont supposées avoir une résistance égale à l'écoulement.

Ensuite, ces hydrogrammes sont comparés à l'hydrogramme unitaire observé du bassin, qui est déterminé dans une autre étude (Usul, 2002). Étant donné que l'hydrogramme unitaire observé est d'une durée de 60 minutes, des hydrogrammes unitaires de même durée sont également déterminés à l'aide de ces IUH . Les trois hydrogrammes unitaires (observés, Clark-poids, Clark -pas de poids) sont donnés à la figure 9. Les valeurs de débit de pointe, de temps jusqu'au pic et de temps de base des trois UH60 sont donnés dans le tableau 3.

Tableau 3. Propriétés des hydrogrammes unitaires

Comme le montre la figure 9, l'hydrogramme unitaire de Clark - sans poids a un pic précoce et plus élevé que le pic de l'hydrogramme unitaire observé. Comme la grille de poids n'est pas utilisée dans ce cas, il n'y a pas de retard dans l'écoulement et un pic hydrographique plus précoce est formé. De plus, en raison du développement rapide du débit, cette valeur est supérieure à celle observée. Afin de diminuer la valeur de pointe, la résistance à l'écoulement dans le bassin doit être prise en compte.

Figure 9. Hydrogrammes unitaires synthétiques et observés d'une durée d'une heure du bassin d'Ulus

Dans le second cas, une grille de poids est préparée pour représenter les conditions de couverture topographique et végétale du bassin. Mais l'utilisation de la grille de poids entraîne une arrivée tardive et un débit de pointe inférieur au pic de l'hydrogramme unitaire observé. La grille de poids, qui est développée à partir de l'équation de Manning, entraîne un retard important dans l'écoulement. Le développement du débit s'est donc produit lentement et un pic hydrographique tardif s'est formé. Ainsi, il est conclu que l'effet de résistance de l'équation de Manning sur l'écoulement est supérieur aux conditions réelles du bassin. Le paramètre le plus important de l'équation de Manning est le coefficient de rugosité. Les cartes imprimées des sols et de l'utilisation des terres utilisées pour obtenir les coefficients étaient anciennes et peuvent donc ne pas refléter les conditions réelles des terres. Après avoir examiné la différence significative entre les deux hydrogrammes unitaires synthétiques, il est également conclu que l'utilisation d'une grille de pondération dans cette méthodologie est très importante et qu'une grille de pondération révisée peut corriger les écarts dans le résultat.

ASCE, 1996 : American Society of Civil Engineers Hydrology Handbook, 2 e édition, ASCE , USA .

Clark, C.D., 1945: Storage and the Unit Hydrograph, ASCE Transactions, 110, p. 1419-1446.

Esri, 1997: ArcView Watershed Delineator User s Manual, Esri Publ . , USA .

Esri, 1998: ArcView User s Manual, Esri Publ . , USA .

Esri, 1999: Arc/Info User s Manual, Esri Publ . , USA .

Fleckenstein , J., 1998: Using GIS to derive Velocity Fields and Travel Times to Route Excess Rainfall in a Small-Scale Watershed, Univ. of California Davis web site.

HEC, 1982: Hydrologic Engineering Center: HEC-1 Training document No.15, U.S. Army Corps of Engineers, Davis , California , USA .

HEC, 2000: Hydrologic Engineering Center HEC-HMS User s Manual, Davis , California .

Kull , D. W. and Feldman, A. D., 1998: Evaluation of Clark s Unit Graph Method to Hydrologic Engineering Center Spatially Distributed Runoff, Journal of Hydrologic Engineering.

Usul , N., 2002: A Pilot Project for Flood Analysis by Integration of Hydrologic-Hydraulic Models and Geographic Information Systems (in Turkish), METU, Ankara , Turkey


Voir la vidéo: 0304 Calculer la pente