S'abonner à un flux RSS
 

Notice de Cartino

De Wikhydro

Version en cours : CARTINOV5.exe et PriseenMainCARTINOv5.pdf disponible sur le serveur ftp de la directive inondation ou sur demande auprès des auteurs de la page.

Cette notice a pour objectif de montrer un moyen d'obtenir des cartographies de zones inondables de manières automatique. Elle s'adresse à un public averti en SIG, programmation et automatisation avec l'utilisation de plusieurs outils couplés à savoir:

  • les résultats d'Exzeco (CETE Méditerranée-CETMEF)
  • l'outil Qgis-Grass décrit dans la page Utilisation des données LIDAR pour la directive inondation et ses pages associés
  • des executables issus de Matlab (mathworks), le mot matlab sera utilisé mais les fonction sont accessibles libremement sous forme de fichier exe
  • l'utilisation du logiciel Flutor (Patrick Chassé) et du logiciel Mascaret (EDF-CETMEF)
  • l'utilisation à terme des données SHYREG (IRSTEA)

La méthode est proche de celle utilisée dans l'outil MobiTC, la squeletisation est identique par contre la création de l'enveloppe est différente.

Si des méthodes plus précises existent, il est tout à fait possible de les intégrer.

Sommaire

Création d'une pré-enveloppe en marche d'escalier sous Qgis-Grass

  • Conversion des données raster d'Exzeco (avec un MNT à différent pas) suivant le procédure décrite dans la page Classement en iso-valeurs des données LIDAR (attention, la procédure peut planter avec des valeurs très fortes à vérifier)
  • Vérification humaine sur Qgis des données que l'on souhaite retenir, de nombreuses iles peuvent apparaitre

Gestion des iles dans l'enveloppe initiale

L'object de cette partie est de créer des iles dans la pré-enveloppe de zones inondables issue des résultats d'Exzeco

Principes

L'opération consiste à créer les iles qui sont contenues dans l'enveloppe initiale pour faire ensuite un choix manuel de garder ou pas ces zones.

