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

Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.

Vous allez recevoir un message pour effectuer ce changement de mot de passe.

Merci de bien respecter les règles préconisées.

#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