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

Annonce

Printemps des cartes 2024

#1 Sun 20 July 2014 22:18

jack tippit
Participant actif
Lieu: Limoges
Date d'inscription: 3 Dec 2008
Messages: 116
Site web

[postGIS][pgRouting] pgr_createTopology fail

Bonjour à tous,
J'avais fait quelques opérations il y a 3 ans avec pgRouting pour faire des cartes isochonique, mais visiblement de l'eau a coulé sous les ponts puisque les notes que j'avais prises à l'époque ne me permettent plus d'aboutir (J'avais à l'époque suivie le tuto d'Anita Graser (http://anitagraser.com/2011/02/07/a-beg … pgrouting/)).

J'ai donc fouillé un peut, mais surmène pas assez parce que je n'ai pas trouvé / compris d'où venait l'erreur :

J'ai importé mon shp dans posgreSQL forçant le fait que ce sont des données 2D en lambert93:

Code:

shp2pgsql -t 2D -s 2154 reseau_total_AOC.shp acces acces > acces.sql
psql -f acces.sql -d geodb

je passe ensuite dans psql
-- ajouter des col "source" et "target" à la table

Code:

ALTER TABLE acces ADD COLUMN "source" integer;
ALTER TABLE asses ADD COLUMN "target" integer;

et là rien ne va plus

Code:

geodb=> select pgr_createTopology('acces', 0.00001, 'geom', 'gid');
NOTICE:  PROCESSING:
NOTICE:  pgr_createTopology('acces',1e-05,'geom','gid','source','target','true')
NOTICE:  Performing checks, pelase wait .....
NOTICE:  -------> acces not found
 pgr_createtopology 
--------------------
 FAIL
(1 ligne)

j'ai donc essayé les commandes du blog d'Anita Graser en les mettant un peu au gout du jour

Code:

--tentative du blog d'Anita graser
CREATE OR REPLACE VIEW road_ext AS
   SELECT *, ST_StartPoint(geom), ST_EndPoint(geom)
   FROM acces;

Mais ça me donne des colonnes vides ....
Dernière info, visiblement la géométrie de mes lignes est :

Code:

geom geometry(MultiLineString,2154)

J'ai cru comprendre que ça pouvait pauser problème du coup j'ai chercher à les convertir en LineString

Code:

CREATE TABLE way AS
    SELECT *, (ST_Dump(geom)) FROM acces

;

mais ça ne fonctionne pas mieux avec pgr_createTopology

Est-ce que vous pourriez me dire ce que j'ai oublié de faire ?

Version :
postGIS 2.1 et pgRouting 2 complier depuis github hier

Hors ligne

 

#2 Mon 21 July 2014 00:41

jack tippit
Participant actif
Lieu: Limoges
Date d'inscription: 3 Dec 2008
Messages: 116
Site web

Re: [postGIS][pgRouting] pgr_createTopology fail

Un petit bout de réponse sur le site de pgRouting http://workshop.pgrouting.org/chapters/ … _path.html ...


Note

    A bug in a previous version of PostGIS didn’t allow the use of ST_startpoint or ST_endpoint.
    From PostGIS 2.x ST_startpoint and ST_endpoint are only valid for LINESTRING geometry type and will fail with MULTILINESTING.

Therefor a slightly more difficult looking query is used. If the network data really contains multi-geomtery linestrings the query might give the wrong start and end point. But in general data has been imported as MULTILINESTING even if it only contains LINESTRING geometries.


Donc il y a effectivement un problème avec le type multiLine_string depuis postGIS 2 ...

Dernière modification par jack tippit (Mon 21 July 2014 00:42)

Hors ligne

 

Pied de page des forums

Powered by FluxBB