Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#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)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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: 611

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 sad

Hors ligne

 

Pied de page des forums

Powered by FluxBB