[OSM-dev-fr] Trouver des objets ne possédant pas certains tags
Frédéric Rodrigo
fred.rodrigo at gmail.com
Jeu 5 Déc 22:05:29 UTC 2013
Le 05/12/2013 22:51, François Lacombe a écrit :
> 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.
> 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 ?
>
>
> L'objet de ma question ne trouve pas d'application concrète dans OSM.
> OSM utilise comme beaucoup d'autres systèmes une modélisation EAV pour
> le stockage des tags dans la base de données.
> Je cherche actuellement à mettre au point une requête SQL qui retrouve
> des enregistrements qui ne possèdent pas certaines clés.
>
>
> Merci par avance pour vos indications.
Il faut utiliser un jointure externe ("left join" en sql) sur ton tag
s'il est dans une table de jointure ou IS NULL si c'est une colonne ou
un hstore... tu ne donnes pas le schéma que tu utilises...
Pourquoi OAPI ne le fait pas ? Sûrement parce que ça coute cher. Pour
trouver une données indexé il faut chercher dans l'index. Pour trouver
une absence de données, il faut regarder partout.
Frédéric.
Plus d'informations sur la liste de diffusion dev-fr