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.


_______________________________________________
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr

Répondre à