import os
HYDRO_SAMPLES = os.path.join( os.environ["HYDRO_ROOT_DIR"], "bin/salome/test/HYDRO")
+HYDRO_RESOURCES = os.path.join( os.environ["HYDRO_ROOT_DIR"], "share/salome/resources/hydro")
+HYDRO_TEST_RESOURCES = os.path.join(os.environ["HYDRO_DIR"], "bin", "salome", "test", "tmp_test")
+if not os.path.isdir(HYDRO_TEST_RESOURCES):
+ os.mkdir(HYDRO_TEST_RESOURCES)
+
+import tempfile
+tmpdir = tempfile.mkdtemp()
+print("tmpdir=",tmpdir)
import sys
import salome
from PyQt5.QtCore import *
from PyQt5.QtGui import *
-hydro_doc = HYDROData_Document.Document()
-
-hydro_doc.SetLocalCS( 430000, 6.35e+06 )
-
-garonne_ign_01 = hydro_doc.CreateObject( KIND_IMAGE )
-garonne_ign_01.SetName( "garonne_ign_01" )
-
-garonne_ign_01.SetZLevel( 0 )
-
-
-if not(garonne_ign_01.LoadImage(os.path.join(HYDRO_SAMPLES, "garonne_ign_01.png" ))):
- raise ValueError('problem while loading image')
-
-garonne_ign_01.SetLocalPoints( QPoint( 40, 817 ),
- QPoint( 1325, 85 ) )
+from salome.hydrotools.hydroGeoMeshUtils import loadImage, GeolocaliseImageCoords, GeolocaliseImageReference
+from salome.hydrotools.hydroGeoMeshUtils import importPolylines, importBathymetry, createImmersibleZone, mergePolylines, getChildrenInStudy
-garonne_ign_01.SetGlobalPoints( 1,
- QPointF( 471562, 6.36775e+06 ),
- QPointF( 489400, 6.37702e+06 ) )
-
-garonne_ign_01.Update()
-
-garonne_ign_02 = hydro_doc.CreateObject( KIND_IMAGE )
-garonne_ign_02.SetName( "garonne_ign_02" )
-
-garonne_ign_02.SetZLevel( 1 )
+hydro_doc = HYDROData_Document.Document()
+offsetX = 430000.
+offsetY = 6350000.
+hydro_doc.SetLocalCS( offsetX, offsetY )
-if not(garonne_ign_02.LoadImage( os.path.join(HYDRO_SAMPLES, "garonne_ign_02.png" ))):
- raise ValueError('problem while loading image')
+garonne_ign_01 = loadImage(hydro_doc, os.path.join(HYDRO_SAMPLES, "garonne_ign_01.png"), "garonne_ign_01", 0)
+GeolocaliseImageCoords(garonne_ign_01,
+ QPoint(40, 817), QPoint(1325, 85),
+ QPointF(471562, 6.36775e+06), QPointF(489400, 6.37702e+06))
-garonne_ign_02.SetLocalPoints( QPoint( 1389, 447 ),
- QPoint( 784, 481 ) )
+garonne_ign_02 = loadImage(hydro_doc, os.path.join(HYDRO_SAMPLES, "garonne_ign_02.png"), "garonne_ign_02", 1)
+GeolocaliseImageReference(garonne_ign_02, garonne_ign_01,
+ QPoint(1389, 447), QPoint(784, 481),
+ QPoint(631, 95), QPoint(26, 129))
-garonne_ign_02.SetGlobalPoints( 3,
- QPointF( 631, 95 ),
- QPointF( 26, 129 ) )
-garonne_ign_02.SetTrsfReferenceImage( garonne_ign_01 )
+garonnes = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "garonne.shp"), "garonne_PolyXY", True, 5)
+limites_domaine = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "domaine.shp"), "domaine_PolyXY", False, 6)
+lits_majeur = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "lit_majeur.shp"), "lit_majeur_PolyXY", True, 7)
-garonne_ign_02.Update()
+Cloud_02 = importBathymetry(hydro_doc, os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz"))
+garonne_point_L93 = importBathymetry(hydro_doc, os.path.join(HYDRO_SAMPLES, "garonne_point_L93.xyz"))
+domaineEtendu = createImmersibleZone(hydro_doc, "domaineEtendu", limites_domaine[0], Cloud_02, True, 2)
+litMajeur = createImmersibleZone(hydro_doc, "litMajeur", lits_majeur[0], garonne_point_L93, True, 3)
+litMineur = createImmersibleZone(hydro_doc, "litMineur", garonnes[0], garonne_point_L93, True, 4)
def_strickler_table_06 = hydro_doc.CreateObject( KIND_STRICKLER_TABLE )
+def_strickler_table_06.Import(os.path.join(HYDRO_RESOURCES, "def_strickler_table_06.txt"))
def_strickler_table_06.SetName( "def_strickler_table_06" )
-
def_strickler_table_06.SetAttrName( "CODE_06" )
-
-def_strickler_table_06.Set( "Pelouses et pâturages naturels", 31 )
-def_strickler_table_06.SetAttrValue( "Pelouses et pâturages naturels", "321" )
-def_strickler_table_06.SetColor( "Pelouses et pâturages naturels", QColor( 204, 242, 77 ) )
-
-def_strickler_table_06.Set( "Aéroports", 43 )
-def_strickler_table_06.SetAttrValue( "Aéroports", "124" )
-def_strickler_table_06.SetColor( "Aéroports", QColor( 230, 204, 230 ) )
-
-def_strickler_table_06.Set( "Systèmes culturaux et parcellaires complexes", 19 )
-def_strickler_table_06.SetAttrValue( "Systèmes culturaux et parcellaires complexes", "242" )
-def_strickler_table_06.SetColor( "Systèmes culturaux et parcellaires complexes", QColor( 255, 230, 77 ) )
-
-def_strickler_table_06.Set( "Cultures annuelles associées à des cultures permanentes", 27 )
-def_strickler_table_06.SetAttrValue( "Cultures annuelles associées à des cultures permanentes", "241" )
-def_strickler_table_06.SetColor( "Cultures annuelles associées à des cultures permanentes", QColor( 255, 230, 166 ) )
-
-def_strickler_table_06.Set( "Forêt et végétation arbustive en mutation", 9 )
-def_strickler_table_06.SetAttrValue( "Forêt et végétation arbustive en mutation", "324" )
-def_strickler_table_06.SetColor( "Forêt et végétation arbustive en mutation", QColor( 166, 242, 0 ) )
-
-def_strickler_table_06.Set( "Décharges", 21 )
-def_strickler_table_06.SetAttrValue( "Décharges", "132" )
-def_strickler_table_06.SetColor( "Décharges", QColor( 166, 77, 0 ) )
-
-def_strickler_table_06.Set( "Végétation clairsemée", 43 )
-def_strickler_table_06.SetAttrValue( "Végétation clairsemée", "333" )
-def_strickler_table_06.SetColor( "Végétation clairsemée", QColor( 204, 255, 204 ) )
-
-def_strickler_table_06.Set( "Prairies et autres surfaces toujours en herbe à usage agricole", 33 )
-def_strickler_table_06.SetAttrValue( "Prairies et autres surfaces toujours en herbe à usage agricole", "231" )
-def_strickler_table_06.SetColor( "Prairies et autres surfaces toujours en herbe à usage agricole", QColor( 230, 230, 77 ) )
-
-def_strickler_table_06.Set( "Périmètres irrigués en permanence", 43 )
-def_strickler_table_06.SetAttrValue( "Périmètres irrigués en permanence", "212" )
-def_strickler_table_06.SetColor( "Périmètres irrigués en permanence", QColor( 255, 255, 0 ) )
-
-def_strickler_table_06.Set( "Plans d'eau", 90 )
-def_strickler_table_06.SetAttrValue( "Plans d'eau", "512" )
-def_strickler_table_06.SetColor( "Plans d'eau", QColor( 128, 242, 230 ) )
-
-def_strickler_table_06.Set( "Territoires agroforestiers", 14 )
-def_strickler_table_06.SetAttrValue( "Territoires agroforestiers", "244" )
-def_strickler_table_06.SetColor( "Territoires agroforestiers", QColor( 242, 204, 166 ) )
-
-def_strickler_table_06.Set( "Forêts mélangées", 10 )
-def_strickler_table_06.SetAttrValue( "Forêts mélangées", "313" )
-def_strickler_table_06.SetColor( "Forêts mélangées", QColor( 77, 255, 0 ) )
-
-def_strickler_table_06.Set( "Glaciers et neiges éternelles", 75 )
-def_strickler_table_06.SetAttrValue( "Glaciers et neiges éternelles", "335" )
-def_strickler_table_06.SetColor( "Glaciers et neiges éternelles", QColor( 166, 230, 204 ) )
-
-def_strickler_table_06.Set( "Plages, dunes et sable", 39 )
-def_strickler_table_06.SetAttrValue( "Plages, dunes et sable", "331" )
-def_strickler_table_06.SetColor( "Plages, dunes et sable", QColor( 230, 230, 230 ) )
-
-def_strickler_table_06.Set( "Zones incendiées", 65 )
-def_strickler_table_06.SetAttrValue( "Zones incendiées", "334" )
-def_strickler_table_06.SetColor( "Zones incendiées", QColor( 0, 0, 0 ) )
-
-def_strickler_table_06.Set( "Tissu urbain continu", 15 )
-def_strickler_table_06.SetAttrValue( "Tissu urbain continu", "111" )
-def_strickler_table_06.SetColor( "Tissu urbain continu", QColor( 230, 0, 77 ) )
-
-def_strickler_table_06.Set( "Chantiers", 17 )
-def_strickler_table_06.SetAttrValue( "Chantiers", "133" )
-def_strickler_table_06.SetColor( "Chantiers", QColor( 255, 77, 255 ) )
-
-def_strickler_table_06.Set( "Estuaires", 98 )
-def_strickler_table_06.SetAttrValue( "Estuaires", "522" )
-def_strickler_table_06.SetColor( "Estuaires", QColor( 166, 255, 230 ) )
-
-def_strickler_table_06.Set( "Marais maritimes", 74 )
-def_strickler_table_06.SetAttrValue( "Marais maritimes", "421" )
-def_strickler_table_06.SetColor( "Marais maritimes", QColor( 204, 204, 255 ) )
-
-def_strickler_table_06.Set( "Forêts de conifères", 13 )
-def_strickler_table_06.SetAttrValue( "Forêts de conifères", "312" )
-def_strickler_table_06.SetColor( "Forêts de conifères", QColor( 0, 166, 0 ) )
-
-def_strickler_table_06.Set( "Surfaces essentiellement agricoles, interrompues par des espaces naturels importants", 16 )
-def_strickler_table_06.SetAttrValue( "Surfaces essentiellement agricoles, interrompues par des espaces naturels importants", "243" )
-def_strickler_table_06.SetColor( "Surfaces essentiellement agricoles, interrompues par des espaces naturels importants", QColor( 230, 204, 77 ) )
-
-def_strickler_table_06.Set( "Tourbières", 65 )
-def_strickler_table_06.SetAttrValue( "Tourbières", "412" )
-def_strickler_table_06.SetColor( "Tourbières", QColor( 77, 77, 255 ) )
-
-def_strickler_table_06.Set( "Extraction de matériaux", 19 )
-def_strickler_table_06.SetAttrValue( "Extraction de matériaux", "131" )
-def_strickler_table_06.SetColor( "Extraction de matériaux", QColor( 166, 0, 204 ) )
-
-def_strickler_table_06.Set( "Réseaux routier et ferroviaire et espaces associés", 35 )
-def_strickler_table_06.SetAttrValue( "Réseaux routier et ferroviaire et espaces associés", "122" )
-def_strickler_table_06.SetColor( "Réseaux routier et ferroviaire et espaces associés", QColor( 204, 0, 0 ) )
-
-def_strickler_table_06.Set( "Mers et océans", 99 )
-def_strickler_table_06.SetAttrValue( "Mers et océans", "523" )
-def_strickler_table_06.SetColor( "Mers et océans", QColor( 230, 242, 255 ) )
-
-def_strickler_table_06.Set( "Equipements sportifs et de loisirs", 40 )
-def_strickler_table_06.SetAttrValue( "Equipements sportifs et de loisirs", "142" )
-def_strickler_table_06.SetColor( "Equipements sportifs et de loisirs", QColor( 255, 230, 255 ) )
-
-def_strickler_table_06.Set( "Forêts de feuillus", 9 )
-def_strickler_table_06.SetAttrValue( "Forêts de feuillus", "311" )
-def_strickler_table_06.SetColor( "Forêts de feuillus", QColor( 128, 255, 0 ) )
-
-def_strickler_table_06.Set( "Vergers et petits fruits", 25 )
-def_strickler_table_06.SetAttrValue( "Vergers et petits fruits", "222" )
-def_strickler_table_06.SetColor( "Vergers et petits fruits", QColor( 242, 166, 77 ) )
-
-def_strickler_table_06.Set( "Végétation sclérophylle", 10 )
-def_strickler_table_06.SetAttrValue( "Végétation sclérophylle", "323" )
-def_strickler_table_06.SetColor( "Végétation sclérophylle", QColor( 166, 230, 77 ) )
-
-def_strickler_table_06.Set( "Landes et broussailles", 12 )
-def_strickler_table_06.SetAttrValue( "Landes et broussailles", "322" )
-def_strickler_table_06.SetColor( "Landes et broussailles", QColor( 166, 255, 128 ) )
-
-def_strickler_table_06.Set( "Tissu urbain discontinu", 32 )
-def_strickler_table_06.SetAttrValue( "Tissu urbain discontinu", "112" )
-def_strickler_table_06.SetColor( "Tissu urbain discontinu", QColor( 255, 0, 0 ) )
-
-def_strickler_table_06.Set( "Cours et voies d'eau", 88 )
-def_strickler_table_06.SetAttrValue( "Cours et voies d'eau", "511" )
-def_strickler_table_06.SetColor( "Cours et voies d'eau", QColor( 0, 204, 242 ) )
-
-def_strickler_table_06.Set( "Oliveraies", 26 )
-def_strickler_table_06.SetAttrValue( "Oliveraies", "223" )
-def_strickler_table_06.SetColor( "Oliveraies", QColor( 230, 166, 0 ) )
-
-def_strickler_table_06.Set( "Vignobles", 24 )
-def_strickler_table_06.SetAttrValue( "Vignobles", "221" )
-def_strickler_table_06.SetColor( "Vignobles", QColor( 230, 128, 0 ) )
-
-def_strickler_table_06.Set( "Rizières", 42 )
-def_strickler_table_06.SetAttrValue( "Rizières", "213" )
-def_strickler_table_06.SetColor( "Rizières", QColor( 230, 230, 0 ) )
-
-def_strickler_table_06.Set( "Zones portuaires", 45 )
-def_strickler_table_06.SetAttrValue( "Zones portuaires", "123" )
-def_strickler_table_06.SetColor( "Zones portuaires", QColor( 230, 204, 204 ) )
-
-def_strickler_table_06.Set( "Zones industrielles ou commerciales et installations publiques", 30 )
-def_strickler_table_06.SetAttrValue( "Zones industrielles ou commerciales et installations publiques", "121" )
-def_strickler_table_06.SetColor( "Zones industrielles ou commerciales et installations publiques", QColor( 204, 77, 242 ) )
-
-def_strickler_table_06.Set( "Marais salants", 73 )
-def_strickler_table_06.SetAttrValue( "Marais salants", "422" )
-def_strickler_table_06.SetColor( "Marais salants", QColor( 230, 230, 255 ) )
-
-def_strickler_table_06.Set( "Marais intérieurs", 60 )
-def_strickler_table_06.SetAttrValue( "Marais intérieurs", "411" )
-def_strickler_table_06.SetColor( "Marais intérieurs", QColor( 166, 166, 255 ) )
-
-def_strickler_table_06.Set( "Espaces verts urbains", 25 )
-def_strickler_table_06.SetAttrValue( "Espaces verts urbains", "141" )
-def_strickler_table_06.SetColor( "Espaces verts urbains", QColor( 255, 166, 255 ) )
-
-def_strickler_table_06.Set( "Lagunes littorales", 95 )
-def_strickler_table_06.SetAttrValue( "Lagunes littorales", "521" )
-def_strickler_table_06.SetColor( "Lagunes littorales", QColor( 0, 255, 166 ) )
-
-def_strickler_table_06.Set( "Roches nues", 45 )
-def_strickler_table_06.SetAttrValue( "Roches nues", "332" )
-def_strickler_table_06.SetColor( "Roches nues", QColor( 204, 204, 204 ) )
-
-def_strickler_table_06.Set( "Terres arables hors périmètres d'irrigation", 31 )
-def_strickler_table_06.SetAttrValue( "Terres arables hors périmètres d'irrigation", "211" )
-def_strickler_table_06.SetColor( "Terres arables hors périmètres d'irrigation", QColor( 255, 255, 168 ) )
-
-def_strickler_table_06.Set( "Zones intertidales", 75 )
-def_strickler_table_06.SetAttrValue( "Zones intertidales", "423" )
-def_strickler_table_06.SetColor( "Zones intertidales", QColor( 166, 166, 230 ) )
-
-
def_strickler_table_06.Update()
-garonne = hydro_doc.CreateObject( KIND_POLYLINEXY )
-garonne.SetName( "garonne" )
-
-garonne.SetZLevel( 2 )
-
-garonne.AddSection( "Section_1", 1, 1 )
-garonne.AddPoint( 0, gp_XY( 38191.48, 33184.55 ) )
-garonne.AddPoint( 0, gp_XY( 38553.78, 33013.53 ) )
-garonne.AddPoint( 0, gp_XY( 38993.90, 32767.64 ) )
-garonne.AddPoint( 0, gp_XY( 39678.58, 32533.58 ) )
-garonne.AddPoint( 0, gp_XY( 40240.26, 32305.27 ) )
-garonne.AddPoint( 0, gp_XY( 40717.94, 32193.70 ) )
-garonne.AddPoint( 0, gp_XY( 41361.00, 32464.18 ) )
-garonne.AddPoint( 0, gp_XY( 41831.41, 32626.69 ) )
-garonne.AddPoint( 0, gp_XY( 41950.14, 32618.24 ) )
-garonne.AddPoint( 0, gp_XY( 42524.97, 32419.61 ) )
-garonne.AddPoint( 0, gp_XY( 42909.80, 32291.33 ) )
-garonne.AddPoint( 0, gp_XY( 43177.03, 32269.95 ) )
-garonne.AddPoint( 0, gp_XY( 43465.65, 32344.78 ) )
-garonne.AddPoint( 0, gp_XY( 43754.27, 32152.37 ) )
-garonne.AddPoint( 0, gp_XY( 44128.40, 31842.37 ) )
-garonne.AddPoint( 0, gp_XY( 44003.90, 31269.93 ) )
-garonne.AddPoint( 0, gp_XY( 44010.82, 30869.63 ) )
-garonne.AddPoint( 0, gp_XY( 44064.26, 30655.84 ) )
-garonne.AddPoint( 0, gp_XY( 44434.73, 30366.18 ) )
-garonne.AddPoint( 0, gp_XY( 45208.04, 30484.81 ) )
-garonne.AddPoint( 0, gp_XY( 45705.01, 30287.34 ) )
-garonne.AddPoint( 0, gp_XY( 45933.89, 30046.87 ) )
-garonne.AddPoint( 0, gp_XY( 46127.34, 29490.68 ) )
-garonne.AddPoint( 0, gp_XY( 46111.60, 29226.08 ) )
-garonne.AddPoint( 0, gp_XY( 46228.62, 28784.05 ) )
-garonne.AddPoint( 0, gp_XY( 46247.64, 28449.75 ) )
-garonne.AddPoint( 0, gp_XY( 46108.48, 28086.94 ) )
-garonne.AddPoint( 0, gp_XY( 45618.52, 27553.74 ) )
-garonne.AddPoint( 0, gp_XY( 45276.77, 27042.78 ) )
-garonne.AddPoint( 0, gp_XY( 45001.89, 26273.15 ) )
-garonne.AddPoint( 0, gp_XY( 45167.76, 25975.34 ) )
-garonne.AddPoint( 0, gp_XY( 46018.15, 25848.84 ) )
-garonne.AddPoint( 0, gp_XY( 46378.94, 25872.21 ) )
-garonne.AddPoint( 0, gp_XY( 46885.57, 25937.64 ) )
-garonne.AddPoint( 0, gp_XY( 47278.36, 25782.88 ) )
-garonne.AddPoint( 0, gp_XY( 47153.86, 25728.04 ) )
-garonne.AddPoint( 0, gp_XY( 46987.51, 25749.97 ) )
-garonne.AddPoint( 0, gp_XY( 46658.26, 25715.71 ) )
-garonne.AddPoint( 0, gp_XY( 45650.76, 25634.46 ) )
-garonne.AddPoint( 0, gp_XY( 45122.63, 25748.21 ) )
-garonne.AddPoint( 0, gp_XY( 44797.63, 26325.09 ) )
-garonne.AddPoint( 0, gp_XY( 45114.51, 27168.75 ) )
-garonne.AddPoint( 0, gp_XY( 45508.28, 27713.21 ) )
-garonne.AddPoint( 0, gp_XY( 45994.19, 28382.53 ) )
-garonne.AddPoint( 0, gp_XY( 45927.01, 29201.34 ) )
-garonne.AddPoint( 0, gp_XY( 45756.39, 29859.47 ) )
-garonne.AddPoint( 0, gp_XY( 45390.76, 30151.97 ) )
-garonne.AddPoint( 0, gp_XY( 45039.85, 30120.84 ) )
-garonne.AddPoint( 0, gp_XY( 44513.26, 30084.28 ) )
-garonne.AddPoint( 0, gp_XY( 43923.42, 30426.28 ) )
-garonne.AddPoint( 0, gp_XY( 43768.81, 30934.29 ) )
-garonne.AddPoint( 0, gp_XY( 43820.10, 31425.20 ) )
-garonne.AddPoint( 0, gp_XY( 43854.78, 31801.12 ) )
-garonne.AddPoint( 0, gp_XY( 43479.64, 32053.54 ) )
-garonne.AddPoint( 0, gp_XY( 42923.47, 32051.85 ) )
-garonne.AddPoint( 0, gp_XY( 42493.64, 32187.97 ) )
-garonne.AddPoint( 0, gp_XY( 42074.27, 32302.91 ) )
-garonne.AddPoint( 0, gp_XY( 41624.75, 32330.93 ) )
-garonne.AddPoint( 0, gp_XY( 41325.93, 32187.97 ) )
-garonne.AddPoint( 0, gp_XY( 40879.52, 31987.29 ) )
-garonne.AddPoint( 0, gp_XY( 40308.78, 32018.46 ) )
-garonne.AddPoint( 0, gp_XY( 39782.86, 32207.17 ) )
-garonne.AddPoint( 0, gp_XY( 38814.10, 32560.43 ) )
-garonne.AddPoint( 0, gp_XY( 38302.17, 32903.70 ) )
-
-garonne.Update()
-
-
-domaine = hydro_doc.CreateObject( KIND_POLYLINEXY )
-domaine.SetName( "domaine" )
-
-domaine.SetZLevel( 3 )
-
-domaine.AddSection( "Section_1", 0, 1 )
-domaine.AddPoint( 0, gp_XY( 39901.15, 34762.30 ) );
-domaine.AddPoint( 0, gp_XY( 38086.50, 29964.69 ) );
-domaine.AddPoint( 0, gp_XY( 44835.83, 24264.97 ) );
-domaine.AddPoint( 0, gp_XY( 46758.56, 25021.86 ) );
-domaine.AddPoint( 0, gp_XY( 46757.20, 26601.21 ) );
-domaine.AddPoint( 0, gp_XY( 48566.45, 30152.81 ) );
-domaine.AddPoint( 0, gp_XY( 45532.36, 33239.83 ) );
-domaine.AddPoint( 0, gp_XY( 43548.77, 34048.39 ) );
-
-domaine.Update()
-
-
-lit_majeur = hydro_doc.CreateObject( KIND_POLYLINEXY )
-lit_majeur.SetName( "lit_majeur" )
-
-lit_majeur.SetZLevel( 7 )
-
-lit_majeur.AddSection( "Section_1", 1, 1 )
-lit_majeur.AddPoint( 0, gp_XY( 41225.22, 34118.46 ) )
-lit_majeur.AddPoint( 0, gp_XY( 41716.41, 33705.87 ) )
-lit_majeur.AddPoint( 0, gp_XY( 42384.43, 33293.27 ) )
-lit_majeur.AddPoint( 0, gp_XY( 42561.26, 32684.19 ) )
-lit_majeur.AddPoint( 0, gp_XY( 42875.62, 32369.83 ) )
-lit_majeur.AddPoint( 0, gp_XY( 43700.82, 32350.18 ) )
-lit_majeur.AddPoint( 0, gp_XY( 44526.02, 31662.51 ) )
-lit_majeur.AddPoint( 0, gp_XY( 45370.87, 31819.69 ) )
-lit_majeur.AddPoint( 0, gp_XY( 46274.66, 31682.16 ) )
-lit_majeur.AddPoint( 0, gp_XY( 46981.97, 31328.50 ) )
-lit_majeur.AddPoint( 0, gp_XY( 47021.27, 30719.43 ) )
-lit_majeur.AddPoint( 0, gp_XY( 47217.74, 30051.41 ) )
-lit_majeur.AddPoint( 0, gp_XY( 47846.46, 29560.22 ) )
-lit_majeur.AddPoint( 0, gp_XY( 48730.61, 28735.02 ) )
-lit_majeur.AddPoint( 0, gp_XY( 48809.20, 27732.99 ) )
-lit_majeur.AddPoint( 0, gp_XY( 49143.21, 27163.21 ) )
-lit_majeur.AddPoint( 0, gp_XY( 49654.05, 26829.20 ) )
-lit_majeur.AddPoint( 0, gp_XY( 49693.34, 25355.63 ) )
-lit_majeur.AddPoint( 0, gp_XY( 48612.72, 23214.04 ) )
-lit_majeur.AddPoint( 0, gp_XY( 47453.51, 23115.80 ) )
-lit_majeur.AddPoint( 0, gp_XY( 46471.13, 24176.77 ) )
-lit_majeur.AddPoint( 0, gp_XY( 45960.29, 25257.39 ) )
-lit_majeur.AddPoint( 0, gp_XY( 44899.32, 25591.40 ) )
-lit_majeur.AddPoint( 0, gp_XY( 44270.60, 26573.78 ) )
-lit_majeur.AddPoint( 0, gp_XY( 43248.92, 27909.82 ) )
-lit_majeur.AddPoint( 0, gp_XY( 42757.73, 28243.83 ) )
-lit_majeur.AddPoint( 0, gp_XY( 42266.54, 28342.07 ) )
-lit_majeur.AddPoint( 0, gp_XY( 41736.06, 28106.30 ) )
-lit_majeur.AddPoint( 0, gp_XY( 41402.05, 28833.26 ) )
-lit_majeur.AddPoint( 0, gp_XY( 40910.86, 28911.85 ) )
-lit_majeur.AddPoint( 0, gp_XY( 40576.85, 29324.45 ) )
-lit_majeur.AddPoint( 0, gp_XY( 40144.60, 29599.51 ) )
-lit_majeur.AddPoint( 0, gp_XY( 39024.69, 30130.00 ) )
-lit_majeur.AddPoint( 0, gp_XY( 38612.09, 30365.77 ) )
-lit_majeur.AddPoint( 0, gp_XY( 38828.21, 33391.50 ) )
-
-lit_majeur.Update()
-
-
-Cloud_02 = hydro_doc.CreateObject( KIND_BATHYMETRY )
-Cloud_02.SetName( "Cloud_02" )
-
-Cloud_02.SetAltitudesInverted( 0 )
-if not(Cloud_02.ImportFromFile( os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz" ))):
- raise ValueError('problem while loading bathymetry')
-
-Cloud_02.Update()
-
-
-garonne_point_L93 = hydro_doc.CreateObject( KIND_BATHYMETRY )
-garonne_point_L93.SetName( "garonne_point_L93" )
-
-garonne_point_L93.SetAltitudesInverted( 0 )
-if not(garonne_point_L93.ImportFromFile( os.path.join(HYDRO_SAMPLES, "garonne_point_L93.xyz" ))):
- raise ValueError('problem while loading bathymetry')
-
-garonne_point_L93.Update()
-
-
-litMineur = hydro_doc.CreateObject( KIND_IMMERSIBLE_ZONE )
-litMineur.SetName( "litMineur" )
-
-litMineur.SetZLevel( 6 )
-
-litMineur.SetAltitudeObject( garonne_point_L93 )
-litMineur.SetPolyline( garonne )
-
-litMineur.Update()
-
-
-litMajeur = hydro_doc.CreateObject( KIND_IMMERSIBLE_ZONE )
-litMajeur.SetName( "litMajeur" )
-
-litMajeur.SetZLevel( 5 )
-
-litMajeur.SetFillingColor( QColor( 0, 170, 127, 255 ) )
-
-litMajeur.SetAltitudeObject( Cloud_02 )
-litMajeur.SetPolyline( lit_majeur )
-
-litMajeur.Update()
-
-
-domaineEtendu = hydro_doc.CreateObject( KIND_IMMERSIBLE_ZONE )
-domaineEtendu.SetName( "domaineEtendu" )
-
-domaineEtendu.SetZLevel( 4 )
-
-domaineEtendu.SetFillingColor( QColor( 201, 203, 55, 255 ) )
-
-domaineEtendu.SetAltitudeObject( Cloud_02 )
-domaineEtendu.SetPolyline( domaine )
-
-domaineEtendu.Update()
-
-# Land cover Map
-
+import shapefile
+sf = shapefile.Reader(os.path.join(HYDRO_SAMPLES, 'HYDRO', "CLC_decoupe.shp"))
+#print(sf)
+fields = sf.fields
+records = sf.records()
+fieldNames = [a[0] for a in fields]
+'CODE_06' in fieldNames
+dic = {}
+for r in records:
+ code = r.as_dict()['CODE_06']
+ if code in dic:
+ dic[code] = dic[code] + 1
+ else:
+ dic[code] = 1
+attr_values = [a for a in dic]
+
+alltypes = []
+allvalues = []
+code = ""
+l = 0
+with open(os.path.join(HYDRO_RESOURCES, "def_strickler_table_06.txt")) as f:
+ for line in f:
+ items = line.split('"')
+ if l ==0:
+ code = line.split()[0]
+ else:
+ alltypes.append(items[1])
+ itm2 = items[-1].split()
+ allvalues.append(itm2[-1])
+ l = l + 1
+
+while code[0] != 'C':
+ code = code[1:] # get rid of encoding
+
+types = [t for v,t in zip(allvalues, alltypes) if v in attr_values]
CLC_decoupe = hydro_doc.CreateObject( KIND_LAND_COVER_MAP )
CLC_decoupe.SetName( "CLC_decoupe" )
-
CLC_decoupe.SetZLevel( 13 )
+if not CLC_decoupe.ImportSHP( os.path.join(HYDRO_SAMPLES, 'HYDRO', 'CLC_decoupe.shp')):
+ raise ValueError('problem while loading LandCoverMap shape')
+#if CLC_decoupe.ImportDBF( os.path.join(HYDRO_SAMPLES, 'HYDRO', 'CLC_decoupe.dbf'), 'CODE_06', attr_values, types ) != CLC_decoupe.DBFStatus_OK:
+if CLC_decoupe.ImportDBF( os.path.join(HYDRO_SAMPLES, 'HYDRO', 'CLC_decoupe.dbf'), code, allvalues, alltypes ) != CLC_decoupe.DBFStatus_OK:
+ raise ValueError('problem while loading LandCoverMap data base')
+CLC_decoupe.Update()
-if not(CLC_decoupe.ImportSHP( os.path.join(HYDRO_SAMPLES, 'HYDRO', 'CLC_decoupe.shp') )):
- raise ValueError('problem while loading LandCoverMap shape')
-attr_values = []
-attr_values.append( "124" )
-attr_values.append( "133" )
-attr_values.append( "511" )
-attr_values.append( "241" )
-attr_values.append( "132" )
-attr_values.append( "142" )
-attr_values.append( "141" )
-attr_values.append( "522" )
-attr_values.append( "131" )
-attr_values.append( "324" )
-attr_values.append( "312" )
-attr_values.append( "311" )
-attr_values.append( "313" )
-attr_values.append( "335" )
-attr_values.append( "521" )
-attr_values.append( "322" )
-attr_values.append( "411" )
-attr_values.append( "421" )
-attr_values.append( "422" )
-attr_values.append( "523" )
-attr_values.append( "223" )
-attr_values.append( "321" )
-attr_values.append( "331" )
-attr_values.append( "512" )
-attr_values.append( "231" )
-attr_values.append( "212" )
-attr_values.append( "213" )
-attr_values.append( "332" )
-attr_values.append( "122" )
-attr_values.append( "243" )
-attr_values.append( "242" )
-attr_values.append( "211" )
-attr_values.append( "244" )
-attr_values.append( "111" )
-attr_values.append( "112" )
-attr_values.append( "412" )
-attr_values.append( "222" )
-attr_values.append( "221" )
-attr_values.append( "333" )
-attr_values.append( "323" )
-attr_values.append( "334" )
-attr_values.append( "121" )
-attr_values.append( "423" )
-attr_values.append( "123" )
-types = []
-types.append( "Aéroports" )
-types.append( "Chantiers" )
-types.append( "Cours et voies d'eau" )
-types.append( "Cultures annuelles associées à des cultures permanentes" )
-types.append( "Décharges" )
-types.append( "Equipements sportifs et de loisirs" )
-types.append( "Espaces verts urbains" )
-types.append( "Estuaires" )
-types.append( "Extraction de matériaux" )
-types.append( "Forêt et végétation arbustive en mutation" )
-types.append( "Forêts de conifères" )
-types.append( "Forêts de feuillus" )
-types.append( "Forêts mélangées" )
-types.append( "Glaciers et neiges éternelles" )
-types.append( "Lagunes littorales" )
-types.append( "Landes et broussailles" )
-types.append( "Marais intérieurs" )
-types.append( "Marais maritimes" )
-types.append( "Marais salants" )
-types.append( "Mers et océans" )
-types.append( "Oliveraies" )
-types.append( "Pelouses et pâturages naturels" )
-types.append( "Plages, dunes et sable" )
-types.append( "Plans d'eau" )
-types.append( "Prairies et autres surfaces toujours en herbe à usage agricole" )
-types.append( "Périmètres irrigués en permanence" )
-types.append( "Rizières" )
-types.append( "Roches nues" )
-types.append( "Réseaux routier et ferroviaire et espaces associés" )
-types.append( "Surfaces essentiellement agricoles, interrompues par des espaces naturels importants" )
-types.append( "Systèmes culturaux et parcellaires complexes" )
-types.append( "Terres arables hors périmètres d'irrigation" )
-types.append( "Territoires agroforestiers" )
-types.append( "Tissu urbain continu" )
-types.append( "Tissu urbain discontinu" )
-types.append( "Tourbières" )
-types.append( "Vergers et petits fruits" )
-types.append( "Vignobles" )
-types.append( "Végétation clairsemée" )
-types.append( "Végétation sclérophylle" )
-types.append( "Zones incendiées" )
-types.append( "Zones industrielles ou commerciales et installations publiques" )
-types.append( "Zones intertidales" )
-types.append( "Zones portuaires" )
-if CLC_decoupe.ImportDBF( os.path.join(HYDRO_SAMPLES, 'HYDRO', 'CLC_decoupe.dbf'), 'CODE_06', attr_values, types ) != CLC_decoupe.DBFStatus_OK:
- raise ValueError('problem while loading LandCoverMap data base')
# Calculation case