]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
improve and document hydroGeoMeshUtils script
authorPaul RASCLE <paul.rascle@openfields.fr>
Mon, 30 Nov 2020 22:37:12 +0000 (23:37 +0100)
committerYOANN AUDOUIN <B61570@dsp0919998.atlas.edf.fr>
Fri, 11 Dec 2020 14:53:30 +0000 (15:53 +0100)
25 files changed:
doc/salome/examples/g022_extensionSimpleComplete.py
doc/salome/examples/g027_domaineAmont.py
doc/salome/examples/g028_domaineAmontChevauchant.py
doc/salome/examples/h009_normalCaseManual.py
doc/salome/examples/h010_normalCaseManualMesh.py
doc/salome/examples/h011_normalCaseManualInterpolZ.py
doc/salome/examples/h012_caseDigueManual.py
doc/salome/examples/h013_caseDigueManualMesh.py
doc/salome/examples/h014_caseDigueManualInterpolZ.py
doc/salome/examples/h015_normalCaseManualTelemac.py
doc/salome/examples/h020_normalCaseChangeBathy.py
doc/salome/examples/h021_meshChangeBathy.py
doc/salome/examples/h022_extensionSimpleComplete.py
doc/salome/examples/h023_extensionSimpleAmont.py
doc/salome/examples/h024_extensionSimpleAval.py
doc/salome/examples/h025_extensionSimpleRiveDroite.py
doc/salome/examples/h026_extensionSimpleRiveGauche.py
doc/salome/examples/h027_regroupMeshes.py
doc/salome/examples/h028_regroupOverlappingMeshes.py
doc/salome/examples/h029_regroupMeshesNonEnglobant.py
doc/salome/examples/h030_editNonHydroMesh.py
doc/salome/examples/h032_completeCaseNoRegions.py
doc/salome/examples/h033_completeCaseModifiedRegions.py
doc/salome/examples/h034_splitShapes.py
src/HYDROTools/hydroGeoMeshUtils.py

index 5ae82253e5375057fc1f14519b936a51d955023d..b6c45e141e095433b650f012f37da22259f0575d 100644 (file)
@@ -36,8 +36,8 @@ garonnes = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "garonne.shp")
 lits_majeur = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "lit_majeur.shp"), "lit_majeur_PolyXY", True, 5)
 iles = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "ile.shp"), "ile_PolyXY", True, 4)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
-garonne_point_L93 = importBathymetry(hydro_doc, "garonne_point_L93", HYDRO_SAMPLES)
+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, 0)
 litMineur = createImmersibleZone(hydro_doc, "litMineur", garonnes[0], garonne_point_L93, True, 2)
index a5ce5502803add33209deb6c53f961dc3c3d871a..319c700db8eb7d26ca31192212712e0f6e05cfc1 100644 (file)
@@ -34,8 +34,8 @@ hydro_doc.SetLocalCS( offsetX, offsetY )
 limites_amont = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "domaineAmont.shp"), "domaineAmont_PolyXY", False, 4)
 garonnes_amont = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "garonneAmont.shp"), "garonneAmont_PolyXY", True, 3)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
-garonne_point_L93 = importBathymetry(hydro_doc, "garonne_point_L93", HYDRO_SAMPLES)
+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"))
 
 domaine_amont = createImmersibleZone(hydro_doc, "domaine_amont", limites_amont[0], Cloud_02, True, 0)
 garonne_amont = createImmersibleZone(hydro_doc, "garonne_amont", garonnes_amont[0], garonne_point_L93, True, 0)
index e1228428a01d7f77c668bdae2e73417ef3c590e5..479615a443b5722b0a4abf4a3fcffa60b6b7e9e0 100644 (file)
@@ -34,8 +34,8 @@ hydro_doc.SetLocalCS( offsetX, offsetY )
 limites_amont = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "domaineAmontChevauchant.shp"), "domaineAmontChevauchant_PolyXY", False, 4)
 garonnes_amont = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "garonneAmont.shp"), "garonneAmont_PolyXY", True, 3)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
