#1 Tue 26 July 2016 17:55
- Natsi
- Participant occasionnel
- Date d'inscription: 26 Jul 2016
- Messages: 12
Point Kilométrique Cours d'eau
Bonsoir à tous,
Je travaille actuellement sur une étude portant sur les obstacles au libre écoulement des eaux en rivière (seuil, vannes, moulins, etc) sur un réseau hydro assez dense.
L'objectif est de produire une base de données "dynamique", qui par le biais de différentes requetes qui iraient chercher les infos dans mes tables, sortirait comme unique résultat un graphique représentant le profil en long du cours d'eau choisi (graphe = X : point kilométrique, en Y : altitude).
C'est ici que j'ai besoin d'être éclairé : Comment faire pour calculer ces fameux points kilométriques sur mes linéaires de cours d'eau ? Sachant qu'il me faudrait un intervalle assez faible pour que mes profils en longs soient précis.
En vous remerciant par avance !
Bonne soirée, Natsi
Hors ligne
#2 Wed 27 July 2016 08:47
- YoLecomte
- Participant assidu
- Lieu: Epinal
- Date d'inscription: 7 Jul 2015
- Messages: 255
Re: Point Kilométrique Cours d'eau
Salut,
Sous QGIS, il y a un plugin QChainage qui permet de générer une couche de point à intervalle régulier sur un réseau de ligne.
A+
Hors ligne
#3 Wed 27 July 2016 09:09
- Sylvain PIERRE
- Participant assidu
- Lieu: Strasbourg
- Date d'inscription: 6 Sep 2005
- Messages: 170
Re: Point Kilométrique Cours d'eau
Bonjour,
Question préalable: quel référentiel utilisez-vous?
Selon les outils et les compétences dont vous disposez vous pourrez:
Postulat: les polylignes de votre réseau sont correctement orientées
Calculer la longueur de chaque Polyligne constitutive du réseau hydro
Créer des points à partir de l'extrémité de chaque polyligne
Transférer l'information de longueur des Polylignes aux points
Exporter tout ça vers un tableur
Dans le tableur cumuler les longueurs
Faire le graphique
Plus lourd: mettre en place un système d'abscisse curviligne (plugin LRS sous QGIS)
Après tout dépend du projet: "one shot" ou constitution d'une base de données pérenne?
Cdt
Sylvain
Hors ligne
#4 Wed 27 July 2016 11:54
- Natsi
- Participant occasionnel
- Date d'inscription: 26 Jul 2016
- Messages: 12
Re: Point Kilométrique Cours d'eau
Bonjour a tous et merci pour vos réponses.
YoLecomte : savez vous s'il existe un outil similaire sous ArcGis ?
Sylvain PIERRE : Je souhaite calculer ces points kilométriques sur la couche cours d'eau BD CARTHAGE. J'ai donc une longueur associée à chaque polyligne.
Je travaille sr un territoire assez vaste, il faudrait donc que je trouve une méthode (sous ArcGis donc) qui me permette de placer ses points à un intervalle de distance assez faible. Ensuite je pensais coupler ma table de points obtenus avec un MNT pour obtenir un couple PK/Altitude et définir des profils en long assez précis.
L'idée est effectivement de constituer une base de données pérenne et dynamique. (Modification automatique suite a des mises a jour de données) Sachant que les profils en long "naturels" resterojnt a priori les mêmes.
Hors ligne
#5 Wed 27 July 2016 13:16
Re: Point Kilométrique Cours d'eau
Bonjour,
Sous arcgis :
Points Along Line @ http://www.arcgis.com/home/item.html?id … f1c734f97a
Create Points From Lines @ http://www.arcgis.com/home/item.html?id … e215710b39
Vous pouvez créer directement les profils:
Création d'un diagramme de profil à partir d'entités linéaires 3D @ https://desktop.arcgis.com/fr/arcmap/la … atures.htm
Martin
Hors ligne
#6 Wed 27 July 2016 14:05
- Guillaume Hallier
- Participant occasionnel
- Date d'inscription: 1 Mar 2006
- Messages: 22
Re: Point Kilométrique Cours d'eau
Bonjour,
Pour information, il existe un référentiel 'points kilométriques' géré par VNF : http://www.vnf.fr/sigfed/carto/
(dans l'onglet 'données métiers VNF' puis 'Réseau')
Cette info n'existe peut être pas pour tous les cours d'eau..
Crdlt
Responsable Service SIG
Golfe du Morbihan Vannes Agglomération
Hors ligne
#7 Wed 27 July 2016 14:05
- Sylvain PIERRE
- Participant assidu
- Lieu: Strasbourg
- Date d'inscription: 6 Sep 2005
- Messages: 170
Re: Point Kilométrique Cours d'eau
On peut faire la même chose avec QGIS et sans 3D analyst ;-)
Plugin Profile Tool
https://anitagraser.com/2013/12/27/prof … -tutorial/
La BD Carthage contient déjà un système de PK et donc de chainage, mais seulement pour les cours d'eau codifiés.
Si vous vous intéressez au "petit" chevelu, les informations seront absentes (vous pouvez toujours utiliser la trame décrite dans mon premier message)
Sylvain
Hors ligne
#8 Wed 27 July 2016 14:26
- Natsi
- Participant occasionnel
- Date d'inscription: 26 Jul 2016
- Messages: 12
Re: Point Kilométrique Cours d'eau
Merci Nitram,
Je pense que l'outil "Creates Points from Lines" est celui qu'il me faut. Comment faire pour l'ajouter dans ma barre d'outil ? Je viens de télécharger sur la page que tu m'as envoyé.
Merci !!
Hors ligne
#9 Thu 28 July 2016 13:56
- Natsi
- Participant occasionnel
- Date d'inscription: 26 Jul 2016
- Messages: 12
Re: Point Kilométrique Cours d'eau
Bonjour a tous,
L'outil "Create Point Along Lines" a bien fonctionné et a placé des points comme je le souhaitais sur mon réseau hydro.
Maintenant, je dois attribuer à ces points des Points kilométriques suivant la logique suivante : point a l'embouchure : pk = 0, point a la source : pk = shape lenght.
Le problème ici, c'est que le logiciel ne va pas savoir organiser les points de l'aval à l'amont. Pour cela j'ai un petite astuce (intersection avec d'autre couche d'eau) mais qui ne sera pas valable pour l'ensemble de mon réseau.
Est-ce que la création de données d'itinéraires (référencement linéaire de mes points crées sur mes cours d'eau) pourrait solutionner ce problème ? en traitement de masse ?
Merci pour vos réponses
Bonne journée à vous
Hors ligne
#10 Fri 29 July 2016 21:33
Re: Point Kilométrique Cours d'eau
Bonjour a tous,
L'outil "Create Point Along Lines" a bien fonctionné et a placé des points comme je le souhaitais sur mon réseau hydro.
Maintenant, je dois attribuer à ces points des Points kilométriques suivant la logique suivante : point a l'embouchure : pk = 0, point a la source : pk = shape lenght.
Le problème ici, c'est que le logiciel ne va pas savoir organiser les points de l'aval à l'amont. Pour cela j'ai un petite astuce (intersection avec d'autre couche d'eau) mais qui ne sera pas valable pour l'ensemble de mon réseau.
Est-ce que la création de données d'itinéraires (référencement linéaire de mes points crées sur mes cours d'eau) pourrait solutionner ce problème ? en traitement de masse ?
Merci pour vos réponses
Bonne journée à vous
Bonjour,
le référencement linéaire dans le monde libre se gère très bien en base de données spatiales Postgis ou Spatialite. Cherchez la rubrique Linear referencing dans la documentation de postgis.
Cela sera bien plus efficace pour générer des requêtes dynamiques sur vos tables sources.
Par ailleurs, la BD Carthage est déjà PK métrée, pas la peine de le refaire. Les PK sont stockés dans la table des tronçons hydrographiques et non des cours d'eau. A
Attention, ces PK sont recalculés potentiellement tous les ans, il ne faut donc pas partir du principe qu'on ouvrage localisé par PK sur une version de Carthage sera au même PK dans une autres version (et oui, les cours d'eau ça bouge, et on a pas des bornes comme sur les routes, sauf sur certains canaux, dont le réseau VNF)
Autre point, les PK augmentent en descendant vers l'embouchure, et pour éviter de remonter avec des valeurs inférieures à zéro, Carthage démarre par convention à 1 000 000 à l'aval du cours d'eau. Même la Loire ne fait pas mille kilomètres, ça marche donc.
Il est donc possible de travailler directement en référencement linéaire en base de données avec les tronçons. Il est cependant plus judicieux de travailler avec des cours d'eau, (5 fois moins nombreux) environ pour accélérer et simplifier les requêtes SQL. Il faut pour cela faire l'équivalent de la fonction "calibrate routes" d'arcgis, c'est à dire utiliser les pk des tronçons pour affecter un PK (une valeur M, ou mesure en anglais) à chaque vertex. On travaille alors avec une géométrie 3D, dite XYM, et même 4D dans votre cas en y rajoutant l'altitude (XYMZ). On peut le faire en SQL, ou créer la 3DM avant de charger la donnée en base (plugin LRS ou fonctions GRASS- SAGA, etc..)
J'utilise quotidiennement des requêtes croisant des événements ponctuels types obstacles, ou linéaires, type classement de cours d'eau, et le croisement dynamique à la volée de ces objets fonctionne très bien, sur toute la BD Carthage Adour Garonne (36000 cours d'eau). Il suffit à la fin d'afficher la requête finale dans QGIS (via une vue ou dbmanager) pour avoir un projet rapide et léger.
En revanche faire le référencement linéaire entièrement coté QGIS est encore balbutiant. Le plugin LRS est très prometteur et son développeur est preneur de financements pour le finaliser. Une autre raison est que jusqu'en 2.14, QGIS ne connaissait pas les Z et M des géométries, même si la donnée source en avait. Il ne manque plus que d'exprimer vos besoins, et éventuellement de financer les évolutions qui vous sont nécessaires.
Pour ma part, je pense qu'il manque quelques petites choses( appel à contributeur donc):
- une fonction embarquées dans postgis pour créer les géométries 3D-4D, sans trop bricoler.
- étendre le plugin LRS pour pouvoir utiliser des géométries 3DM déjà existantes, sans passer par la calibration via une couche de points. Autoriser également à utiliser une couche de linéaire pour calibrer une route
- un widget d'édition QGIS pour cliquer sur un point le long d'un itinéraire (ou un point amont et un aval) pour enregistrer des évènements dans une table (attributaire, stockage des XY Z et M + identifiant de route)
- quelques articles de blogs pour faire connaître ces potentialités. ça, je l'ai dans ma liste depuis un moment
En espérant que cela vous aidera.
Régis
Hors ligne
#11 Mon 01 August 2016 12:28
- Natsi
- Participant occasionnel
- Date d'inscription: 26 Jul 2016
- Messages: 12
Re: Point Kilométrique Cours d'eau
Bonjour Régis,
Merci pour ces explications, elles rejoignent les solutions qui pnt émergées d'autres discussions que j'ai pu avoir avec des Sigistes.. Je vais creuser de ce coté alors.
Petite question :
Je veux travailler à l'échelle des tronçons hydrographiques (BD CARTHAGE TRONCON identifiés par des Code HYDRO type : code H6—0200 ) puis dans un second temps sur les masses code (code Masse d'eau type : FRHR ..... ).
La couche pk métrée est celle de la BD CARTHAGE Cours d'eau. POur obtenir mes pk au niveau tronçon je fais une simple selection selon emplacement ?
Hors ligne