Pour selectionner les petites iles, ouvrir le fichier shape créé, et travaillez soit avec la longeur (Ouvrir la table attributaire\Activer le mode d'édition et classer la colonne LENGTH) soit avec une analyse visuelle. Plusieurs options, soit on supprime les grosses, soit on selectionne les petites et on les exporte, soit les deux à la fois...

Explication du code

  • Ouverture de Exzeco brut

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\EXEMPLE.shp output=EXEMPLEBrut snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 11:57:14

  • Ajustement de la région

g.region vect=EXEMPLEBrut@TEST7 --quiet 04-Jul-2012 11:57:14

  • Ajout d'une colonne

v.db.addcol EXEMPLEBrut col="ATTRDISSOL int" --quiet 04-Jul-2012 11:57:19

  • Mise à jour d'une valeur constante

v.db.update EXEMPLEBrut col=ATTRDISSOL value=1 --quiet 04-Jul-2012 11:57:22

  • Fusion des données

v.dissolve input=EXEMPLEBrut@TEST7 layer=1 column=ATTRDISSOL output=EXEMPLEFus --overwrite --quiet 04-Jul-2012 11:57:25

  • Export au format Shape

v.out.ogr input=EXEMPLEFus@TEST7 type=area dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 -c --overwrite --quiet 04-Jul-2012 11:57:25

  • Création d'un vecteur pour le masque

v.in.region type=area output=EXEMPLEMasq1 --overwrite --quiet 04-Jul-2012 11:57:26

  • Création du masque avec coupure

v.overlay ainput=EXEMPLEMasq1@TEST7 binput=EXEMPLEFus@TEST7 output=EXEMPLEMasq operator=xor --overwrite --quiet 04-Jul-2012 11:57:26

  • Ajout d'une colonne AIRE

v.db.addcol EXEMPLEMasq col="AIRE int" --quiet 04-Jul-2012 11:57:30

  • Mettre à jour la colonne Aire

v.to.db map=EXEMPLEMasq@TEST7 option=area units=meters columns=AIRE --quiet 04-Jul-2012 11:57:31

  • Ajout d'une colonne PERIMETRE

v.db.addcol EXEMPLEMasq col="PERIMETRE int" --quiet 04-Jul-2012 11:57:34

  • Mettre à jour la colonne PERIMETRE

v.to.db map=EXEMPLEMasq@TEST7 option=perimeter units=meters columns=PERIMETRE --quiet 04-Jul-2012 11:57:35

  • Export du masque en shape

v.out.ogr input=EXEMPLEMasq@TEST7 type=area dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 -c --overwrite --quiet 04-Jul-2012 11:57:35

Création du réseau hydraulique entre chaque intersection

L'objet de cette partie est de Fusion de la pré-enveloppe avec les iles retenues, lissage fusion pour une enveloppe lisse, squeletisation et nettoyage pour la création de tronçons de crous d'eau

Principe

Cette étape consiste à fusionner la pré-enveloppe avec les iles que l'on veut supprimer, lisser des bords (triangles et losange), et ensuite avec un algorithme de squeletisation (Voronoï) de fournir la ligne médiane de l'enveloppe qui sera considérée comme notre réseau d'écoulement. Pour cela, une étape itérative de nettoyage est réalisée basée sur le fait de ne pas retenir les extrémités du réseau dont le cercle sur la polyligne extrême est inclus dans l'enveloppe lisse.

Explication du code

  • Import de la couche

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\EXEMPLEFus.shp output=Fusion001 snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:27:23

  • Import de la couche

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\EXEMPLEMasq.shp output=Couche002 snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:27:24

  • Fusion des deux couches Fusion i-1 et couche i

v.overlay ainput=Fusion001@TEST7 binput=Couche002@TEST7 output=Fusion002 --overwrite --quiet 04-Jul-2012 14:27:26

  • Ajout d'une colonne

v.db.addcol Fusion002 col="ATTRDISSOL int" --quiet 04-Jul-2012 14:27:33

  • Mise à jour d'une valeur constante

v.db.update Fusion002 col=ATTRDISSOL value=1 --quiet 04-Jul-2012 14:27:37

  • Fusion des données

v.dissolve input=Fusion002@TEST7 layer=1 column=ATTRDISSOL output=EnveloppeME --overwrite --quiet 04-Jul-2012 14:27:41

  • Export au format mapinfo

v.out.ogr input=EnveloppeME@TEST7 type=area dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 format=MapInfo_File dsco=FORMAT=MIF -c --overwrite --quiet 04-Jul-2012 14:27:41

  • Création Triangles et Losanges

réalisé sous matlab 04-Jul-2012 14:27:41

  • Import des triangles

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\EnveloppeMEtriangle.mif output=triangle snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:27:47

  • Import des losanges

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\EnveloppeMELosange.mif output=Losange snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:27:47

  • Fusion des Fusion et Triangle

v.overlay ainput=EnveloppeME@TEST7 binput=triangle@TEST7 output=Fusion002triangle --overwrite --quiet 04-Jul-2012 14:27:51

  • Fusion des Fusion et Triangle et Losange

v.overlay ainput=Fusion002triangle@TEST7 binput=Losange@TEST7 output=Fusion002triangleLosange --overwrite --quiet 04-Jul-2012 14:27:54

  • Ajout d'une colonne

v.db.addcol Fusion002triangleLosange col="ATTRDISSOL int" --quiet 04-Jul-2012 14:27:59

  • Mise à jour d'une valeur constante

v.db.update Fusion002triangleLosange col=ATTRDISSOL value=1 --quiet 04-Jul-2012 14:28:04

  • Fusion des données

v.dissolve input=Fusion002triangleLosange@TEST7 layer=1 column=ATTRDISSOL output=EnveloppeLisse --overwrite --quiet 04-Jul-2012 14:28:09

  • Export au format mapinfo

v.out.ogr input=EnveloppeLisse@TEST7 type=area dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 format=MapInfo_File dsco=FORMAT=MIF -c --overwrite --quiet 04-Jul-2012 14:28:10

  • Export au format Shape

v.out.ogr input=EnveloppeLisse@TEST7 type=area dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 -c --overwrite --quiet 04-Jul-2012 14:28:11

  • Voronoi dans matlab avec une coupure entre chaque point de géométrie

réalisé sous matlab 04-Jul-2012 14:28:11

  • Import du squelette Matlab

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\EnveloppeLisse-Sque-C001.mif output=Squelette001 snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:28:39

  • Conversion des segments en points

v.to.points -n input=Squelette001 output=Squelette001_pt type=line --overwrite --quiet 04-Jul-2012 14:29:04

  • Selection des points dans l'enveloppe

v.select ainput=Squelette001_pt atype=point binput=EnveloppeLisse btype=area output=Squelette001_ptEnveloppeLisse --overwrite --quiet 04-Jul-2012 14:29:40

  • Export au format Shape

v.db.select map=Squelette001_ptEnveloppeLisse layer=2 -c column=lcat file=D:\Marseille\CARTINO\PetitSecteur\TEST7\numero.txt --overwrite --quiet 04-Jul-2012 14:29:44

  • Travail à faire en matlab pour ne garder que les bons numéros

réalisé sous matlab 04-Jul-2012 14:29:44

  • Boucle tant qu'il reste des bouts à supprimer

réalisé sous matlab 04-Jul-2012 14:29:44

  • Exctraction des segments uniquement dans l'enveloppe

v.extract input=Squelette001 output=Squelette002 file=D:\Marseille\CARTINO\PetitSecteur\TEST7\numero2.txt --overwrite --quiet 04-Jul-2012 14:29:51

  • Fusion du squelette

v.build.polylines input=Squelette002@TEST7 cats=no output=Squelette003 --overwrite --quiet 04-Jul-2012 14:29:53

  • Export au format Shape

v.out.ogr input=Squelette003@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 --overwrite --quiet 04-Jul-2012 14:29:54

  • Import au format shape pour création colonne d'identifiant

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\Squelette003.shp output=Squelette003 snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:29:55

  • Import au format shape pour création colonne d'identifiant

v.db.dropcol map=Squelette003@TEST7 layer=1 column=cat_ --quiet 04-Jul-2012 14:30:01

  • Export au format Shape

v.out.ogr input=Squelette003@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 --overwrite --quiet 04-Jul-2012 14:30:03

  • Export au format Mapinfo

v.out.ogr input=Squelette003@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 format=MapInfo_File dsco=FORMAT=MIF --overwrite --quiet 04-Jul-2012 14:30:05

  • Création de point sur un cercle

réalisé sous matlab 04-Jul-2012 14:30:05

  • Import des points du cercle

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\Centre.mif output=Centre snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:30:11

  • Selection des points dans l'enveloppe

v.select ainput=Centre atype=point binput=EnveloppeLisse btype=area output=CentreEnveloppeLisse03 --overwrite --quiet 04-Jul-2012 14:30:16

  • Export au format Shape

v.db.select map=CentreEnveloppeLisse03 layer=1 -c column=NAXE file=D:\Marseille\CARTINO\PetitSecteur\TEST7\numerocentre03.txt --quiet 04-Jul-2012 14:30:17

  • Exctraction des segments uniquement dans l'enveloppe

v.extract input=Squelette003 output=Squelette004 file=D:\Marseille\CARTINO\PetitSecteur\TEST7\numero2.txt --overwrite --quiet 04-Jul-2012 14:30:18

  • Fusion du squelette

v.build.polylines input=Squelette004@TEST7 cats=no output=Squelette005 --overwrite --quiet 04-Jul-2012 14:30:18

  • Export au format Shape

v.out.ogr input=Squelette005@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 --overwrite --quiet 04-Jul-2012 14:30:19

  • Import au format shape pour création colonne d'identifiant

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\Squelette005.shp output=Squelette005 snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:30:20

  • Import au format shape pour création colonne d'identifiant

v.db.dropcol map=Squelette005@TEST7 layer=1 column=cat_ --quiet 04-Jul-2012 14:30:25

  • Export au format Shape

v.out.ogr input=Squelette005@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 --overwrite --quiet 04-Jul-2012 14:30:26

  • Export au format Mapinfo

v.out.ogr input=Squelette005@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 format=MapInfo_File dsco=FORMAT=MIF --overwrite --quiet 04-Jul-2012 14:30:27

  • Création de point sur un cercle

réalisé sous matlab 04-Jul-2012 14:30:27

  • Import des points du cercle

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\Centre.mif output=Centre snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:30:29

  • Selection des points dans l'enveloppe

v.select ainput=Centre atype=point binput=EnveloppeLisse btype=area output=CentreEnveloppeLisse05 --overwrite --quiet 04-Jul-2012 14:30:30

  • Export au format Shape

v.db.select map=CentreEnveloppeLisse05 layer=1 -c column=NAXE file=D:\Marseille\CARTINO\PetitSecteur\TEST7\numerocentre05.txt --quiet 04-Jul-2012 14:30:30

  • Exctraction des segments uniquement dans l'enveloppe

v.extract input=Squelette005 output=Squelette006 file=D:\Marseille\CARTINO\PetitSecteur\TEST7\numero2.txt --overwrite --quiet 04-Jul-2012 14:30:31

  • Fusion du squelette

v.build.polylines input=Squelette006@TEST7 cats=no output=Squelette007 --overwrite --quiet 04-Jul-2012 14:30:31

  • Export au format Shape

v.out.ogr input=Squelette007@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 --overwrite --quiet 04-Jul-2012 14:30:32

  • Import au format shape pour création colonne d'identifiant

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\Squelette007.shp output=Squelette007 snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:30:33

  • Import au format shape pour création colonne d'identifiant

v.db.dropcol map=Squelette007@TEST7 layer=1 column=cat_ --quiet 04-Jul-2012 14:30:40

  • Export au format Shape

v.out.ogr input=Squelette007@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 --overwrite --quiet 04-Jul-2012 14:30:41

  • Export au format Mapinfo

v.out.ogr input=Squelette007@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 format=MapInfo_File dsco=FORMAT=MIF --overwrite --quiet 04-Jul-2012 14:30:42

  • Création de point sur un cercle

réalisé sous matlab 04-Jul-2012 14:30:42

  • Import des points du cercle

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\Centre.mif output=Centre snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:30:43

  • Selection des points dans l'enveloppe

v.select ainput=Centre atype=point binput=EnveloppeLisse btype=area output=CentreEnveloppeLisse07 --overwrite --quiet 04-Jul-2012 14:30:43

  • Export au format Shape

v.db.select map=CentreEnveloppeLisse07 layer=1 -c column=NAXE file=D:\Marseille\CARTINO\PetitSecteur\TEST7\numerocentre07.txt --quiet 04-Jul-2012 14:30:44

  • Exctraction des segments uniquement dans l'enveloppe

v.extract input=Squelette007 output=Squelette008 file=D:\Marseille\CARTINO\PetitSecteur\TEST7\numero2.txt --overwrite --quiet 04-Jul-2012 14:30:44

  • Fusion du squelette

v.build.polylines input=Squelette008@TEST7 cats=no output=Squelette009 --overwrite --quiet 04-Jul-2012 14:30:45

  • Export au format Shape

v.out.ogr input=Squelette009@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 --overwrite --quiet 04-Jul-2012 14:30:46

  • Import au format shape pour création colonne d'identifiant

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\Squelette009.shp output=Squelette009 snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:30:46

  • Import au format shape pour création colonne d'identifiant

v.db.dropcol map=Squelette009@TEST7 layer=1 column=cat_ --quiet 04-Jul-2012 14:30:52

  • Export au format Shape

v.out.ogr input=Squelette009@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 --overwrite --quiet 04-Jul-2012 14:30:53

  • Export au format Mapinfo

v.out.ogr input=Squelette009@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 format=MapInfo_File dsco=FORMAT=MIF --overwrite --quiet 04-Jul-2012 14:30:54

  • Création de point sur un cercle

réalisé sous matlab 04-Jul-2012 14:30:54

  • Import des points du cercle

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\Centre.mif output=Centre snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:30:55

  • Selection des points dans l'enveloppe

v.select ainput=Centre atype=point binput=EnveloppeLisse btype=area output=CentreEnveloppeLisse09 --overwrite --quiet 04-Jul-2012 14:30:55

  • Export au format Shape

v.db.select map=CentreEnveloppeLisse09 layer=1 -c column=NAXE file=D:\Marseille\CARTINO\PetitSecteur\TEST7\numerocentre09.txt --quiet 04-Jul-2012 14:30:56

  • Exctraction des segments uniquement dans l'enveloppe

v.extract input=Squelette009 output=Squelette010 file=D:\Marseille\CARTINO\PetitSecteur\TEST7\numero2.txt --overwrite --quiet 04-Jul-2012 14:30:56

  • Fusion du squelette

v.build.polylines input=Squelette010@TEST7 cats=no output=Squelette011 --overwrite --quiet 04-Jul-2012 14:30:57

  • Export au format Shape

v.out.ogr input=Squelette011@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 --overwrite --quiet 04-Jul-2012 14:30:58

  • Import au format shape pour création colonne d'identifiant

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\Squelette011.shp output=Squelette011 snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:30:59

  • Import au format shape pour création colonne d'identifiant

v.db.dropcol map=Squelette011@TEST7 layer=1 column=cat_ --quiet 04-Jul-2012 14:31:04

  • Export au format Shape

v.out.ogr input=Squelette011@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 --overwrite --quiet 04-Jul-2012 14:31:05

  • Export au format Mapinfo

v.out.ogr input=Squelette011@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 format=MapInfo_File dsco=FORMAT=MIF --overwrite --quiet 04-Jul-2012 14:31:06

  • Création de point sur un cercle

réalisé sous matlab 04-Jul-2012 14:31:06

  • Import des points du cercle

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\Centre.mif output=Centre snap=-1 min_area=0.0001 --overwrite --quiet 04-Jul-2012 14:31:07

  • Selection des points dans l'enveloppe

v.select ainput=Centre atype=point binput=EnveloppeLisse btype=area output=CentreEnveloppeLisse11 --overwrite --quiet 04-Jul-2012 14:31:08

  • Export au format Shape

v.db.select map=CentreEnveloppeLisse11 layer=1 -c column=NAXE file=D:\Marseille\CARTINO\PetitSecteur\TEST7\numerocentre11.txt --quiet 04-Jul-2012 14:31:08

Classement des tronçons pour la création des biefs de calcul mascaret

Principes

L'objectif de cette partie est de joindre les tronçons pour réaliser des biefs de calculs.

Pour chaque jonction une analyse est effectuée pour connaitre les trois tronçons qui aboitissent à cette jonction.

Chaque extrémité de tronçons est interpolée sur la matrice de surface drainées ou de débits calculées avec cette matrice afin de mettre chaque tronçons dans le sens amont aval.

Le maximum de surface drainée est récupérér et l'algorithme remonte d'aval vers l'amont pour crérér à chaque nouvelle jonction deux branches. Les nuémros des tronçons sont supprimés...

A la fin, un bief de calcul est effectué de chaque extrémité amont vers l'extrémité aval correspondante. Un classement des biefs par longeures la plus importantes vers la moins importantes est effectué, il n'est pas effectué par rapport à la surface drainée.

Si plusieurs bassins versants sont présents, une boucle est effectué sur le maximum de surface drainée restante des tronçons restants.

Le calcul dans les étapes utlétrieure pourra être limité sur chaque bief de calcul pour ne pas venir calculer sur un endroit où un autre bief a été calculé. Ce choix veint des possibles problèmes de non-calcul (plantage lié à l'automatisation) et cette méthode nous permet d'essayer de calculer le plus de zones sans interventions humaines.


Explication du code

  • Ouverture des lignes médianes dans GRASS

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\Squelette011.shp output=AxeMor -e --overwrite --quiet 04-Jul-2012 15:18:48

  • Export des lignes médianes en mif/mid

v.out.ogr input=AxeMor@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 format=MapInfo_File dsco=FORMAT=MIF --overwrite --quiet 04-Jul-2012 15:18:49

  • Récupération des noeuds

v.to.points -n input=AxeMor@TEST7 output=AxeMorPt --overwrite --quiet 04-Jul-2012 15:18:50

  • Conversion en 3D

v.to.3d input=AxeMorPt@TEST7 output=AxeMorPt3d height=0 --overwrite --quiet 04-Jul-2012 15:18:51

  • Interpolation sur le raster

v.drape input=AxeMorPt3d@TEST7 rast=DebitQS08@TEST7 output=AxeMorPt3dQ --overwrite --quiet 04-Jul-2012 15:18:52

  • Export au format ascii

v.out.ascii input=AxeMorPt3dQ@TEST7 output=D:\Marseille\CARTINO\PetitSecteur\TEST7\AxeMorPt3dQ.txt fs=; dp=10 layer=2 columns=lcat,along --overwrite --quiet 04-Jul-2012 15:18:53

  • Vérification du sens

réalisé sous Matlab 04-Jul-2012 15:18:53

  • Création des biefs les + longs

réalisé sous Matlab 04-Jul-2012 15:18:53

  • Ouverture des lignes médianes orientées dans GRASS

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV01.mif output=BV01 -e --overwrite --quiet 04-Jul-2012 15:18:54

  • Export des lignes médianes orientées en shape

v.out.ogr input=BV01@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 --overwrite --quiet 04-Jul-2012 15:18:55

  • Ouverture des lignes médianes orientées dans GRASS

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV02.mif output=BV02 -e --overwrite --quiet 04-Jul-2012 15:18:57

  • Export des lignes médianes orientées en shape

v.out.ogr input=BV02@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 --overwrite --quiet 04-Jul-2012 15:18:58

Boucle sur les biefs

Principes

Cet partie a pour objectif de faire un calcul hydraulique sur chaque bief. Pour cela, le MNT et les débits (sous forme de grille) sont interpolés sur les traces. Le fichier de géométrie de mascaret est créé avec ces profils. Le fichier de paramètres est celui d'un cas à un seul bief en régime permanent. Le débit amont est entrée. Des apports intermédiaires sont apportés avec des lois en base pour contourner la limitation du nombre de loi possible dans mascaret (20). La condition aval est pour l'instant extraite d'une loi de Strickler. Pour cela, un fichier mascaret est créé avec deux fois le profil final afin de récupérer les résultats du planimétrage, c'est à dire surface mouillée et périmètre mouillé qui sont intégrés dans une formule de débit avec la pente du bief.

Il reste à gérer des conditions aval fourni par l'utilisateur ou la reprise des conditions de biefs à l'aval.

Explication du Code

L'explication n'est fournie que sur un seul bief.

  • Ouverture des axes dans GRASS

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV01.shp output=BV01_Bie -e --overwrite --quiet 05-Jul-2012 14:57:09

  • Récupération des numéros

v.db.select map=BV01_Bie layer=1 -c column=cat file=D:\Marseille\CARTINO\PetitSecteur\TEST7\naxe.txt --quiet 05-Jul-2012 14:57:09

  • Boucle sur tous les axes de calculs

réalisé sous matlab 05-Jul-2012 14:57:09

  • Ajustement de la région

g.region vect=BV01_Bie@TEST7 05-Jul-2012 14:57:09

  • Extraction des segments uniquement dans l'enveloppe

v.extract input=BV01_Bie output=BV01_Bie002 file=D:\Marseille\CARTINO\PetitSecteur\TEST7\iaxe.txt --overwrite --quiet 05-Jul-2012 14:57:10

  • Export du découpage en MIFMID

v.out.ogr input=BV01_Bie002@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 format=MapInfo_File dsco=FORMAT=MIF --overwrite --quiet 05-Jul-2012 14:57:10

  • Création des traces de profils en travers à pas et largeur constante

réalisé sous matlab 05-Jul-2012 14:57:10

  • Lancement des intersections des traces avec l'enveloppe lisse

réalisé sous matlab 05-Jul-2012 14:57:10

  • Ouverture du profil en travers en mif dans GRASS

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV01_Bie002TraP024L0240.mif output=BV01_Bie002TraP024L0240 -e --overwrite --quiet 05-Jul-2012 14:57:11

  • Ajustement de la région

g.region vect=BV01_Bie002TraP024L0240@TEST7 05-Jul-2012 14:57:11

  • Mise à jour d'une valeur constante

v.db.update BV01_Bie002TraP024L0240 col=NAXE value=2 05-Jul-2012 14:57:16

  • Coupure

v.overlay ainput=BV01_Bie002TraP024L0240@TEST7 atype=line alayer=1 binput=EnveloppeLisse@TEST7 btype=area blayer=1 output=BV01_Bie002TraP024L0240Coup operator=and --overwrite --quiet 05-Jul-2012 14:57:17

  • Ajustement de la région

g.region vect=BV01_Bie002TraP024L0240Coup@TEST7 05-Jul-2012 14:57:18

  • Export du mifmid coupé

v.out.ogr input=BV01_Bie002TraP024L0240Coup@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 format=MapInfo_File dsco=FORMAT=MIF --overwrite --quiet 05-Jul-2012 14:57:19

  • Export du shape coupé

v.out.ogr input=BV01_Bie002TraP024L0240Coup@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 --overwrite --quiet 05-Jul-2012 14:57:19

  • Extraction des segments uniquement dans l'enveloppe

v.extract input=BV01_Bie002TraP024L0240Coup output=BV01_Bie002TraP024L0240CoupFinal file=D:\Marseille\CARTINO\PetitSecteur\TEST7\numero_CoupTraces.txt --overwrite --quiet 05-Jul-2012 14:57:20

  • Export du mifmid coupé

v.out.ogr input=BV01_Bie002TraP024L0240CoupFinal@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 format=MapInfo_File dsco=FORMAT=MIF --overwrite --quiet 05-Jul-2012 14:57:21

  • Ajustement de la région

g.region vect=BV01_Bie002TraP024L0240CoupFinal@TEST7 05-Jul-2012 14:57:21

  • Calcul des longueurs variables entre traces

réalisé sous matlab 05-Jul-2012 14:57:21

  • Export des profils en travers finaux en MIFMID

réalisé sous matlab 05-Jul-2012 14:57:22

  • Boucle pour vérifier que lisser les traces (Suppression des intersections

réalisé sous Matlab 05-Jul-2012 14:57:22

  • Ouverture du profil en travers en mif dans GRASS

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV01_Bie002TraNonCst000.mif output=BV01_Bie002TraNonCst000 -e --overwrite --quiet 05-Jul-2012 14:57:23

  • Ajustement de la région

g.region vect=BV01_Bie002TraNonCst000@TEST7 05-Jul-2012 14:57:23

  • Nettoyage pour couper les profils

v.clean input=BV01_Bie002TraNonCst000@TEST7 output=BV01_Bie002TraNonCst01 tool=break --overwrite --quiet 05-Jul-2012 14:57:23

  • Récupération des noeuds

v.to.points -n input=BV01_Bie002TraNonCst01@TEST7 output=BV01_Bie002TraNonCst02Pt --overwrite --quiet 05-Jul-2012 14:57:24

  • Export au format ascii

v.out.ascii input=BV01_Bie002TraNonCst02Pt@TEST7 output=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV01_Bie002TraNonCst02Pt fs=; dp=10 layer=2 columns=lcat,along --overwrite --quiet 05-Jul-2012 14:57:28

  • Vérification du sens

réalisé sous Matlab 05-Jul-2012 14:57:28

  • Boucle pour vérifier que lisser les traces (Suppression des intersections

réalisé sous Matlab 05-Jul-2012 14:57:28

  • Ouverture du profil en travers en mif dans GRASS

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV01_Bie002TraNonCst02.mif output=BV01_Bie002TraNonCst02 -e --overwrite --quiet 05-Jul-2012 14:57:28

  • Ajustement de la région

g.region vect=BV01_Bie002TraNonCst02@TEST7 05-Jul-2012 14:57:29

  • Nettoyage pour couper les profils

v.clean input=BV01_Bie002TraNonCst02@TEST7 output=BV01_Bie002TraNonCst03 tool=break --overwrite --quiet 05-Jul-2012 14:57:29

  • Récupération des noeuds

v.to.points -n input=BV01_Bie002TraNonCst03@TEST7 output=BV01_Bie002TraNonCst04Pt --overwrite --quiet 05-Jul-2012 14:57:30

  • Export au format ascii

v.out.ascii input=BV01_Bie002TraNonCst04Pt@TEST7 output=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV01_Bie002TraNonCst04Pt fs=; dp=10 layer=2 columns=lcat,along --overwrite --quiet 05-Jul-2012 14:57:33

  • Vérification du sens

réalisé sous Matlab 05-Jul-2012 14:57:33

  • Export du mifmid coupé

v.out.ogr input=BV01_Bie002TraNonCst02@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7 format=MapInfo_File dsco=FORMAT=MIF --overwrite --quiet 05-Jul-2012 14:57:34

  • Création du contour des traces

réalisé sous Matlab 05-Jul-2012 14:57:34

  • Ouverture des contours des traces en mif dans GRASS

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV01_Bie002TraNonCst02Contour.mif output=BV01_Bie002TraNonCst02Contour -e --overwrite --quiet 05-Jul-2012 14:57:38

  • Interpolation du MNT

Appel de procédure GRASS avec Matlab 05-Jul-2012 14:57:38

  • Ouverture du profil en travers en mif dans GRASS

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV01_Bie002TraNonCst02.mif output=BV01_Bie002TraNonCst0220120105MARSDEM -e --overwrite --quiet 05-Jul-2012 14:57:38

  • Ajustement de la région

g.region vect=BV01_Bie002TraNonCst0220120105MARSDEM@TEST7 05-Jul-2012 14:57:39

  • Conversion en 3D

v.to.3d input=BV01_Bie002TraNonCst0220120105MARSDEM@TEST7 output=BV01_Bie002TraNonCst0220120105MARSDEM3d height=0 --overwrite --quiet 05-Jul-2012 14:57:39

  • Couper en points à equidistance

v.to.points -v -i input=BV01_Bie002TraNonCst0220120105MARSDEM3d@TEST7 output=BV01_Bie002TraNonCst0220120105MARSDEM3dPt dmax=2 --overwrite --quiet 05-Jul-2012 14:57:41

  • Interpolation sur le raster

v.drape input=BV01_Bie002TraNonCst0220120105MARSDEM3dPt@TEST7 rast=20120105MARSDEM@TEST7 output=BV01_Bie002TraNonCst0220120105MARSDEM3dPtZ --overwrite --quiet 05-Jul-2012 14:57:44

  • Export au format ascii

v.out.ascii input=BV01_Bie002TraNonCst0220120105MARSDEM3dPtZ@TEST7 output=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV01_Bie002TraNonCst0220120105MARSDEM3dPtZ.txt fs=; dp=2 layer=2 columns=lcat,along --overwrite --quiet 05-Jul-2012 14:58:50

  • Interpolation des débit

Appel de procédure GRASS avec Matlab 05-Jul-2012 14:58:50

  • Ouverture du profil en travers en mif dans GRASS

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV01_Bie002TraNonCst02.mif output=BV01_Bie002TraNonCst02DebitQS08 -e --overwrite --quiet 05-Jul-2012 14:58:50

  • Ajustement de la région

g.region vect=BV01_Bie002TraNonCst02DebitQS08@TEST7 05-Jul-2012 14:58:51

  • Conversion en 3D

v.to.3d input=BV01_Bie002TraNonCst02DebitQS08@TEST7 output=BV01_Bie002TraNonCst02DebitQS083d height=0 --overwrite --quiet 05-Jul-2012 14:58:51

  • Couper en points à equidistance

v.to.points -v -i input=BV01_Bie002TraNonCst02DebitQS083d@TEST7 output=BV01_Bie002TraNonCst02DebitQS083dPt dmax=2 --overwrite --quiet 05-Jul-2012 14:58:53

  • Interpolation sur le raster

v.drape input=BV01_Bie002TraNonCst02DebitQS083dPt@TEST7 rast=DebitQS08@TEST7 output=BV01_Bie002TraNonCst02DebitQS083dPtZ --overwrite --quiet 05-Jul-2012 14:58:57

  • Export au format ascii

v.out.ascii input=BV01_Bie002TraNonCst02DebitQS083dPtZ@TEST7 output=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV01_Bie002TraNonCst02DebitQS083dPtZ.txt fs=; dp=2 layer=2 columns=lcat,along --overwrite --quiet 05-Jul-2012 15:00:03

  • Création des apports de débit

réalisé sous Matlab 05-Jul-2012 15:00:03

  • Création d'un fichier Mascaret pour le planimétrage avec le profil aval

réalisé sous Matlab 05-Jul-2012 15:00:03

  • ---- Création du fichier GEO de géométrie final mascaret

réalisé sous Matlab 05-Jul-2012 15:00:04

  • Création de la cote aval avec le planimétrage mascaret (Formule de Strickler)

réalisé sous Matlab 05-Jul-2012 15:00:04

  • ---- Création du fichier CAS de paramètre final mascaret

réalisé sous Matlab 05-Jul-2012 15:00:04

  • ---- Déplacement de tous les fichiers lié à un bief et un axe dans un repertoire adhoc

réalisé sous Matlab 05-Jul-2012 15:00:04

  • ---- Lancement du calcul

réalisé sous Matlab 05-Jul-2012 15:00:04

  • ---- Déplacement de tous les fichiers nécessaire au calcul Mascaret

réalisé sous Matlab 05-Jul-2012 15:00:04

  • ---- Lancement du calcul Mascaret

réalisé sous Matlab 05-Jul-2012 15:00:04

  • ---- Déplacement de tous les fichiers lié à un bief dans un repertoire adhoc

réalisé sous Matlab 05-Jul-2012 15:02:31

  • ---- Lancement du calcul Mascaret

réalisé sous Matlab 05-Jul-2012 15:00:08

  • Ouverture des profils en travers en mif dans GRASS

v.in.ogr -o dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV01\BV01_Bie002\BV01_Bie002TraNonCst02Ligne3D.mif output=BV01_Bie002TraNonCst02Ligne3D -e --overwrite --quiet 05-Jul-2012 15:00:09

  • Export des profils en shape

v.out.ogr input=BV01_Bie002TraNonCst02Ligne3D@TEST7 type=line dsn=D:\Marseille\CARTINO\PetitSecteur\TEST7\BV01\BV01_Bie002 --overwrite --quiet 05-Jul-2012 15:00:09

  • Ajustement de la région

g.region vect=BV01_Bie002TraNonCst02Contour@TEST7 05-Jul-2012 15:00:10

  • Création d'un masque raster

v.to.rast input=BV01_Bie002TraNonCst02Contour@TEST7 type=area output=BV01_Bie002TraNonCst02ContourMasque use=val --overwrite --quiet 05-Jul-2012 15:00:10

  • Interpolation v.surf.idw

v.surf.rst input=BV01_Bie002TraNonCst02Ligne3D@TEST7 elev=BV01_Bie002TraNonCst02Zvsurfrst maskmap=BV01_Bie002TraNonCst02ContourMasque@TEST7 zcolumn=Z_m --overwrite --quiet 05-Jul-2012 15:02:29

  • Différence Cote et MNT

r.mapcalc "BV01_Bie002TraNonCst02Hvsurfrst = ((BV01_Bie002TraNonCst02Zvsurfrst@TEST7-20120105MARSDEM@TEST7))" 05-Jul-2012 15:02:31

Outils personnels