Complementary tools: qgis and CloudCompare
###############################################
-qgis and CloudCompare are provided with SALOME HYDRO.
-A partir de SALOME 8, l'installation de qgis et/ou CloudCompare est fournie dans un produit séparé.
+FIXME: IL ME SEMBLE QUE CECI EST OBSOLETE
+
+
+qgis and CloudCompare are provided with SALOME-HYDRO.
+
+A partir de SALOME 8, l'installation de qgis et/ou CloudCompare est fournie dans un produit séparé.
A EDF cela dépend de la plateforme :
* sur Calibre 7 qgis et cloudCompare sont fournis à part,
along with SALOME HYDRO module. If not, see <http://www.gnu.org/licenses/>.
######################################
-Interprétation du format SinusX
+Interpretation of the SinusX format
######################################
-Structure du fichier et types de lignes
-=======================================
+File structure and line types
+=============================
+The ASCII file is structured in data blocks.
-Le fichier ASCII est structuré en blocs de données.
+The lines that start with *B* are block limiters.
-Les lignes commençant par *B* sont des délimiteurs de bloc.
+The lines starting with *CN* or *CP* complete the block definition.
-Les lignes commençant par *CN* ou *CP* complètent la définition du bloc.
+The other lines starting with *C* are comments.
-Les autres lignes commençant par *C* sont des commentaires.
+The lines that start with numbers are the block pointers.
-Les lignes commençant par des nombres sont les points du bloc.
+It is possible to describe scatter plots, xyz curves, profiles and isocontours.
-On peut décrire des semis de points, des courbes xyz, des profils, des courbes de niveau.
+Depending on the format, the curves may or may not be connected and may be closed or open.
+In practice, a curve that is not connected is a type of scatter plot...
+The SALOME HYDRO module takes into account xyz points, curves in the XOY plane (z=0)
+and curves in the XOZ plane (profiles).
+Three types of processing can be used to handle curves in space (any Z, variable or not)
+during import in the HYDRO module:
-Selon le format, les courbes peuvent être reliées ou non, fermées ou non.
-En pratique, une courbe non reliée est une sorte de semis de point...
+* Projection at z=0 to have a connected curve in the XOY plane.
+* Creation of a line in the XOZ plane (curvilinear abscissa for the XOY curve, altitude).
+* Import of x,y,z points that are not connected as Bathymetry/altimetry
-Le module HYDRO de SALOME prend en compte des points xyz, des courbes dans le plan XoY (z=0),
-des courbes dans le plan XoZ (profils).
-Pour traiter les courbes dans l'espace (Z quelconque, variable ou non),on peut faire 3 types
-de traitements lors de l'import dans le module HYDRO :
+The first import is the most important and should be done systematically.
-* projeter en z=0 pour avoir une courbe reliée dans le plan XoY.
-* créer une ligne dans le plan XoZ (abscisse curviligne de la courbe XoY, altitude).
-* importer les points x,y,z non reliés comme Bathymétrie/altimétrie.
+The second is useful for xyz curves, where Z is variable.
-Le premier import est le plus important et doit être fait systématiquement.
+The third is not easy to use directly in the HYDRO module, beyond the simple visualisation
+of the Bathymetry/altimetry point fields in 3D. The contour of the Bathymetry/altimetry
+field in the XOY plane is needed for the nodal interpolation of the altitude; however,
+it makes no real linear sense. On the other, a Bathymetry/altimetry can be
+reconstituted by combining the points of several lines (for example, a series of isocontours)
+in a single point cloud.
-Le second est utile pour des courbes xyz, quand Z est variable.
-
-Le troisième n'est pas facile à utiliser directement dans le module HYDRO, au delà de la simple visualisation
-des champs de points de Bathymétrie/altimétrie en 3D. Pour l'interpolation d'altitude au noeuds du maillage,
-on a besoin du contour du champ de Bathymetrie/altimétrie dans le plan XoY.
-Ce contour n'a pas vraiment de sens pour une ligne.
-Par contre, en combinant les points de plusieurs lignes (par exemple une série de courbes de niveau)
-dans un même nuage de points, on peut reconstituer une Bathymétrie/altimétrie.
-
-Délimiteur de bloc
-==================
+Block delimiter
+===============
::
- B type x1 y1 z1 dx dy dz rapport
+ B type x1 y1 z1 dx dy dz scale
type
----
-* type = S semis de point
-* type = C courbe xyz
-* type = P profil xyz
-* type = N courbe de niveau
+* type = S scatterplot
+* type = C xyz curve
+* type = P xyz profile
+* type = N isocontour
-x1 y1 z1 dx dy dz rapport
+x1 y1 z1 dx dy dz scale
-------------------------
-Origine et deltas pour convertir les mesures de la table à digitaliser en mètres.
+Origin and deltas for conversion of measurements to metres in the table to be digitized.
-On n'en tient pas compte à l'import.
+This is ignored on import
-exemples de lignes B
---------------------
+examples of B-type lines
+------------------------
::
B type 0.0 0.0 0.0 1.0 1.0 1.0 1.0
-ou plutôt, à préférer
+or, preferably, just
::
B type
-Nom du bloc
-===========
+Data Block Name
+===============
::
- CN le_nom_du_bloc
+ CN the_block_name
Import
------
-
-Remplacer les espaces par '_' (exemple : courbe 1 --> courbe_1)
+Replace spaces by an underscore ‘_’ (example: curve 1 -> curve_1)
Export
------
-Les noms des objets dans le module HYDRO. Éviter les espaces et caractères accentués dans les noms.
+Names of the objects in the HYDRO module. Avoid the use of spaces and accented characters in the names.
-Liaison Fermeture
-=================
+Closure connection
+==================
-Définition historique
+Historical definition
---------------------
::
- CP fermé relié
+ CP closed connection
-Deux booleens indiquant si la courbe est fermée, et si les points sont reliés
+Two booleans indicate whether the curve is closed or not and whether the points are connected
-*exemple* : CP 0 1 : courbe ouverte, points reliés.
+*example*: CP 0 1: open curve, linked points.
-En pratique, on ne doit pas avoir besoin de points non reliés, sauf les semis.
+In practice, there should be no need for unconnected points, except for the scatter plots
-Proposition d'interprétation et export
---------------------------------------
+Interpretation proposition and export
+-------------------------------------
::
- CP fermé spline
+ CP closed spline
-Deux booleens indiquant si la courbe est fermée, et si elle est de type spline ou ligne brisée.
-Il faudra corriger manuellement les jeux de données existant pour les courbes fermées, et les polygones.
+Two booleans indicate whether the curve is closed and whether it is the spline or broken-line type.
+The existing data sets for the closed curves and the polygons have to be corrected manually.
-Plan de définition
-==================
+Definition plane
+================
::
- CP numeroPlan
+ CP PlaneNumber
-Le numéro du plan vaut 0, 1 ou 2 (0 : plan XoY, 1 : plan YoZ, 2 : plan XoZ)
+The plane number is entered as 0, 1 or 2 (0: XOY plane, 1: YOZ plane, 2: XOZ plane).
-La plupart des blocs sont dans le plan XoY : CP 0
+Most data blocks are in the XOY plane: CP 0
-On peut utiliser les plans 1 ou 2 pour définir des profils / section dans un plan normal à l'axe hydraulique,
-avec deux coordonnées utiles. En pratique, on utilisera systématiquement le plan 2.
+Plane numbers 1 or 2 serve to define profiles / sections in a normal plane to the hydraulic axis,
+with two useful coordinates. In practice, plane 2 will be used systematically.
-Paramètres complémentaires selon le type de blocs
-=================================================
+Additional block-type related parameters
+========================================
-type = S semis de point
------------------------
+type = S scatterplot
+--------------------
-Sans objet
+Not applicable
-type = C courbe xyz
--------------------
+type = C xyz curve
+------------------
::
- CP (16 indicateurs réels)
+ CP (16 real indicators)
+
+Not used – not interpreted on import.
-Inutilisé - pas interprété à l'import.
+Either a compatible export is made:
-Soit on fait un export compatible::
+::
- CP 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
+ CP 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
-Soit on ne met rien : préférable.
+Or nothing is input here: preferable.
-type = P profil xyz
+type = P xyz profile
-------------------
-Définition historique
+Historical definition
~~~~~~~~~~~~~~~~~~~~~
::
CP Zref Xref dz dx
-Je n'ai pas compris comment c'était utilisé en altitude...
-
-interprétation proposée pour un profil dans le plan *XoZ*
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+TO BE COMPLETED
-En pratique profil dans un plan vertical avec la donnée des 2 extrémités géoreférencées.
-On suppose que la troisième coordonnée des points est à 0.
+Proposed interpretation for a profile in the *XOZ* plan
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In practice, this is a profile in the vertical plane with the georeferenced
+positions of the two extremities given. It is assumed that the third coordinate of the points is 0.
::
- CP Xorig Yorig Xfin Yfin
+ CP Xorig Yorig Xend Yend
-(Xorig, Yorig) et (Xfin, Yfin) extrémités géoréférencées du profil.
+(Xorig, Yorig) and (Xend, Yend) are the georeferenced positions of the profile endpoints.
-On passe d'un point (x,z) au point géoréférencé (ref +x*dx, yref +x*dy, z), avec (dx,dy) vecteur horizontal
-normé calculé à partir des 2 extrémités géoréférencées.
+We go from a point (x, z) to the georeferenced point (ref +x*dx, yref +x*dy, z), with (dx, dy)
+the normalized horizontal vector calculated from the two georeferenced end-points.
-interprétation proposée pour un profil dans le plan *XoY*
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Proposed interpretation for a profile in the XOY plan
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The points are assumed to be already georeferenced, each with three valid coordinates.
-On suppose que les points sont déjà géoréférencés, avec leurs 3 coordonnées valides.
+Several profiles can be grouped together in SALOME HYDRO to create a river object ('stream').
-On peut regrouper plusieurs profils dans SALOME HYDRO pour créer un objet rivière ('stream')
-
-type = N courbe de niveau
--------------------------
+type = N isocontour
+-------------------
::
CP altitude
-Altitude de la courbe de niveau. On retrouve la valeur dans la coordonnée Z de chaque point.
+Altitude of the isocontour. This is the Z-coordinate value of each point.
-import : prendre cette valeur en référence,
-ignorer la coordonnée Z des points (toujours la même valeur dans les exemples) ?
+Import: take this value as reference, ignoring the Z coordinate of individual points (FIXME: always the same value in the examples?)
-Lignes de Commentaires
-======================
+Comment lines
+=============
::
- C texte quelconque
+ C any text
-ignoré à l'import
+Ignored on import
-on peut mettre en tête de fichier des informations d'export à définir, par exemple :
+Export information that needs to be defined can be put in the file header, for example:
C SALOME HYDRO version xxx
-C nom de l'étude SALOME
+C name of the SALOME study
-C date
+C date
-Lignes de points
-================
+Point lines
+===========
::
- X Y Z touche texte
+ X Y Z text key
-touche
-------
+key
+---
-inutilisé, ignorer
+Not used, ignore
-texte
------
+text
+----
-un label associé au point : inutilisé, ignorer
+A label associated with the point: not used, ignore
import
------
+For isocontours, the Z value can be ignored, as it is defined at block level.
-Pour les courbes de niveau, on peut ignorer Z, il est défini au niveau du bloc.
-
-Quand deux points consécutifs ont les mêmes coordonnées, il faut ignorer le deuxième point.
-(cas rencontré dans des jeux de données).
+When two consecutive points have the same coordinates (which may occur with
+some data sets), the second point should be ignored.
export
------
+Depending on the nature of the curves, the unnecessary coordinate is set to zero.
+Note: imported isocontours are converted to curves in the Z=0 plane and grouped together in scatter
+plots. The isocontour information is lost in SALOME and it is not possible to export them as isocontours with the altitude entered.
-Selon la nature des courbes, on met à zéro la coordonnée inutile.
-
-remarque : les courbes de niveau importées sont transformées en courbes dans le plan Z=0
-et regroupées en semis de points. On perd l'information courbe de niveau dans SALOME et on ne saura pas
-les exporter en tant que courbe de niveau avec l'altitude renseignée.
-
-Pour les courbes projetées dans le plan XoY::
+For curves projected in the XOY plane::
X Y 0.0
-Pour les courbes projetées dans le plan XoZ::
+For curves projected in the XOZ plane::
- X 0.0 Z
+ X 0.0 Z
-Pour les profils géoréférencés XoY::
+For the XOY georeferenced profiles::
X Y Z
-exemple de courbe XYZ
-=====================
+XYZ curve example
+=================
-Ici, il s'agit en réalité d'une courbe de niveau Z=9.0, mais elle n'est pas définie comme telle.
+This is actually an isocontour with Z=9.0, though not defined as such.
import
------
::
B C -3.333330E+03 +4.875000E+04 +0.000000E+00 +3.333330E+02 +1.666670E+02 +1.000000E+00 0.658992
- CN trait_cote_ile
- CP 1 1
- CP +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00
- CP 0
- C
+ CN island_shore_line
+ CP 1 1
+ CP +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00 +0.000000E+00
+ CP 0
+ C
211563.340 133489.165 9.000 A
211604.013 133517.519 9.000 A
211645.047 133544.734 9.000 A
``B C -3.3...``
- bloc de type C (courbe xyz), parametres de digitalisation ignorés
+ block type C (xyz curve), digitization parameters ignored
``CN ...``
- nom du bloc = trait_cote_ile
+ block name = island_shore_line
``CP 1 1``
- courbe fermée, spline
+ closed curve, spline
``CP +0.0...``
- ignoré
+ ignored``CP 0``
``CP 0``
plan XoY (ça doit toujours être le plan 0)
``C ...``
- les commentaires sont ignorés
+ the comments are ignored
``211563.340 133489.165 9.000 A``
- point x, y, z. Les informations supplémentaires sont ignorées.
+ x, y, z point data. The additional information is ignored.
-Si toutes les valeurs Z du bloc sont à zéro, les valeurs Z sont ignorées.
-Si au moins une valeur Z du bloc est différente de zéro, alors les points alimentent un semis
-regroupant les différentes courbes du fichier.
+If all the Z values of the block are zero, they are ignored.
+If at least one Z coordinate of the block has a non-zero value, then
+the points supply a scatter plot containing the data points of the different file curves.
export
------
-
-Courbe projetée dans le plan XoY sous forme de courbe de niveau à Z=0.
-C'est une courbe fermée, spline.
+A curve projected in the XOY plane in the form of an isocontour at Z = 0.
+It is a closed, spline curve.
::
B N
- CN trait_cote_ile
- CP 1 1
+ CN island_shore_line
+ CP 1 1
CP 0.0
CP 0
C
211569.826 133461.954 0.000
-exemple de courbe de niveau
-===========================
+Isocontour example
+==================
-Ici, on a repris l'exemple précédent en changeant le type de courbe : B N au lieu de B C
-et indication de l'altitude dans l'en tête : CP 9.0.
+Using the data from the example above, the curve type is changed: B N instead of B C
+and the altitude is indicated in the header: CP 9.0.
import
------
::
B N -3.333330E+03 +4.875000E+04 +0.000000E+00 +3.333330E+02 +1.666670E+02 +1.000000E+00 0.658992
- CN trait_cote_ile
- CP 1 1
- CP 9.0
- CP 0
- C
+ CN island_shore_line
+ CP 1 1
+ CP 9.0
+ CP 0
+ C
211563.340 133489.165 9.000 A
211604.013 133517.519 9.000 A
211645.047 133544.734 9.000 A
``B N -3.3...``
- bloc de type N (courbe de niveau), paramètres de digitalisation ignorés
+ block type N (isocontour), digitization parameters ignored
``CN ...``
- nom du bloc = trait_cote_ile
+ block name = island_shore_line
``CP 1 1``
- courbe fermée, spline
+ closed curve, spline
``CP 9.0``
- altitude de la courbe.
+ curve altitude
``CP 0``
- plan XoY
+ XoY plane
``C ...``
- les commentaires sont ignorés
+ the comments are ignored
``211563.340 133489.165 9.000 A``
- point x, y, z. Les informations supplémentaires sont ignorées.
+ x, y, z point data. The additional information is ignored.
-Les valeurs Z des points sont ignorées. On alimente le semis de points
-avec les points de la courbe avec z forcé à 9.0.
+The Z point values are ignored. The scatter plots are supplied with the
+curve points, with z forced to 9.0.
export
------
-Courbe projetée dans le plan XoY sous forme de courbe à Z=0.
-C'est une courbe fermée, spline.
+A curve, projected in the XOY plane in the form of a curve at Z = 0.
+It is a closed, spline curve.
::
B N
- CN trait_cote_ile
- CP 1 1
+ CN island_shore_line
+ CP 1 1
CP 0.0
CP 0
C
211597.633 133447.736 0.000
211569.826 133461.954 0.000
-
-Courbe projetée dans le plan XoZ selon l'abscisse curviligne.
-C'est une courbe ouverte de type spline, définie par convention dans le plan XoZ.
+Curve projected in the XOZ plane along the curvilinear abscissa.
+This is an open, spline-type curve, defined by convention in the XOZ plane.
::
B P
- CN altitude_trait_cote_ile
+ CN altitude_island_shore_line
CP 0 1
CP 0.0 0.0 0.0 0.0
CP 2
...
x 9.0
-*Les extrémités ne sont pas géoréférencées, on s'appuie sur une autre courbe XoY*.
-Pour distinguer les profils XoZ non géoréférencés de ceux qui le sont (par leur extrémités),
-on utilise une valeur particulière du champ CP avec des coordonnées nulles::
+*The ends are not georeferenced; they are defined with respect to another XOY curve.*
+To distinguish the XOZ profiles that are not georeferenced from those that
+are (by endpoints), a specific value with null coordinates is used for the CP field::
CP 0.0 0.0 0.0 0.0
-Les valeurs x des abscisses curvilignes sont exprimées en mètre le long de la courbe,
-ou sont normalisées entre 0 et 1. **A revoir**
-
-Synthèse
-========
-
-Dans le module HYDRO de SALOME, lors de l'importation des fichiers SinusX existant,
-
-- les semis de points sont transformés en Bathymétries.
-- les courbes de niveau sont transformées en courbes à Z=0 et profils dans le plan XoZ,
- non géoréférencés (abscisse curviligne, z).
-- les courbes xyz sont transformées en courbes à Z=0 et en profils dans le plan XoZ,
- non géoréférencés (abscisse curviligne, z).
-- les profils XoZ géoréférencés par les coordonnées des extrémités sont convertis
- en profils où tous les points sont définis par leurs 3 coordonnées X, Y, Z (profils XoY).
-- les profils XoZ non géoréférencés sont importés tels que
- (utilisés comme ligne d'altitude pour une autre ligne dans le plan XoY,
- ou comme section pour un canal, une digue...)
-- les profils XoY sont conservés tels quels (tous les points sont définis par leurs 3 coordonnées X, Y, Z).
-- l'ensemble des points des courbes de niveau (avec Z différent de 0) et des courbes xyz servent
- à créer un champ de Bathymétrie.
-
-Lors de l'export,
-
-- les polylignes sont exportées en courbes de niveau Z=0, ouvertes ou fermées, spline ou ligne brisée.
- (Que fait-on des sections ? Utiliser un commentaire de début de section sur le point ?)
-- les profils sont exportés en tant que profils (à approfondir)
-- Doit on exporter les bathymétries au format SinusX ou au format xyz ? (ne diffère que par la présence d'un en tête).
+The x values of the curvilinear abscissae are expressed in metres along
+the curve or normalized between 0 and 1. **To be reviewed**.
+
+Summary
+=======
+
+In the SALOME HYDRO module, when existing SinusX files are imported:
+
+- scatter plots are imported as Bathymetries.
+- isocontours are converted to curves at Z=0 and non-georeferenced profiles
+ profiles in the XOZ plane (curvilinear abscissa, z).
+- XYZ curves are converted to curves at Z=0 and profiles that are not
+ georeferenced in the XOZ plane (curvilinear abscissa, z).
+- XOZ profiles georeferenced by endpoint coordinates are converted into
+ profiles whose points are all defined by their X, Y, Z coordinates (XOY profiles).
+- XOZ profiles that are not georeferenced are imported as is (used as a line
+ of altitude for another line in the XOY plane or as a section for a channel, embankment, etc.)
+- the XOY profiles are kept as such (all points are defined by their respective
+ X, Y, Z coordinates).
+- All the point data of the isocontours (with non-zero Z values) and xyz
+ curves are used to create a Bathymetry field.
+
+During file export,
+
+- the polylines are exported as zero-level isocontours, open or closed, spline
+ or broken line. (What is done with the sections? Use a beginning of section comment on the point?)
+- the profiles are exported as such (to be developed)
+- Should bathymetries be exported in SinusX format or in xyz format?
+ (only differs by the presence of a header line)
+- Dans le module HYDRO de SALOME, lors de l'importation des fichiers SinusX existant,
.. only:: html
--- /dev/null
+..
+ Copyright (C) 2015-2016 EDF
+
+ This file is part of SALOME HYDRO module.
+
+ SALOME HYDRO module is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ SALOME HYDRO module is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with SALOME HYDRO module. If not, see <http://www.gnu.org/licenses/>.
+
+#########################################
+Aide sommaire CloudCompare
+#########################################
+
+.. |CloudCompare_01| image:: /_static/CloudCompare_01.png
+ :align: middle
+
+.. |CloudCompare_02| image:: /_static/CloudCompare_02.png
+ :align: middle
+
+.. |CloudCompare_03| image:: /_static/CloudCompare_03.png
+ :align: middle
+
+.. |CloudCompare_04| image:: /_static/CloudCompare_04.png
+ :align: middle
+
+.. |CloudCompare_05| image:: /_static/CloudCompare_05.png
+ :align: middle
+
+Chargement et visualisation d'un nuage de point
+===============================================
+
+A partir du menu *File / open* de CloudCompare, on peut charger des nuages de points à différents formats dont le format xyz
+(option *ASCII cloud*, fichier texte ASCII, 3 coordonnées x y z par ligne)
+et le format asc (option *RASTER grid*, ASCII grille régulière, fournie par l'IGN notamment).
+Deux exemples sont disponibles dans l'installation de SALOME_HYDRO ::
+
+ <appli_xxx>/bin/salome/test/HYDRO/garonne_point_L93.xyz
+
+ <appli_xxx>/bin/salome/test/HYDRO/BDALTIr_2-0_MNT_EXT_0450_6375_LAMB93_IGN69_20110929.asc
+
+On prend le fichier *garonne_point_L93.xyz*. A l'ouverture du fichier, on peut valider le premier dialogue sans modification (*Apply*) :
+
+ |CloudCompare_01|
+
+Le deuxième dialogue propose un changement de repère pour améliorer la précision, que l'on peut accepter tel que (*Yes*) :
+
+ |CloudCompare_02|
+
+Le nuage de point s'affiche, mais sans coloration selon la cote Z. On sélectionne la ligne *garone_point_L93 - Cloud* :
+
+ |CloudCompare_03|
+
+Dans le menu *Edit / Scalar fields / Export Coordinate(s) to SF(s)*, on sélectionne la coordonnée Z comme nouveau champ scalaire.
+
+ |CloudCompare_04|
+
+Le nuage de point devient coloré. On peut mettre une légende en cochant l'option *visible* de la rubrique *Color Scale*.
+
+ |CloudCompare_05|
+
+.. only:: html
+
+ :ref:`ref_outilsComplementaires`
+
--- /dev/null
+..
+ Copyright (C) 2015-2016 EDF
+
+ This file is part of SALOME HYDRO module.
+
+ SALOME HYDRO module is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ SALOME HYDRO module is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with SALOME HYDRO module. If not, see <http://www.gnu.org/licenses/>.
+
+#########################################
+Lancement qgis et CloudCompare
+#########################################
+
+A partir de SALOME 8, l'installation de qgis et/ou CloudCompare est fournie dans un produit séparé.
+A EDF cela dépend de la plateforme :
+
+* sur Calibre 7 qgis et cloudCompare sont fournis à part,
+* sur Calibre 9, cloudCompare est installé avec SALOME, qgis à part.
+
+Connaissant le répertoire d'installation des produits ( *<appli_XXX>* ) ::
+
+ <appli_XXX>/salome shell CloudCompare
+
+ou::
+
+ <appli_XXX>/salome shell qgis
+
+
+Pour CloudCompare sur Calibre 9, on peut aussi, depuis SALOME, utiliser le menu *tools / plugins / Salome shell session*
+pour ouvrir un shell dans l'environnement SALOME.
+
+Dans ce shell, la commande *CloudCompare* lance le logiciel.
+
+#########################################
+Aide sommaire qgis
+#########################################
+
+On donne ci-dessous quelques indications d’utilisation de qgis.
+Il s’agit de quelques fonctions de base concernant l’affichage et le traitement de lignes ou de polygones.
+Pour des utilisations plus avancées, et les notions de manipulation et d’affichage de données géographiques, l’utilisateur se référera à la documentation officielle de qgis <http://www.qgis.org/fr/docs/index.html>
+ou à des documentations existantes spécifiques.
+
+Accès internet depuis qgis (spécifique EDF R&D)
+===============================================
+
+L'accès internet est nécessaire dans de nombreux usages de qgis, par exemple pour installer des plugins.
+Pour passer le proxy, à EDF R&D, il faut dans le menu *settings / options* de qgis, onglet *Network*, cocher l'option
+*Use proxy for web access* et prendre *DefaultProxy* comme *Proxy type*.
+
+Il faut par ailleurs avoir défini le proxy dans son environnement. On peut par exemple ajouter les lignes suivantes dans le fichier
+*.bashrc* de son compte Linux :
+
+::
+
+ export http_proxy=http://proxypac.edf.fr:3128
+ export https_proxy=http://proxypac.edf.fr:3128
+ export no_proxy=localhost,.edf.fr
+
+Ouvrir un projet qgis
+=====================
+
+Pour ouvrir ou créer un projet qgis, aller dans le menu Project puis sélectionner Open ou New.
+Les données SIG sont constituées de plusieurs types de fichiers.
+
+
+Afficher des Données dans qgis
+==============================
+
+Un « Shapefile » ou « Fichier de forme » est le format de stockage des données vectorielles utilisées
+par la plupart des SIG, il est constitué des fichiers suivants :
+
+ * ***.shp** : stocke les entités géographiques. Il s'agit du shapefile proprement-dit.
+
+ * ***.dbf** (DataBaseFile) : stocke les données attributaires (consultable sous Excel).
+
+ * ***.shx** : stocke les index des enregistrements du fichier ".shp".
+
+ * ***.prj** (recommandé) : stocke la projection associée.
+
+ * ***.sbn**, ***.sbx** (faculatatifs) : stocke des index n'existant qu'après une requête ou une jointure.
+
+ * ***.xml** (facultatif) : stocke les métadonnées relative au shape.
+
+Un fichier de données **vecteur** est constitué de points ou de contours ou tandis qu’un fichier **raster**
+est constitué de pixels, c'est-à-dire qu’il s’agit d’une image comme un fond de plan ou une photo.
+
+Pour charger des données existantes (par exemple des données CorineLandCover),
+cliquer sur le bouton AddVectorLayer dans la barre des boutons à gauche ou sélectionner AddLayer
+puis Add Vector Layer dans le menu Layer.
+
+Pour visualiser vos données, vous trouverez dans le menu « Vue » ou « View » tous les outils nécessaires
+à l’exploration par déplacement ou zoom dans vos cartes.
+
+Les déplacements sur la carte sont également accessibles depuis la barre d’icônes où se trouvent
+les mêmes symboles que dans le menu déroulant.
+
+Le « Zoom Full » ou « Zoom sur l’étendue » permet d’élargir la vue à l’ensemble des données du projet.
+
+Le « Zoom to Layer » zoome sur la couche qui est sélectionnée dans la colonne de gauche.
+
+Créer des lignes ou polygones
+=============================
+
+Une couche **Line** permet de dessiner un contour, un tracé, une courbe de niveau...
+avec des caractéristiques propres.
+
+La couche **Polygon** est une surface. Ce polygone apparaitra sur la carte et sera représenté
+aussi sous forme d’une ligne dans la table de la couche, qui aura ces propres éléments exemple:
+colonne nombre, couleur, taille...
+
+Pour créer une nouvelle couche de type Line ou Polygon :
+
+ * dans le menu Layer, sélectionner CreateLayer/new Shapefile Layer
+
+ * Sélectionner le type Line oui Polygon dans la boite de dialogue (ajouter un nouveau champ
+ en saisissant son nom dans Field si nécessaire »
+
+ * Cliquer sur OK
+
+ * Nommer et renseigner l’emplacement du nouveau fichier shape, cliquer sur enregistrer
+
+ * Pour créer des lignes, passer en mode édition en cliquant sur l’icône représentant un crayon
+
+ * Cliquer sur le bouton Add Feature dans la barre des taches
+
+ * Terminer la ligne ou le polygone par un clic droit
+
+ * Renseigner l’attribut de la ligne (id) dans la fenêtre qui vient d’apparaître,
+ puis cliquer sur OK
+
+ * Réitérer l’opération pour les lignes suivantes.
+
+ * Terminer la mise à jour de la couche en recliquant sur le bouton représentant un crayon (stop editing)
+
+Extraire des lignes ou polygones d’un fichier shape
+===================================================
+
+**Cette opération peut être utile, voire indispensable, lorsque les données sont fournies sur un
+territoire plus important que la zone d’étude, à l’instar des données CorineLandCover
+qui sont fournies par département.**
+
+Dans un premier temps, disposer d’un polygone englobant la zone d’étude ou représentant la zone d’étude :
+à saisir soit dans SALOME-HYDRO, soit dans qgis – exemple (Contour.shp)
+
+SI le contour a été saisi dans SALOME_HYDRO comme une polyligne, il faut l’exporter depuis SALOME-HYDRO
+au format shp (Polyline / Export) (Exemple Contour_Etude.shp).
+
+Cette polyligne doit ensuite être transformée en polygone dans qgis :
+
+ * Add Vector Layer : Contour.shp
+
+ * dans « Vector / Geometry Tools » : lancer « Lines to Polygons »
+ et transformer Contour.shp en Contour_polygon.shp
+
+Afficher les zones Corine Land Cover du département en cliquant sur « Add Vector Layer » (exemple : CLC12_D086_RGF.shp)
+
+Extraire les données à l’intérieur d’un contour :
+
+ * Dans qgis : dans « Vector/ Geoprocessing Tools » : lancer « Intersect » et indiquer
+ dans « Input vector « : le fichier CLC (exemple : CLC12_D086_RGF.shp),
+ et dans « Intersect layer » le contour de l’étude transformé en polygone
+ (exemple : Contour_polygon.shp).
+ Donner un nom au fichier résultat (exemple CLC12_D086_Extract.shp)
+
+Attention, le découpage des zones de CorineLandCover par le contour d’étude a pu générer des entités
+constituées de deux parties. Pour que SALOME-HYDRO puisse reconnaitre toutes les parties celles-ci
+doivent être dans des entités différentes.
+
+ * Dans qgis : dans « Vector/ Geometry Tools » : lancer « Multipart to single parts »
+ avec pour « Input polygon vector layer » le fichier extrai des CLC (exemple CLC12_D086_Extract.shp))
+ et en output shapefile un autre nom (exemple : CLC12_D086_Extract_Single_Parts.shp)
+
+ * C’est ce fichier shp, (CLC12_D086_Extract_Single_Parts.shp) qui pourra être importé dans SALOME-HYDRO
+ en tant que LandCoverMap : « Import Land Cover Map from files »
+
+.. only:: html
+
+ :ref:`ref_outilsComplementaires`
+
:align: middle
-Import d'une Land Cover Map
+Import of a Land Cover Map
===========================
-Nous allons reprendre l'exemple précedent "garonne_1" pour ajouter une carte des coefficients de Strickler.
-La carte à importer peur être téléchargée et éditée préalablement dans qgis. Les *Corine Land Cover* couvrent généralement
un grand territoire et sont très détaillées.
+The previous example "garonne_1" is taken to add a map of the Strickler coefficients.
+The map can be downloaded and modified in qgis. The *Corine Land Cover* overlap a large territory
+and are very detailed.
-**Remarque :** Pour que ces cartes ne soient pas trop lourdes à manipuler dans SALOME HYDRO,
-il est préférable de les découper dans qgis de façon à les restreindre autant que possible au domaine d'étude.
-On définira un polygone de découpe englobant le domaine d'étude, en vérifiant que l'on ne perd pas de zone lors de la découpe
-(Une carte découpée est fournie avec ce tutoriel). La carte comprend une base de données qui donne, pour chaque zone,
-le code de type de territoire associé, selon la nomenclature *Corine Land Cover*.
+**Note:** To simplify handle of Corine Land Cover maps in SALOME-HYDRO,
+It is recomended to cut them into qgis in order to restrict them as much as possible to the field of study.
+We will define a cutting polygon covering the field of study, making sure that no zone is lost when cutting
+(A cuted map is provided with this tutorial). The map includes a database which gives, for each zone,
+the associated land type code, according to the *Corine Land Cover* nomenclature.
-Avant d'importer la carte, il faut disposer d'une table définissant les codes *Corine Land Cover*, la couleur de représentation
-des types de zones, les coefficients de Strickler associés.
+Before importing the map, you must have a table defining the *Corine Land Cover* codes, the colour representation
+of the zone types and the associated Strickler coefficients.
-Une table par défaut est proposée dans SALOME-HYDRO, visible dans l'arbre d'étude, dans la rubrique *STRICKLER TABLES*, sous le nom
-*Strickler table_1*. Il est possible de l'éditer avec le menu contextuel *Edit Strickler table*.
-La plupart des champs sont éditables,
-**notamment les coefficients de Strickler qu'il faudra de toutes façon adapter pour une étude réaliste**.
+A default table is available in SALOME-HYDRO, visible in the study tree, in the *STRICKLER TABLES* section, with the name
+*Strickler table_1*. The table can be edited with the context menu *Edit Strickler table*.
+Most fields are editable,
+**in particular the Strickler coefficients that will have to be adapted in any case for a realistic study**.
|stricklerTable_1|
-
-Le champ *Attribute Name* doit correspondre au champ de codification des types de zones dans la base de donnée
-associée au *Corine Land Cover* importé : *CODE_06* correspond aux cartes de 2006, *CODE_12* aux cartes de 2012.
-Ce champ n'est pas éditable dans le dialogue ci-dessus.
-Dans l'exemple fourni, la carte date de 2006, il nous faut donc une autre table de Strickler.
-Ces tables sont enregistrées dans des fichiers texte éditables.
-Nous chargeons une table 2006 fournie dans le répertoire d'installation de l'application SALOME HYDRO
-avec la commande *Import Strickler table* du menu contextuel de la rubrique *STRICKLER TABLES* ::
+The *Attribute Name* field must match the field type field in the database associated with
+the imported *Corine Land Cover*: *CODE_06* corresponds to the 2006 maps, *CODE_12* to the 2012 maps.
+This field is not editable in the above dialog box. FIXME: pas clair
+
+In the example provided, the map is from 2006, another Strickler table is needed.
+These tables are saved in editable text files.
+We load a 2006 table provided in the installation directory of the SALOME HYDRO application
+With the *Import Strickler* command from the context menu of the topic *TABLES STRICKLER* ::
<appli_xxx>/share/salome/resources/hydro/def_strickler_table_06.txt
-Il faut effacer la table précédente *Strickler table_1*, pour que la nouvelle table soit correctement utilisée
-lors de l'import de la Land Cover Map (menu contextuel *Delete*).
+You must delete the previous table *Strickler table_1*, so that the new table is correctly used
+When importing the Land Cover Map (context menu *Delete*).
-Nous pouvons maintenant charger la Land Cover Map.
-Nous utilisons pour cela la commande *Import land cover map from file(s)* du menu contextuel de la rubrique
+We can now load the Land Cover Map.
+To do this, we use the *Import land cover map from file (s)* command in the context menu section
*LAND COVER MAPS* ::
-
+
<appli_xxx>/bin/salome/test/HYDRO/HYDRO/CLC_decoupe.shp
-La carte comprend déjà un grand nombre de polygones noirs (plus de 600) dont on peut voir le contour en les selectionnant.
-La découpe déborde très largement de la zone d'étude. On voit les zones "oubliées" lors de la découpe dans qgis,
+The map already contains a large number of black polygons (more than 600) whose outline can be seen by selecting them.
+FIXME: La découpe déborde très largement de la zone d'étude. On voit les zones "oubliées" lors de la découpe dans qgis,
sur les bords. Elles sont hors de la zone d'étude.
|importLandCoverMap|
-
-En pratique, on sélectionne tous les polygones (<crtl> A dans la liste), avant d'appuyer sur le bouton *Next>*.
-Il y a plusieurs attributs trouvés dans la base importée. Nous selectionnons l'attribut qui nous intéresse,
-le type de zone : *CODE_06*, avant d'appuyer sur le bouton *Next>*.
-Les codes de zones sont correctement associés à leur définition fournie dans la nouvelle table de Strickler.
+
+In practice, we select all polygons (<crtl> A in the list), before pressing the *Next>* button.
+There are several attributes found in the imported database. We select the attribute that interests us,
+the zone type: *CODE_06*, before pressing the *Next>* button.
+The zone codes are well associated with their definition provided in the new Strickler table.
|importLandCoverMap_2|
-Nous appuyons sur le bouton *Finish*. Le traitement prend quelques dizaines de secondes.
-La Land Cover Map ne s'affiche pas automatiquement : commande *show* du menu contextuel de l'objet *CLC_decoupe*
-dans la rubrique *LAND COVER MAPS*. On peut voir le cas de calcul sous la carte, en transparence.
+We press the *Finish* button. The treatment takes few seconds.
+The Land Cover Map is not displayed automatically: *show* command in the context menu of the object *CLC_decoupe*
+In the *LAND COVER MAPS* section. One can see the calculation under the card, in transparency.
|importLandCoverMap_3|
-Création, édition de Land Cover Map
+Creation, edition of Land Cover Map
===================================
-Il est possible de créer de toutes pièces une Land Cover Map, à l'aide de polygones créés dans SALOME-HYDRO
-ou importés.
+It is possible to create a Land Cover Map from scratch, using polygons created from SALOME-HYDRO
+or imported.
-Le menu contextuel de la Land Cover Map offre des possibilités d'édition des zones :
-ajouter, enlever, découper, regrouper, changer le type.
+The context menu of the Land Cover Map offers options for editing zones:
+adding, removing, cutting, grouping, changing the type.
-Nous ne détaillons pas ces opérations ici.
+We do not detail these operations here.
-Utilisation d'une Land Cover Map dans le cas de calcul
-======================================================
+Use of Land Cover Map in calculation case
+=========================================
-Pour exploiter la Land Cover Map, il faut éditer le cas de calcul.
-Nous éditons le cas de calcul *garonne_1* avec la commande *edit calculation case* du menu contextuel du cas de calcul.
-Il faut avancer jusqu'au panneau *Land cover map* avec les boutons *Next>* et sélectionner le Land Cover Map et la
-table de Strickler
+To use the Land Cover Map, the computation case must be edited.
+We edit the *garonne_1* calculation case with the *edit calculation case* command in the context menu of the calculation case.
+You must go to the *Land Cover map* tab with the *Next>* buttons and select the Land Cover Map and
+table of Strickler
- |casLandCoverMap|
+ |casLandCoverMap|
-Nous poursuivons avec les boutons *Next>* et *Finish* pour valider le cas.
+We continue with the *Next>* and *Finish* buttons to validate the case.
-
-Création d'un champ de STrickler aux noeuds du maillage
-=======================================================
+Creating a Strickler field at mesh nodes
+========================================
Telemac exploite un champ des coefficients de Strickler aux noeuds du maillage. Ce champ a pour nom *BOTTOM_FRICTION*.
Ce champ est ajouté au fichier MED du maillage, comme le champ d'altitude aux noeuds.
et des noms de de fichiers en entrée et en sortie.
Il est possible d'utiliser le même fichier MED en entrée et en sortie.
+TELEMAC can use a field of Strickler coefficients at the nodes of the mesh. This field has the name *BOTTOM_FRICTION*.
+This field is added to the MED file of the mesh, such as the elevation field at the nodes.
+
+You have to manually adapt the script below:
+
+It is necessary to copy the script below and to adapt it according to the case of computation
+and file names for input and output.
+It is possible to use the same MED file as input and output.
+
.. literalinclude:: ../interpolStrickler.py
:lines: 1-
-
-Nous pouvons voir le champ résultat avec le module MED, comme pour le champ d'altitude.
-
+
+We can see the result field with the MED module, as for the elevation field.
+
|BottomFriction|
.. only:: html
####################################
This paragraph will be re-written according to the user feedback.
-
-- Object overlap or lines that are very close will lead to an ugly mesh or one that is too fine.
-- Avoid using too many points in the splines, when they are not necessary.
+- Object overlap or lines that are very close will lead to an ugly mesh or one that is too fine.
+
+- Avoid using too many points in the splines, when they are not necessary.
-Anything that will lead to unnecessary complexity of the partitioning when the case is created
and prevent the use of the automatic mode for grouping zones into regions should be avoided.
-
-- Change of coordinate system: it is best to define a local reference point as early as possible. See tutorial.
+
+- Change of coordinate system: it is best to define a local reference point as early as possible. See tutorial.
- The two coordinate systems appear, but it is preferable for the transition from one to the other to be made simply
- (the coordinates of the new origin are rounded).
+ (the coordinates of the new origin are rounded).
- Consistency of the imported data coordinate systems should be maintained:
for example, put everything into Lambert 93 coordinates before import.
- Avoid the use of acute angles at domain limits: risk of creating over-constrained triangles,
- which means detecting them and inverting the diagonals.
-
-
-- traiter les nuages de points trop volumineux avant de les importer dans SALOME-HYDRO, par exemple en utilisant
- l'outil *cloudCompare* pour faire une décimation du nuage selon la courbure de celui-ci.
-
-- enregistrer très régulièrement l'étude, en la renommant de façon à conserver des étapes successives.
- Cela peut s'avérer très utile en cas d'erreur intempestive...
-
-- ne pas utiliser de caractères spéciaux (espaces, accents...) dans les noms des objets.
-
-- donner des noms significatifs aux différents objets (ils sont vite très nombreux dans une étude réaliste),
- aini qu'aux hypothèses de maillage.
-
-- il est important de bien choisir où commence une ligne fermée de type spline :
- Ce premier point reste présent jusqu'au maillage, et peut poser une contrainte inutile si il est mal placé.
- Dans le dessin d'un lit mineur, on fait généralement un contour fermé débortdant du domaine d'étude. Il est judicieux
- de mettre ce premier point hors du domaine.
-
-- dans la construction d'un domaine d'étude contenant un fleuve, il faut veiller à couper celui-ci perpendiculairement
- à son axe, pour pouvoir définir des conditions aux limites correctes.
-
-
-- Use of the spline type or polyline type?
+ which means detecting them and inverting the diagonals.
+
+- Save regularly the study and renaming it to preserve successive steps.
+ This can be useful in case of error.
+
+- Do not use special characters (spaces, accents...) in the names of the objects.
+
+- Give meaningful names to the different objects (a lot in a complex study),
+ as well as meshing hypotheses.
+
+- It is important to choose well where a closed line of spline type starts:
+ This first point remains until meshing, and can add an unnecessary constraint if it is misplaced.
+ During the drawing riverbed, most of the time, a closed contour bigger than the study area is used.
+ It is wise to put this first point out of the study area.
+
+- In the case of river study, pay attention to cut the river perpendicularly to the hydraulic axe
+ to be able to define the boundary conditions properly.
+
+- Use of the spline type or polyline type?
* *spline*: a single smooth line that has a continuous derivative, passing through all the points.
This type of line is preferred for all curved lines, the control points will not be reused in the mesh,
- which provides greater flexibility in controlling the mesh refinement.
+ which provides greater flexibility in controlling the mesh refinement.
* *polyline*: a single continuous line, composed of straight segments.
This type of line must be used for the artificial objects composed of straight segments and whenever
- broken lines are needed. The points are kept in the mesh.
+ broken lines are needed. The points are kept in the mesh.
+ * The two types of lines can be combined: see the section on handling polylines.
- * Les deux types de lignes peuvent être combinés : voir le chapitre sur la manipulation de polylignes.
-
.. only:: html
:ref:`ref_notionsPrealables`