-garonne_point_L93 = importBathymetry(hydro_doc, "garonne_point_L93", HYDRO_SAMPLES)
+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"))
 
 domaine_amont = createImmersibleZone(hydro_doc, "domaine_amont", limites_amont[0], Cloud_02, True, 0)
 garonne_amont = createImmersibleZone(hydro_doc, "garonne_amont", garonnes_amont[0], garonne_point_L93, True, 0)
index 14f3afe2a7fe306713f0a6624e56975c0d8c4576..88b916e63d11fccca483f4484a99760ce116cf24 100644 (file)
@@ -46,8 +46,8 @@ garonnes = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "garonne.shp")
 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)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
-garonne_point_L93 = importBathymetry(hydro_doc, "garonne_point_L93", HYDRO_SAMPLES)
+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)
index ecb4c2f973a04d3b02fcdf2ad5683607766be75d..b09473757a95a23659042cd286ec673dab73c769 100644 (file)
@@ -46,8 +46,8 @@ garonnes = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "garonne.shp")
 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)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
-garonne_point_L93 = importBathymetry(hydro_doc, "garonne_point_L93", HYDRO_SAMPLES)
+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)
index c7a8043ed2045aa06cd16839b9372afc1102d371..98ce49d9834b7569ab60909804b30f2aae15d309 100644 (file)
@@ -46,8 +46,8 @@ garonnes = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "garonne.shp")
 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)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
-garonne_point_L93 = importBathymetry(hydro_doc, "garonne_point_L93", HYDRO_SAMPLES)
+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)
index d531bd92ecfbab8a8a472cbbca6dae20138eb0b6..89c32d2f5bc3814fbb89bb2db9c4b7813b771cac 100644 (file)
@@ -49,8 +49,8 @@ limites_domaine = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "domain
 lits_majeur = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "lit_majeur.shp"), "lit_majeur_PolyXY", True, 8)
 axesDigue = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "axeDigue.shp"), "axeDigue_PolyXY", True, 9)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
-garonne_point_L93 = importBathymetry(hydro_doc, "garonne_point_L93", HYDRO_SAMPLES)
+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)
index 36047b8559177e53803cfff8889192b721610b9f..d27815956bd0f3e9d37da71c4b6983886f80f322 100644 (file)
@@ -49,8 +49,8 @@ limites_domaine = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "domain
 lits_majeur = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "lit_majeur.shp"), "lit_majeur_PolyXY", True, 8)
 axesDigue = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "axeDigue.shp"), "axeDigue_PolyXY", True, 9)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
-garonne_point_L93 = importBathymetry(hydro_doc, "garonne_point_L93", HYDRO_SAMPLES)
+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)
index 21dfb1d9c823c87b58dbd1b5e06ea977472d78bf..ce5e62e0f0b642ed27fe8aa5e76b7e51fdeb5fd7 100644 (file)
@@ -49,8 +49,8 @@ limites_domaine = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "domain
 lits_majeur = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "lit_majeur.shp"), "lit_majeur_PolyXY", True, 8)
 axesDigue = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "axeDigue.shp"), "axeDigue_PolyXY", True, 9)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
-garonne_point_L93 = importBathymetry(hydro_doc, "garonne_point_L93", HYDRO_SAMPLES)
+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)
index 28ed67557d464a38e898920ca7fd5a4bb5024884..4df586dec340dfbc51c9efc96f5d0649f48c560e 100644 (file)
@@ -46,8 +46,8 @@ garonnes = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "garonne.shp")
 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)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
-garonne_point_L93 = importBathymetry(hydro_doc, "garonne_point_L93", HYDRO_SAMPLES)
+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)
index 3d33d9de42072a4e6c9dc43fd4ca2b1569afde3f..4e7131fe86e87c0e71e04a903fae4673c2d43ab6 100644 (file)
@@ -46,8 +46,8 @@ garonnes = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "garonne.shp")
 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)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
