FR:WikiProject metadata POC power

From OpenStreetMap Wiki
Jump to: navigation, search

Objectif

Mettre en place un formalisme pour définir un méta model des tags.

Ce méta modèle devra être assez souple pour supporter les évolutions, mais suffisamment formalisé pour permettre le développement de logiciels permettant par exemple les propositions de formalisme (ex JOSM/F3) ou la génération de tests automatiques (Osmose).


Quelques idées

  • Les définitions seront placés dans les pages du wiki (Maps Features) :
    • Chaque langue / pays pourra avoir des spécifications particulières ;
    • Certains champs seront définis dans la langue locale.
  • Le modèle doit permettre de prendre en charge plusieurs définitions des même objets (ex: adresses en node ou en relations)
  • Format XML
  • Afin de faciliter la réutilisation des définitions, il y aura héritage des attributs suivant l'arbre suivant : Element -> Node ; Element -> Way (ligne ou périmètre) ; Element -> Polygon (avec inclusions & exclusions)


Exemple de définition de modèle

 <?xml version="1.0" encoding="UTF-8" ?>
 <element name="Centrale Électrique">
   <description>
     Par abus, il s'agit de tout type de centrale qui produise de l'énergie (''power'') qu'elle soit électrique, vapeur ou autre.
   </description>
   <tag key="power" value="generator" use="mandatory" /> <!-- indique un champ obligatoire ==> sert aussi à détecter l'objet géographique 'Centrale Électrique' -->
   <tag key="generator" value="electricity" use="mandatory" /> <!-- idem précédent : ces 2 tags sont nécessaires pour définir une Centrale électrique -->
   <tag key="name" use="needed"> <!-- pas un critère obligatoire, mais à présenter pour toute saisie ; ce champs peut être laissé vide (ou tag absent) -->
    <description>
      Nom du site tel qu'il apparait sur le fronton des bâtiments.
    </description>
   </tag> 
   <tag key="operator" use="optional" description="" /> <!-- à présenter ssi l'utilisateur veut aller plus loin -->
 </element>
 <node name="Centrale Électrique"> <!-- hérite des attributs description -->
 </node>
 <polygon name="Centrale Électrique"> <!-- défini une surface -->
 </polygon>