Pages: 1
- Sujet précédent - pgsql : Calcul d'une distance d'un point aval vers point amont - Sujet suivant
#1 Tue 31 May 2016 18:48
- Sophie_Géo
- Participant actif
- Lieu: Nantes
- Date d'inscription: 16 Jul 2012
- Messages: 59
pgsql : Calcul d'une distance d'un point aval vers point amont
Bonjour,
Je tente ma chance ici puisque cette discussion n'inspire personne sur le forum QGIS. Je vais essayer d'être très précise dans ma demande.
Je travaille sur des réseaux FTTH et j'ai besoin de créer des chemins optiques. C'est-à-dire de calculer la distance entre mon point de départ du réseau et mon point de fin, relié ensemble par quelques polylignes de cables qui se suivent, intersecté par des points "relais".
J'ai 4 donc shapefile : pointdepart, cable, pointrelais, pointfin.
Sur chacun des shapefile j'ai un codeid et sur le shape cable j'ai un noeud1 et noeud2 qui reprend l'id du point amont et du point aval.
Sur une table appelée longueur je dois avoir la liste de chaque pointfin et sa longueur jusqu'au point de départ.
Je pense qu'il vaut mieux partir du point de fin plutôt que du point du début puisque de nombreux cables partent du point de début mais un seul depuis la fin. Je sais pas si je suis claire...
Comment je fais pour faire ma ligne de code?
St_startpoint/st_endpoint/sum(st_length)/ ST_within/St_buffer avec des requêtes imbriquées. Je débute dans pgsql mais j'ai quelques bases sans savoir comment les articuler...
Merci pour votre aide.
Sophie
Dernière modification par Sophie_Géo (Wed 01 June 2016 11:28)
Hors ligne
#2 Wed 01 June 2016 10:49
- Sophie_Géo
- Participant actif
- Lieu: Nantes
- Date d'inscription: 16 Jul 2012
- Messages: 59
Re: pgsql : Calcul d'une distance d'un point aval vers point amont
Pleaaaaaaaaase help ^^
Hors ligne
#3 Wed 01 June 2016 11:14
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
Re: pgsql : Calcul d'une distance d'un point aval vers point amont
Bonjour,
Pourriez-vous fournir un jeu de test pour que j'essaie?
Ted
Hors ligne
#4 Wed 01 June 2016 11:22
- Sophie_Géo
- Participant actif
- Lieu: Nantes
- Date d'inscription: 16 Jul 2012
- Messages: 59
Re: pgsql : Calcul d'une distance d'un point aval vers point amont
Oui, je vous l'envoie comment?
Hors ligne
#5 Wed 01 June 2016 11:29
- Sophie_Géo
- Participant actif
- Lieu: Nantes
- Date d'inscription: 16 Jul 2012
- Messages: 59
Re: pgsql : Calcul d'une distance d'un point aval vers point amont
C'est mis en PJ du 1er message
Hors ligne
#6 Wed 01 June 2016 13:58
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
Re: pgsql : Calcul d'une distance d'un point aval vers point amont
Question :
Au point de départ, il peut y avoir plusieurs câbles (un seul objet ou plusieurs) et est-ce au niveau des relais (répartiteur?) qu'il peut y avoir un changement?
Merci
Hors ligne
#7 Wed 01 June 2016 14:11
- Sophie_Géo
- Participant actif
- Lieu: Nantes
- Date d'inscription: 16 Jul 2012
- Messages: 59
Re: pgsql : Calcul d'une distance d'un point aval vers point amont
Au point de départ il peut y avoir plusieurs câbles/plusieurs objet qui vont vers le même point de fin1 ou vers un point de fin2.
Au niveau du relais il peut y avoir un changement oui... 2 câbles partent du point de départ et vont vers 2 points de fin différent mais passe par le même point relais. Cela dit le noeud amont est différent du coup dans les champs cable noeud 1 et noeud 2.
Dernière modification par Sophie_Géo (Wed 01 June 2016 14:19)
Hors ligne
#8 Wed 01 June 2016 14:31
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: pgsql : Calcul d'une distance d'un point aval vers point amont
Bonjour,
Ne s'agit - il pas de "routing" comme si on cherchait à connaitre le plus court chemin entre un point A et un point B sur un réseau routier.
Si telle est le cas, je vous conseillerai de vous tourner vers pgrouting ou grass :
http://pgrouting.org/gallery.html
http://wooster.org.uk/2014/11/draft-fib … rk-design/
http://www.ing.unitn.it/~grass/docs/tut … index.html
Pascal PLUVINET
Hors ligne
#9 Wed 01 June 2016 14:33
- Sophie_Géo
- Participant actif
- Lieu: Nantes
- Date d'inscription: 16 Jul 2012
- Messages: 59
Re: pgsql : Calcul d'une distance d'un point aval vers point amont
Je ne suis pas certaine que ce soit approprié justement... je vois pas comment, vu ce que je veux faire, pg_routing peux m'aider. C'est du calcul de route en fonction du périmètre de commune.
Dernière modification par Sophie_Géo (Wed 01 June 2016 14:34)
Hors ligne
#10 Wed 01 June 2016 14:51
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
Re: pgsql : Calcul d'une distance d'un point aval vers point amont
Dans la table cable, il y a un champ longueur et cb_ref semble être le nom du câble?, pouquoi ne pas faire la somme des longueurs + group by cb_ref?
Sinon, j'avais également pensé à l'idée de Pascal!
Ted
Hors ligne
#11 Wed 01 June 2016 15:07
- Sophie_Géo
- Participant actif
- Lieu: Nantes
- Date d'inscription: 16 Jul 2012
- Messages: 59
Re: pgsql : Calcul d'une distance d'un point aval vers point amont
Non ça ne fonctionne pas, ce champ cb_ref est la référence du cable posé. Ce n'est pas un identifiant unique qui va vers le point de fin. Tous mes câbles pour toutes mes polylignes ont cette référence.
Concernant pg_routing, vous trouvez cela approprié? Parce que je ne vois pas comment je peux l'utiliser pour mon cas.
Hors ligne
#12 Wed 01 June 2016 21:09
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
Re: pgsql : Calcul d'une distance d'un point aval vers point amont
Je ne connais pas pgrouting, mais ici ça semble bien expliqué :http://docs.pgrouting.org/2.0/fr/doc/sr … orial.html
Vos shp sont issus d'une base de données postgis?
Bonne soirée
Hors ligne
#13 Thu 02 June 2016 11:10
- Sophie_Géo
- Participant actif
- Lieu: Nantes
- Date d'inscription: 16 Jul 2012
- Messages: 59
Re: pgsql : Calcul d'une distance d'un point aval vers point amont
Bonjour,
A la base non mais je les ai importé.
Je vais jeter un oeil sur pgrouting mais ça m'inquiète, je ne suis pas certaine d'y arriver.
Hors ligne
#14 Thu 02 June 2016 14:04
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
Re: pgsql : Calcul d'une distance d'un point aval vers point amont
Sophie,
Avec tes shp, j'ai fait un essai de jointure. Si tu joins à la table câble <=> la table relais (pt_code = cb_nd2) et également la table pointfin (PT_SRO = cb_nd2)
Tu vas avoir dans ta table câble tous les éléments pouvant t'être utile.
les tables relais et pointfin possède une colonne pt_ptam (pour point amont dans relais) et PT_PTAM (pour point amont dans pointfin).
Encore une question : sur le cb_com, est-ce que ce ne serait pas l'identification du câble?
Ted
Hors ligne
#15 Thu 02 June 2016 14:38
- Sophie_Géo
- Participant actif
- Lieu: Nantes
- Date d'inscription: 16 Jul 2012
- Messages: 59
Re: pgsql : Calcul d'une distance d'un point aval vers point amont
La première réflexion n'est pas idiote, faut que j'essaie tout de suite!
cb_com situe juste le câble dans sa commune mais ne me permet pas le lien sur un point de début et de fin
Hors ligne
Pages: 1
- Sujet précédent - pgsql : Calcul d'une distance d'un point aval vers point amont - Sujet suivant