[OSM-dev-fr] Trouver des objets ne possédant pas certains tags

Julien Balas julien at krilin.org
Ven 6 Déc 14:17:06 UTC 2013


On 05/12/2013 22:51, François Lacombe wrote:
> Bonsoir,
>
> Je souhaite savoir si dans le modèle de données retenu par OSM il est 
> possible de retrouver des objets ne possédant pas certains tags.

Ca depends de ton modele.

Si tu a une notion de "way" ou de "node" qui sont lié a des "tags"
en SQL tu pourrait ecrire
select *
from way
where une premiere condition
and not exists (select 'bla' from tag where tag.key='truc' and 
tag.way_id = way.id)

qui te permet de trouver les way pour lesquels il n'existe pas de tag 'truc'

Note : le "not exists" peut etre couteux, ca depends des volumes de way, 
de tag, etc.


> A partir d'Overpass API par exemple ?
>
> Dans OAPI, on peut tout a fait fixer une clause pour trouver des 
> objets qui possèdent un tag défini avec n'importe quelle valeur mais 
> en revanche le langage ne permet pas de définir le conjugué d'une 
> telle contrainte.
> Est-ce un "oubli" ou une lacune profonde du modèle ?

Est ce qu'on interroge souvent le modèle OSM avec ce genre de question ? 
je ne pense pas.
Quand on veut dessiner une carte ou utiliser les données on s’intéresse 
plutot a ce qui est présent, pas ce qui est absent.
L'exception a la règle serait peut-être les outils de qualité de données 
genre osmose ou geofabrik.
Osmose a par exemple une règle qui trouve les écoles n'ayant pas un tag 
d'ID officiel.
http://osmose.openstreetmap.fr/en/error/556433378
Tu peut regarder comment ils ont fait

-- 
JB



Plus d'informations sur la liste de diffusion dev-fr