From 7feb87ea1e317c403d80913c0e75ba1408ad6e3b Mon Sep 17 00:00:00 2001 From: Paul RASCLE Date: Wed, 2 Dec 2020 22:18:10 +0100 Subject: [PATCH] h019 simplification, work in progress --- ...h019_normalCaseManualInterpolZStrickler.py | 575 +++--------------- 1 file changed, 72 insertions(+), 503 deletions(-) diff --git a/doc/salome/examples/h019_normalCaseManualInterpolZStrickler.py b/doc/salome/examples/h019_normalCaseManualInterpolZStrickler.py index 47faa3aa..0da6df0a 100644 --- a/doc/salome/examples/h019_normalCaseManualInterpolZStrickler.py +++ b/doc/salome/examples/h019_normalCaseManualInterpolZStrickler.py @@ -2,6 +2,14 @@ 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 @@ -16,527 +24,88 @@ from HYDROPy import * 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 -- 2.39.2