Le lundi 05 mars 2012 à 21:59 +0100, yvecai a écrit :
> Alors il me semble que j'arrive à trouver les way qui appartiennent à
> des relations:
> pistes-mapnik=# SELECT
> count(b.osm_id)
> FROM
> planet_osm_rels,
> planet_osm_line AS b
> WHERE
> b.osm_id = ANY(planet_osm_rels.parts)
> AND b."piste:type" IS NOT NULL
> AND b.osm_id>0;
> count
> -------
> 11098
> (1 row)
> Mais pas l'inverse:
> pistes-mapnik=# SELECT
> count(b.osm_id)
> FROM
> planet_osm_rels,
> planet_osm_line AS b
> WHERE
> b.osm_id = ANY(planet_osm_rels.parts)
> AND b."piste:type" IS NOT NULL
> AND b.osm_id>0;
> count
> ----------
> 75773488
> (1 row)
> C'est un peu beaucoup puisque je n'ai que 51'026 ways ... ??
>
> Yves
Bonsoir,
Tu dois pouvoir arriver à tes fins avec exists() :
SELECT count(*)
FROM planet_osm_line AS l
WHERE
NOT EXISTS (
SELECT *
FROM planet_osm_rels AS r
WHERE l.osm_id = ANY(r.parts)
)
AND l."piste:type" IS NOT NULL
AND l.osm_id > 0;
Dans le cas particulier des tableaux, il y a peut-être plus direct mais
je n'ai pas l'habitude de manipuler ces types de données.
Cordialement
--
Gilles Bassière - Web/GIS software engineer
http://gbassiere.free.fr/
_______________________________________________
dev-fr mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev-fr