-garonne_point_L93 = importBathymetry(hydro_doc, "garonne_point_L93", HYDRO_SAMPLES)
+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)
index fcfe5ea3d33bbad05941816fffc7a283fd2b5d80..c5d080dd59d8ec9d3874900f1fcc6b176abe20ec 100644 (file)
@@ -46,8 +46,8 @@ garonnes = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "garonne.shp")
 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)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
-garonne_point_L93 = importBathymetry(hydro_doc, "garonne_point_L93", HYDRO_SAMPLES)
+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)
index c03b19523f66f8be4fac626704e813597ca7c4de..355c611b14b588ee104a87267adcd06b6edf2d71 100644 (file)
@@ -45,7 +45,7 @@ hydro_doc.SetLocalCS( offsetX, offsetY )
 limites_original = importPolylines(hydro_doc, os.path.join(tmpdir, "garonne_2_brd_FreeBorders.shp"), 'garonne_2_brd_FreeBorders', True, 4)
 limites_domaine  = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "extension_1_1.shp"), 'extension_1_1_PolyXY', False, 2)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
+Cloud_02 = importBathymetry(hydro_doc, os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz"))
 
 domaine_original  = createImmersibleZone(hydro_doc, "domaine_original", limites_original[0], Cloud_02, False, 1)
 domaine_englobant = createImmersibleZone(hydro_doc, "domaine_englobant", limites_domaine[0], Cloud_02, True, 0)
index d7b78f2bf1836448ec5e59f23335eba7ce3d78d1..da3c04b783a0dba2f1dad014585819e82c1353ef 100644 (file)
@@ -51,7 +51,7 @@ limites_domaine  = importPolylines(hydro_doc, os.path.join(tmpdir, "extension_1_
 
 limite_extension = mergePolylines(hydro_doc, 'limite_extension', [limites_original[0], limites_domaine[0]])
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
+Cloud_02 = importBathymetry(hydro_doc, os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz"))
 
 domaine_extension = createImmersibleZone(hydro_doc, "domaine_extension", limite_extension, Cloud_02, True, 0)
 
index 48f0c028c39026d34e50e68a787f600f90688d15..65ff61ac27cc292c223cfedf14de8b7f4ef51cb2 100644 (file)
@@ -51,7 +51,7 @@ limites_domaine  = importPolylines(hydro_doc, os.path.join(tmpdir, "extension_1_
 
 limite_extension = mergePolylines(hydro_doc, 'limite_extension', [limites_original[1], limites_domaine[1]])
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
+Cloud_02 = importBathymetry(hydro_doc, os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz"))
 
 domaine_extension = createImmersibleZone(hydro_doc, "domaine_extension", limite_extension, Cloud_02, True, 0)
 
index 43f1fb0c272fa707a93ecd225fa25c3da00c30d7..d4b2831881c5f9b4ee3119f6dddcd5f7ffa1462b 100644 (file)
@@ -51,7 +51,7 @@ limites_domaine  = importPolylines(hydro_doc, os.path.join(tmpdir, "extension_3_
 
 limite_extension = mergePolylines(hydro_doc, 'limite_extension', [limites_original[0], limites_domaine[0]])
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
+Cloud_02 = importBathymetry(hydro_doc, os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz"))
 
 domaine_extension = createImmersibleZone(hydro_doc, "domaine_extension", limite_extension, Cloud_02, True, 0)
 
index 7d057101f4683e7ca19d3702be3a6af5c13d8285..9f6e68ba2605cd426bfaba9116cdfcbe63912cdf 100644 (file)
@@ -51,7 +51,7 @@ limites_domaine  = importPolylines(hydro_doc, os.path.join(tmpdir, "extension_3_
 
 limite_extension = mergePolylines(hydro_doc, 'limite_extension', [limites_original[0], limites_domaine[1]])
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
+Cloud_02 = importBathymetry(hydro_doc, os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz"))
 
 domaine_extension = createImmersibleZone(hydro_doc, "domaine_extension", limite_extension, Cloud_02, True, 0)
 
index 4b925b30221982bda3840f91356f6bcdb914db20..df96782ec4190c2079db3023b6d85c94438d43c9 100644 (file)
@@ -51,7 +51,7 @@ limites_original = importPolylines(hydro_doc, os.path.join(tmpdir, "garonne_2_br
 limites_amont = importPolylines(hydro_doc, os.path.join(tmpdir, "garonneAmont_brd_FreeBorders.shp"), 'garonneAmont_brd_FreeBorders', True, 5)
 limites_domaine = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "raccord_4_2.shp"), 'raccord_4_2_PolyXY', False, 3)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
+Cloud_02 = importBathymetry(hydro_doc, os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz"))
 
 domaine_regroup = createImmersibleZone(hydro_doc, "domaine_regroup", limites_domaine[0], Cloud_02, True, 0)
 domaine_original  = createImmersibleZone(hydro_doc, "domaine_original", limites_original[0], Cloud_02, False, 1)
index ed7fff866872f471b59ba03b4bd6de190ddb023b..a464f3b8e14d32c4dff6baf45bbf5271b2ebe943 100644 (file)
@@ -63,7 +63,7 @@ limites_original = importPolylines(hydro_doc, os.path.join(tmpdir, "garonne_2_br
 limites_amont = importPolylines(hydro_doc, os.path.join(tmpdir, "garonneAmont_brd_FreeBorders.shp"), 'garonneAmont_brd_FreeBorders', True, 5)
 limites_domaine = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "raccord_4_2.shp"), 'raccord_4_2_PolyXY', False, 3)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
+Cloud_02 = importBathymetry(hydro_doc, os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz"))
 
 domaine_regroup = createImmersibleZone(hydro_doc, "domaine_regroup", limites_domaine[0], Cloud_02, True, 0)
 domaine_original  = createImmersibleZone(hydro_doc, "domaine_original", limites_original[0], Cloud_02, False, 1)
index ddb49c24c1bc26ac3ed55dbead2d9ec4dc952528..c8c14e70f3abd1203fa35ccacfb5f3a2d7bec39c 100644 (file)
@@ -66,7 +66,7 @@ fitShapePointsToMesh(os.path.join(tmpdir, "garonneAmont_brd_FreeBorders.shp"),
 limites_amont = importPolylines(hydro_doc, os.path.join(tmpdir, "garonneAmont_brd_FreeBorders.shp"), 'garonneAmont_brd_FreeBorders', False, 5)
 limites_domaine  = importPolylines(hydro_doc, os.path.join(tmpdir, "raccord_4_1_adj_adj.shp"), 'raccord_4_1_adj', False, 2)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
+Cloud_02 = importBathymetry(hydro_doc, os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz"))
 
 junction = createImmersibleZone(hydro_doc, "junction", limites_domaine[0], Cloud_02, True, 0)
 garonneAval = createImmersibleZone(hydro_doc, "garonneAval", limites_aval[0], Cloud_02, False, 0)
index 1acfb9ab90bab6028b400f7f04291ae3f1f4c8a4..48a681e70e2915e77185d3195ccdc22d1c7fd7b8 100644 (file)
@@ -57,7 +57,7 @@ hydro_doc.SetLocalCS( offsetX, offsetY )
 limites_original = importPolylines(hydro_doc, os.path.join(tmpdir, "garonne_2_cut_brd_FreeBorders.shp"), 'garonne_2_cut_brd_FreeBorders', False, 4)
 [nouvelle_digue] = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "nouvelleDigue.shp"), 'nouvelleDigue_PolyXY', True, 4)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
+Cloud_02 = importBathymetry(hydro_doc, os.path.join(HYDRO_SAMPLES, "Cloud_02.xyz"))
 
 domaine_nouveau = createImmersibleZone(hydro_doc, "domaine_nouveau", limites_original[2], Cloud_02, True, 0)
 
index 5b4858c57ffbe8b8ce6d5db6bef2017741eae1f2..8cc28e0618a2f4d046632ddfdcef45648e905a97 100644 (file)
@@ -36,8 +36,8 @@ lit_majeur = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "lit_majeur.
 ile = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "ile.shp"), 'ile_PolyXY', True, 4)
 domaine = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "domaine.shp"), 'domaine_PolyXY', False, 5)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
-garonne_point_L93 = importBathymetry(hydro_doc, "garonne_point_L93", HYDRO_SAMPLES)
+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"))
 
 litMineur = createImmersibleZone(hydro_doc, "litMineur", garonne[0], Cloud_02, True, 6)
 litMajeur = createImmersibleZone(hydro_doc, "litMajeur", lit_majeur[0], garonne_point_L93, True, 5)
index 8908397514cdb701937ece7d4dffce85d8ad6900..5ea46ad83c3db97c96a709971cd67c9032d3e76d 100644 (file)
@@ -36,8 +36,8 @@ lit_majeur = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "lit_majeur.
 ile = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "ile.shp"), 'ile_PolyXY', True, 4)
 domaine = importPolylines(hydro_doc, os.path.join(HYDRO_SAMPLES, "domaine.shp"), 'domaine_PolyXY', False, 5)
 
-Cloud_02 = importBathymetry(hydro_doc, "Cloud_02", HYDRO_SAMPLES)
-garonne_point_L93 = importBathymetry(hydro_doc, "garonne_point_L93", HYDRO_SAMPLES)
+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"))
 
 litMineur = createImmersibleZone(hydro_doc, "litMineur", garonne[0], Cloud_02, True, 6)
 litMajeur = createImmersibleZone(hydro_doc, "litMajeur", lit_majeur[0], garonne_point_L93, True, 5)
index 38fa162e4f444543cf8e88b8e7bcbbda3ce68920..a41ad73aa2df8b4ef572c298ac2be112470cff09 100644 (file)
@@ -27,7 +27,7 @@ from HYDROPy import *
 from PyQt5.QtCore import *
 from PyQt5.QtGui import *
 
-from salome.hydrotools.hydroGeoMeshUtils import importPolylines, splitShapesAll
+from salome.hydrotools.hydroGeoMeshUtils import importPolylines, splitShapesAll, splitShapeTool
 
 hydro_doc = HYDROData_Document.Document()
 hydro_doc.SetLocalCS( offsetX, offsetY )
@@ -41,14 +41,20 @@ seq = contours + lmajeurs
 shapeList = splitShapesAll(hydro_doc, seq)
 if len(shapeList) != 8:
     raise ValueError("Bad nunber of shapes after splitShapesAll, found %d instead of 8"%len(shapeList))
+
 seq2 = contours + lm2s
 shapeList2 = splitShapesAll(hydro_doc, seq2)
 if len(shapeList2) != 16:
     raise ValueError("Bad nunber of shapes after splitShapesAll, found %d instead of 16"%len(shapeList2))
+
 seq3 = contours + lm2s + lmajeurs + openPolys
 shapeList3 = splitShapesAll(hydro_doc, seq3)
 if len(shapeList3) != 89:
     raise ValueError("Bad nunber of shapes after splitShapesAll, found %d instead of 89"%len(shapeList3))
 
+shapeList4 = splitShapeTool(hydro_doc, lmajeurs[0], contours[0])
+if len(shapeList4) != 4:
+    raise ValueError("Bad nunber of shapes after splitShapeTool, found %d instead of 4"%len(shapeList4))
+
 if salome.sg.hasDesktop():
   salome.sg.updateObjBrowser()
index 30349857c50600bc29810a7f7bd9f796bd8b8cbc..5dcea33efedc9dd8ecf851db3a587fcf951ca706 100644 (file)
@@ -13,7 +13,10 @@ from random import randint
 def getChildrenInStudy(obj):
     """
     Given an object published in SALOME study (for instance a GEOM object), retreive its children.
-    return a dictionary [name] --> object
+    parameters:
+    obj: a SALOME object published in SALOME study
+    return:
+    a dictionary [name] --> object
     """
     SO = salome.myStudy.FindObjectIOR(salome.myStudy.ConvertObjectToIOR(obj))
     childIterator = salome.myStudy.NewChildIterator(SO)
@@ -30,6 +33,14 @@ def getChildrenInStudy(obj):
 
 def loadImage(document, imageFile, imageName, displayLevel):
     """
+    load an image (photo, map...) in order to georeference it and use it as background for drawing shapes
+    parameters:
+    document: current HYDROData document
+    imageFile: full path of the image file to load
+    imageName: name to give to the object loaded in the HYDRO document
+    displayLevel: integer >=0, the higher levels are displayed on top
+    return:
+    the object image loaded
     """
     image = document.CreateObject(KIND_IMAGE)
     image.SetName(imageName)
@@ -41,6 +52,13 @@ def loadImage(document, imageFile, imageName, displayLevel):
     
 def GeolocaliseImageCoords(image, a, b, c ,d):
     """
+    Geolocalize a loaded image with to sets of points: pixels coordinates <--> absolutes coordinates in the geographic reference system.
+    parameters:
+    image: loaded image to localize
+    a: first pixel coordinates QPoint(x, y) (integers)
+    b: second pixel coordinates QPoint(x, y) (integers)
+    c: first geographic point QPointF(X, Y) (floats)
+    d: second geographic point QPointF(X, Y) (floats)
     """
     image.SetLocalPoints(a, b)
     image.SetGlobalPoints(1, c, d)
@@ -48,6 +66,12 @@ def GeolocaliseImageCoords(image, a, b, c ,d):
 
 def GeolocaliseImageReference(image, imageRef, a, b, c ,d):
     """
+    Geolocalize an image using another one already localized, with two pair of corresponding pixels on the images
+    parameters:
+    image: loaded image to localize
+    imageRef: loaded image used as a reference
+    a, b : pixel coordinates on the image to localize QPoint(x, y) (integers) 
+    c, d : pixel coordinates on the reference image QPoint(x, y) (integers) 
     """
     image.SetLocalPoints(a, b)
     image.SetGlobalPoints(3, c, d)
@@ -56,6 +80,18 @@ def GeolocaliseImageReference(image, imageRef, a, b, c ,d):
     
 def importPolylines(document, shapeFile, shapeName, iSpline, displayLevel):
     """
+    Import a QGis shape (*.shp) containing one or several 2D polylines or polygons.
+    The polyline is either named from its name in the shape database if existing, or using the shapefile basename
+    with a suffix '_PolyXY'.
+    In case of several polylines, name are suffixed in sequence with '_n'.
+    parameters:
+    document: current HYDROData document
+    shapeFile: full path of the shapefile (*.shp)
+    shapeName: used to retrieve the objects in the HYDRO document: see above, name is given without the sequence suffix
+    isSpline: boolean to convert the polylines in  splines
+    displayLevel: integer >=0, the higher levels are displayed on top
+    return:
+    list of shape objects
     """
     HYDROData_PolylineXY.ImportShapesFromFile(shapeFile)
     shapeType = 0 # polyline
@@ -91,10 +127,59 @@ def importPolylines(document, shapeFile, shapeName, iSpline, displayLevel):
             shapes.append(shape)
     return shapes
 
+def splitShapeTool(document, aShape, toolShape, tolerance=1.e-2):
+    """
+    Split the shape (2D polyline or spline) by the shape tool.
+    return a list of all the split shapes, named after their original shape name, with a sequence suffix _n
+    parameters;
+    document: current HYDROData document
+    aShape: a loaded shape (2D polyline or spline)
+    toolShape: a loaded shape (2D polyline or spline)
+    tolerance: used by the algorithm to detect intersections, default value 1.e-2
+    return:
+    a list of all the split shapes, named after their original shape name, with a sequence suffix _n
+    """
+    name = aShape.GetName()
+    existingNbSplit = {}
+    index = 1
+    found = True
+    while found:
+        nameIndex = name + "_%d"%(index)
+        shape = document.FindObjectByName(nameIndex)
+        if shape is None:
+            found = False
+        else:
+            index = index + 1
+    existingNbSplit[name] = index
+    print(existingNbSplit)
+    
+    op = HYDROData_PolylineOperator()
+    op.SplitTool(document, aShape, toolShape, tolerance)
+    
+    listSplit = []
+    index = existingNbSplit[name]
+    found = True
+    while found:
+        nameIndex = name + "_%d"%(index)
+        shape = document.FindObjectByName(nameIndex)
+        if shape is None:
+            found = False
+        else:
+            print("found %s"%nameIndex)
+            index = index + 1
+            listSplit.append(shape)
+    return listSplit
+
 def splitShapesAll(document, shapeslist, precision=1.E-2):
     """
-    Split all the shapes in the list by all the other shapes.
-    return a list of all the other shapes, named after their original shape name, with a sequence suffix _n
+    Split all the shapes (2D polylines or splines) in the list by all the other shapes.
+    return a list of all the split shapes, named after their original shape name, with a sequence suffix _n
+    parameters;
+    document: current HYDROData document
+    shapeslist: a list of loaded shapes (2D polylines or splines)
+    precision: used by the algorithm to detect intersections, default value 1.e-2
+    return:
+    a list of all the split shapes, named after their original shape name, with a sequence suffix _n
     """
     names = [s.GetName() for s in shapeslist]
     
@@ -113,7 +198,7 @@ def splitShapesAll(document, shapeslist, precision=1.E-2):
     print(existingNbSplit)
 
     op = HYDROData_PolylineOperator()
-    op.SplitAll(document, shapeslist, 1.E-2)
+    op.SplitAll(document, shapeslist, precision)
 
     listSplit = []
     for name in names:
@@ -131,19 +216,37 @@ def splitShapesAll(document, shapeslist, precision=1.E-2):
     return listSplit
     
     
-def importBathymetry(document, bathyName, bathyPath):
+def importBathymetry(document, bathyFile):
     """
+    import a bathymetry file (*.xyz or *.asc)
+    parameters:
+    document: current HYDROData document
+    bathyFile: full path of the bathymetry (*.xyz or *.shp)
+    return:
+    the bathymetry object
     """
     bathy = document.CreateObject(KIND_BATHYMETRY)
+    a = os.path.splitext(bathyFile)
+    bathyName = os.path.basename(a[0])
     bathy.SetName(bathyName)
     bathy.SetAltitudesInverted(0)
-    if not(bathy.ImportFromFile( os.path.join(bathyPath, bathyName + '.xyz' ))):
+    if not(bathy.ImportFromFile(bathyFile)):
         raise ValueError('problem while loading bathymetry')
     bathy.Update()
     return bathy
 
 def createImmersibleZone(document, imzName, polyLine, bathy, isImmersible, displayLevel):
     """
+    Create an immersible or unsubmersible zone with a closed polyline and a bathymetry.
+    parameters:
+    document: current HYDROData document
+    imzName: the name to give to the zone object
+    polyline: the closed 2D polyline or spline delimiting the zone
+    bathy: the bathymetry to associate to the zone
+    isImmersible: boolean
+    displayLevel: integer >=0, the higher levels are displayed on top
+    return:
+    the zone created
     """
     imz = document.CreateObject(KIND_IMMERSIBLE_ZONE)
     imz.SetName(imzName)
@@ -157,6 +260,15 @@ def createImmersibleZone(document, imzName, polyLine, bathy, isImmersible, displ
 
 def mergePolylines(document, polyName, polyLines, isConnectedBySegment = False, tolerance = 1.E-3):
     """
+    Regroup several 2D polylines or spline in one, with several sections
+    parameters:
+    document: current HYDROData document
+    polyName: name to give to the new object
+    polyLines: a list of loaded shapes (2D polylines or splines)
+    isConnectedBySegment: boolean, to add a segment connecting the polylines, default False
+    tolerance: used by the algorithm to detect coincidences, default 1.E-3
+    return:
+    the merged polyline
     """
     op=HYDROData_PolylineOperator()
     op.Merge(document, polyName, polyLines, isConnectedBySegment, tolerance)
@@ -165,11 +277,14 @@ def mergePolylines(document, polyName, polyLines, isConnectedBySegment = False,
 
 def createAxis3DDEmbankmentAltiProfile(document, axis3DName, axisXY, altiPts):
     """
+    Create a 3D polyline to be used as an axis for an embankement, using a 2D axis and a list of altitudes along the axis.
+    parameters:
     document: current HYDROData_Document
     axis3DName: name to give to the axis3D created
-    axisXY: imported polyline, Embankment line
-    altiPts: list of tuples(x, h) : parametric coordinate, altitude, along the axis
-    return altiProfile, axis3D
+    axisXY: 2D polyline (spline), Embankment line
+    altiPts: list of tuples(x, h) : parametric coordinate, altitude, along the axisXY
+    return:
+    altiProfile, axis3D
     """
     altiProfile = document.CreateObject(KIND_PROFILE)
     altiProfile.SetName("%s_altiProfile"%axis3DName)
@@ -187,11 +302,14 @@ def createAxis3DDEmbankmentAltiProfile(document, axis3DName, axisXY, altiPts):
     
 def createAxis3DDEmbankmentBathy(document, axis3DName, axisXY, aCloud):
     """
+    Create a 3D polyline to be used as an axis for an embankement, using a 2D axis and a bathymetry to project the axis.
+    parameters:
     document: current HYDROData_Document
     axis3DName: name to give to the axis3D created
     axisXY: imported polyline, Embankment line
     aCloud:  altimetry, for projection of axisXY
-    return altiProfile, axis3D
+    return:
+    altiProfile, axis3D
     """
     altiProfile = document.CreateObject(KIND_PROFILE)
     altiProfile.SetName("%s_altiProfile"%axis3DName)
@@ -206,13 +324,16 @@ def createAxis3DDEmbankmentBathy(document, axis3DName, axisXY, aCloud):
 
 def createEmbankmentSectionA(document, embankmentName, axis3D, sectionPoints, d, displayLevel):
     """
+    Define the section of an embankement and extrude it along a 3D axis. Section is defined with a list of points (axis distance, altitude).
+    parameters:
     document: current HYDROData_Document
     embankmentName: name to give to the embankment
     axis3D: the 3D axis of the embankment
     sectionPoints: a list of tuple (x, h) to define a half section, beginning to x=0 (center)
     d calculation parameter, take 2 or 3 times the section width
     displayLevel : z level for 2D representation: high values are drawn above low values
-    return section, embankment
+    return:
+    section, embankment
     """
     section = document.CreateObject(KIND_PROFILE)
     section.SetName("%s_section"%embankmentName)
@@ -236,13 +357,16 @@ def createEmbankmentSectionA(document, embankmentName, axis3D, sectionPoints, d,
 
 def createEmbankmentSectionB(document, embankmentName, axis3D, LC,DZ,CZ, d, displayLevel):
     """
+    Define the section of an embankement and extrude it along a 3D axis. Section is defined with a width, an height, the position of the axis.
+    parameters:
     document: current HYDROData_Document
     embankmentName: name to give to the embankment
     axis3D: the 3D axis of the embankment
     LC, DZ, CZ: width, height, height offset above axis3D
     d calculation parameter, take 2 or 3 times the section width
     displayLevel : z level for 2D representation: high values are drawn above low values
-    return embankment
+    return:
+    embankment
     """
     embankment = document.CreateObject(KIND_DIGUE)
     embankment.SetName(embankmentName)