Le 01/04/2015 00:02, Frédéric Rodrigo a écrit :
Bonjour,
Suite aux discussions très intéressantes sur le la façon de tagger les
bâtiments qui penchent (à l'extérieur, comme à l'intérieur) et
également aux éclairages pertinents de Mr. Verdy sur la question, il
m'a paru clair qu'il était possible de se baser sur ce même principe
pour l'appliquer à la micro-cartographie des arbres.
Jusqu'à présent pour cartographie un arbre on utilise : natural=tree
adjoint éventuellement de tags pour en décrire la nature, le genre ou
l'espèce (genus=*, species=*, taxon=*).
Une autre partie des tag permettent de d'écrire l'instance de l'arbre
: circumference=*, height=* et même l'age. Cependant cela ne permet
toujours d'avoir une idée plus précise de ce à quoi ressemble l'arbre.
Une tentative de cartographie des arbres en 3D est disponible sur le
wiki, où l'on peut décrire la forme générale de l'arbre et
l'inclinaison du tronc, mais ce n'est pas suffisant :
http://wiki.openstreetmap.org/wiki/Tree_table
Ce que je propose, donc en partant de l'idée des bâtiments inclinés,
c'est de décrire les arbres de façon arborescente (je sais elle est
facile ;) ).
On commence donc par décrire le tronc, longueur, direction et
l'inclinaison :
- tree:trunk:length=* (en m par défaut, mais d'autres unités restent
bien sûr possible, c'est important)
- tree:trunk:direction=* (en degré par rapport au nord, dans le sens
anti-horaire, c'est plus naturel par rapport à l'orientation de la
végétation vis-à-vis de la course du soleil, mais c'est du détail), si
le tronc est parfaitement droit, et donc que la direction est de 0° on
peut l'omettre.
- tree:trunk:inclination=* (en degré, idem omettable si pas
d'inclinaison, l’inclinaison doit être absolue par rapport à
l'horizontale, et pas rapport à l'inclinaison du sol bien sûr !)
À noter pour Omsose, s'il y a une inclinaison il y a forcément une
direction (et réciproquement).
Puis les branches ou la suite du tronc :
- tree:trunk:trunk:length=*
- tree:trunk:trunk:direction=* (en degré par rapport au nord,
c'est-à-dire de façon absolue, ou alors de façon relative à la
direction du segment précédent en préfixant le nombre par « + » ou « -
»).
- tree:trunk:trunk:inclination=*, idem, simple combinaison de
tree:trunk:trunk:direction=* et tree:trunk:inclination=*.
Et pour chaque branche :
- tree:trunk:branch[X]:length=*
- tree:trunk:branch[X]:direction=*
En fonction du nord géographique ou magnétique ?
- tree:trunk:branch[X]:inclination=*
Il faut remplacer X par un numéro d'ordre sur le nœud, pas besoin
d'ordre particulier, juste besoin de les numéroter pour pouvoir suivre
la branche. Cela dépend des espèces, certaines espèces n'ont pas plus
d'une seule branche par nœud, on peut dans ce cas également ne pas
mentionner le numéro d'ordre.
L'avantage c'est que l'on peut ainsi continuer ou s'arrêter quand on
veut, on est en plein dans l'idée simple d'OSM, contribution
itérative. Un premier contributeur ne cartographie que les grosses
branches, puis un autre peut aller plus loin ou mettre à jour parce
que de nouvelles branches ont poussées.
Et chaque année on ajoute les nouvelles branches... Simple comme schéma.
À moins qu'un bon bot qui enregistre la météo au jour le jour pour
l'emplacement fasse le calcul de croissance lui-même et produise un
fichier de mise à jour. Parce qu'on fait de l'intégration, hein ! pas de
l'import de données.
Pour l'exemple :
tree:trunk:length=4.32
tree:trunk:direction=7.7
tree:trunk:inclination=2.4
tree:trunk:trunk:length=1.28
tree:trunk:trunk:direction=-1.8
tree:trunk:trunk:inclination=+2.6
tree:trunk:branch[1]:length=0.8
tree:trunk:branch[1]:direction=+5.7
tree:trunk:branch[1]:inclination=-9.8
tree:trunk:branch[1]:branch[1]:length=0.5
tree:trunk:branch[1]:branch[1]:direction=+6.8
tree:trunk:branch[1]:branch[1]:inclination=+3.2
tree:trunk:branch[1]:branch[2]:length=0.5
tree:trunk:branch[1]:branch[2]:direction=+6.8
tree:trunk:branch[1]:branch[2]:inclination=+3.2
tree:trunk:branch[2]:length=0.6
tree:trunk:branch[2]:direction=-9.4
tree:trunk:branch[2]:inclination=+4.6
tree:trunk:branch[2]:branch:length=0.2
tree:trunk:branch[2]:branch:direction=+4.9
tree:trunk:branch[2]:branch:inclination=+4.8
tree:trunk:trunk:trunk:length=0.8
tree:trunk:trunk:trunk:direction=+8.6
tree:trunk:trunk:trunk:inclination=-7.8
L'avantage de cette façon de faire est de pouvoir rester concis, un
seul nœud suffit, pas besoin de cartographier les branches avec des ways.
Certains vont penser que ce n'est que pour le rendu, mais on peut
faire bien plus de choses avec, par exemple du calcul d'itinéraires ou
d’ensoleillement par ombre porté sur le feuillage en fonction de
l'espèce de l'arbre.
J'espère que des moteurs 3D comme F4 pourront rapidement prendre en
compte cette approche, le résultat sera quand même beaucoup plus
réaliste.
Je suis ouvert à vos remarques avant de faire une proposition en bon
et due forme sur le wiki puis sur la liste tagging.
Et pourquoi pas une fractale pour décrire l'écorce ?
Ça simplifiera pour les différents niveaux de zoom.
Note, il faudra maintenant aller mapper avec des boussoles, des
niveaux et des compas ; mais nos chers smartphones font déjà tout ça !
Frédéric.
--
FrViPofm
_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr