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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 24 May 2019 11:59

D3us
Participant actif
Date d'inscription: 6 Mar 2019
Messages: 57

impossible d'utiliser Dijkstra : procédure

Bonjour,

Voilà cela fait un moment que je planche sur le sujet de la géomatique dans le but de réaliser un projet d'entreprise. Mais je suis un néophyte et malgré mes recherches acharnée rien ne va plus.

Voilà comment je procède en gros :

je prend mon système (ubuntu 16.04 LTS ) et j'installe mes extension et autres utilitaires :

Code:

# sudo apt-get install pgadmin3
# sudo apt-get install qgis
# sudo apt-get install postgresql-9.5-postgis-2.2
# sudo apt-get install postgresql-9.5-pgrouting

Puis je crée ma base de donnée que j'appel routing et je créé mes extensions dedans

Code:

CREATE EXTENSION postgis;
CREATE EXTENSION pgrouting;
CREATE EXTENSION postgis_topology;

A l aide de osm2pgsql je crée mes tables :
# sudo osm2pgsql --slim -v -d routing -U postgres -W -H localhost -P 5432 -S "default.style" pays-de-la-loire-latest.osm.bz2

Je précise que je prend mes données osm ici : http://download.geofabrik.de/europe/fra … loire.html

A therme je souhaite le faire pour la France entière d'ailleurs.

Voilà et d'ici j'ai essayé plein de truc (pgr_createTopology, pgr_NodeNetwork etc...) Mais pas moyen de faire marche pgr_Dijkstra

J'ai suivi multiple tuto j'ai écumé le forum mais je n'arrive à rien , j'ai essayé sur plusieurs envorenements (windows, ubuntu , osgeolive...) Rien n'y fait.

Quelqu'un à une idée? Un lien vers une documentation claire qui m'aiderais ? car la documentation de pgrouting ne m'aide absolument pas ça me bloque à NodeNetwork. j'essaie de mettre en place une requête qui va faire le nodeNetwork petit à petit mais c'est pas gagné.

Hors ligne

 

#2 Fri 24 May 2019 15:00

D3us
Participant actif
Date d'inscription: 6 Mar 2019
Messages: 57

Re: impossible d'utiliser Dijkstra : procédure

Si quelqu'un veut des précisions je peux en donner moultes.

Hors ligne

 

#3 Mon 27 May 2019 13:56

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1160

Re: impossible d'utiliser Dijkstra : procédure

Salut

Si quelqu'un veut des précisions je peux en donner moultes.


Oui il en faut moult, si vous voulez que les autres membres
du forum puissent vous aider.
Si la question est précise et exhaustive, les autres humains
qui essaieront de vous aider gagneront du temps en se passant
de deviner ce que vous avez essayer de faire, ce à quoi
vous voulez arriver, qu'est ce qui est à votre disposition,
les messages d'erreurs que vous renvoie la machine,
ou bien ce qui fait que pour vous : "ca ne marche pas".

Quelqu'un à une idée? Un lien vers une documentation claire qui m'aiderais ? car la documentation de pgrouting ne m'aide absolument pas ça me bloque à NodeNetwork. j'essaie de mettre en place une requête qui va faire le nodeNetwork petit à petit mais c'est pas gagné.


Je vous ai répondu sur le fil que vous aviez ouvert (https://georezo.net/forum/viewtopic.php?id=115853),
merci d'éviter de poster une même question à plusieurs endroits différents, ou alors au moins
précisez l'autre fil...

On attends vos précisions smile

Dernière modification par tumasgiu (Mon 27 May 2019 13:59)

Hors ligne

 

#4 Mon 27 May 2019 14:24

D3us
Participant actif
Date d'inscription: 6 Mar 2019
Messages: 57

Re: impossible d'utiliser Dijkstra : procédure

Bonjour,

Je vous rassure ce n'est pas un doublon, ce que je veux dire dans ce topic c'est : y a t'il des tutoriel disponibles pour tracer ses itinéraires avec dijkstra ou non ?
Car j'en ai utilisé un paquet et aucun ne donne les bonnes instructions. Ce qui ne marche pas (dernièrement)  c'est que lorsque je lance une requête avec Dijkstra ou que j'utilise pgrouting layer sur QGIS, j'ai un message comme quoi Dijkstra() ne trouve pas de chemin pour rejoindre les deux points.

Après ça c'est un problème parmi d'autres. Généralement chaque fois que je n'ai pas de réponse je tente quelque chose de nouveau donc j'ai tout le temps des problèmes.

Hors ligne

 

#5 Tue 28 May 2019 08:57

Nicolas Granier
Participant assidu
Date d'inscription: 19 Apr 2007
Messages: 271

Re: impossible d'utiliser Dijkstra : procédure

Hola D3us,
voici un script de commande du pgr_dijkstra, en espérant qu'il te soit source d'inspiration.

Code:

--intégration dans pgis
shp2pgsql -s 2154 -g the_geom -W LATIN1 -D -I "C:\routier.shp" routier | psql -U user -d sig -h postgis.exemple -p 5432

--doublonnage d ela table en forcant la geometrie en 2d
create table "routing_graphe" as select gid,(st_dump(st_force_2d(the_geom))).geom as the_geom from "routier";
-- remplissage de la table géométrique
select populate_geometry_columns();

-- creation d'un identifiant unique
alter table "routing_graphe" add column id serial

--ajout des champs
ALTER TABLE routing_graphe ADD COLUMN "source" integer;
ALTER TABLE routing_graphe ADD COLUMN "target" integer;
ALTER TABLE routing_graphe ADD COLUMN "cost" NUMERIC(9, 2);
update routing_graphe set cost=st_length(the_geom)
-- mise a jout -20% sur le réseau principal pour ajuster le cout 
update routing_graphe set cost=cost*0.8 where principal=1
--modelisation avec une tolerance de 10m pour sauter les coupures
SELECT pgr_createTopology('routing_graphe', 10, 'the_geom', 'id');

--requete de tracé d'un point a vers un point b => renvoie la liste des id de troncon

SELECT id2 AS edge
    FROM pgr_bdDijkstra(
        'SELECT id, source, target, cast(cost AS float8) FROM routing_graphe',
        2631, 3465, false, false
    );

A+
Nicolas GRANIER

Hors ligne

 

Pied de page des forums

Powered by FluxBB