[OSM-dev-fr] Question noob postgis
yvecai
yvecai at gmail.com
Mer 22 Fév 21:29:51 GMT 2012
Le 22/02/2012 22:24, Frédéric Rodrigo a écrit :
> On 22/02/2012 21:54, yvecai wrote:
>> J'ai pris la grande décision de me frotter un peu à postgis, mais j'ai
>> un peu de mal en sql, alors c'est l'occasion d'animer un peu cette
>> liste.
>>
>> Dans une base 'osm2pgsql', je recherche les relations qui partagent un
>> bout de chemin avec, disons la relation 1347356.
>> Je n'arrive pas à comprendre comment faire fonctionner les fonctions de
>> comparaison.
>>
>> SELECT a.osm_id, b.osm_id
>> FROM planet_osm_line a, planet_osm_line b
>> WHERE ST_overlaps(a.way,select b.way where osm_id=-1347356);
>>
>> ERREUR: erreur de syntaxe sur ou près de « select »
>> LIGNE 3 : WHERE ST_overlaps(a.way,select b.way where
>> osm_id=-1347356);
>
> Ton sql n'est pas bien structuré :
>
> SELECT
> a.osm_id,
> b.osm_id
> FROM
> planet_osm_line AS a,
> planet_osm_line AS b
> WHERE
> b.osm_id=-1347356 AND
> ST_overlaps(a.way, b.way)
> ;
>
>
> Ou en plus jolie :
>
> SELECT
> a.osm_id,
> b.osm_id
> FROM
> planet_osm_line AS a
> JOIN planet_osm_line AS b ON
> ST_overlaps(a.way, b.way)
> WHERE
> b.osm_id=-1347356
> ;
>
> _______________________________________________
> dev-fr mailing list
> dev-fr at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/dev-fr
>
Entre-temps j'avais trouvé:
SELECT a.name, a.osm_id
FROM planet_osm_line a, (select way from planet_osm_line where
osm_id=-1354395) as b
WHERE ST_intersects(a.way,b.way);
Mais bien moins joli, je te l'accorde !
Yves
Plus d'informations sur la liste de diffusion dev-fr