<br><br><div class="gmail_quote">2009/9/1 Vincent de Chateau-Thierry <span dir="ltr"><<a href="mailto:vdct@laposte.net">vdct@laposte.net</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im"><br>
</div>Je n'ai pas encore entré de POIs de ce type mais je serais plus pour positionner un POI (un node) systématiquement, que le restaurant soit l'unique vocation du bâtiment ou pas. J'ai l'impression que c'est ce que préconise le wiki [1], et dispatcher l'info entre points et lignes selon la connaissance des contours du batiment ne facilite pas l'utilisation par les applications des entités "restaurant" par la suite.<br>
</blockquote></div><br>Si tu veux facilement extraire cette information sous Postgres avec un schéma de type osm2pgsql, il suffit de faire les choses suivantes (a noter que ce n'est pas la commande SQL exacte, car je n'ai pas de quoi la faire tourner actuellement)<br>
<br>SELECT ST_AsText(ST_Centroid(nomdelacolonne)),<br> name<br>FROM planet_osm_polygon<br>WHERE amenity='restaurant'<br>UNION<br>SELECT ST_AsText(nomdelacolonne),<br> name<br>FROM planet_osm_point<br>
WHERE amenity='restaurant';<br><br>C'est tout aussi simple que ça. Ça prend vraiment quelques instants de plus a écrire. Ça tourne quasiment aussi rapidement puisque la table planet_osm_polygon n'est pas forcement tres grosse. De plus si tu as un index sur la colonne amenity (ou ce qui est vraiment, car je ne me rappelle plus du schéma), tu auras une requête assez rapide.<br>
ST_Centroid crée automatiquement un point du centre géométrique d'un polygone, ou d'un line, ou encore un multi-line. Il faut noter que si par malheur tu n'as pas de polygone de former, tu peux même créer la requête sur planet_osm_line, et ça marchera tout aussi bien. De plus, avec la commande UNION, tu as tout qui sort en un seul résultat.<br>
De plus, maintenant que le renderer supporte correctement le rendu des restaurants (avec a peu près la même requête), doubler le bâtiment d'un POI est inefficace car une telle requête aura deux fois le même résultat avec généralement deux coordonnées légèrement différentes.<br>
<br>Emilie Laffray<br>