Jusqu'à présent dans mes scripts d'imports (pour les hauteurs de bâtiments) je ne gérais que les relations avec un seul membre "outer" mais j'aimerais maintenant gérer aussi ceux qui en ont plusieurs même s'ils sont rares (par ex. sur l'ensemble de Nice il y en a même pas une dizaine).
Le problème est que je n'arrive pas vraiment à récupérer dans PostGIS les géométries pour chacun des membres "outer".
Bizarrement la doc détaillée d'Osm2pgsql a disparu du wiki mais je l'ai retrouvé dans l'historique: http://wiki.openstreetmap.org/w/index.p ... id=1418568
Voici la partie intéressante:
Code : Tout sélectionner
This table contains all polygons (closed ways) which were imported. For polygons which are members in one or more relations, multiple rows will be created: one with the polygon's own ID and tags, and one more for each relation membership. These additional rows contain the tags of the relation and the negative ID of the relation in the osm_id column (since a single relation may contain multiple polygons, negative IDs are not necessarily unique).
- une ligne avec l'ID inversé (négatif) de la relation + la géométrie du membre + les tags de la relations
- une ligne avec l'ID du du membre outer + la géométrie du membre + les tags spécifiques du membre
Sauf que la 2e ligne ne sera visiblement présente QUE si le membre possède des attributs propre à lui (et non à la relation), ce qui veut dire que dans l'écrasante majorité des cas il n'y aura que la 1ere ligne ! Et du coup je ne vois pas comment je peux différencier les lignes des différents membres "outer" d'une même relation puisqu'ils auront tous le même ID (c'est à dire celui de la relation mais inversé).
Merci pour votre aide, Vincent.