Re: [OSM-talk-fr] opening_hours contre les parcs parisiens

2018-10-29 Par sujet Megan Parat
On 10/26/18 2:28 PM, Philippe Verdy wrote:

> Le jeu. 25 oct. 2018 à 16:45, Francois Gouget  <mailto:fgou...@free.fr>> a écrit :
>
> On Thu, 25 Oct 2018, Megan Parat wrote:
> [...]
>
> > 08:00-17:45; PH,Sa,Su 08:00-09:00 off, Mar 01-Mar Su[-1]
> 17:45-19:00,
> > Oct 01-Oct Su[-1] 17:45-19:30, Mar Su[-1]-Apr 30,Sep
> 17:45-20:30, May
> > 01-Aug 31 17:45-21:30
>
> [...]
>
> Là où la page opening_hours laisse penser que la virgule ne peut être
> utilisée que dans les listes (d'années, de mois ou d'heures), la
> spécification complète indique qu'on peut l'utiliser partout où on
> peut
> utiliser le point-virgule :
>
> |  opening_hours = 
> |  :  { 
>  }
> |  any_rule_separator: ';' | ',' | '||'
>
>
> Pas tout à fait :
> * le point-virgule dans un attribut indique une liste non-ordonnée
> (dont les éléments peuvent être librement permutés sans changement
> d'interprétation) : c'est valable normalement pour tout attribut OSM.
> * alors que la virgule impose un ordre de priorité.
>
> De fait les éléments séparés par point-virgules doivent être
> indépendants (ne pas se recouvrir, ou bien être équivalents
> sémantiquement)
>
> Ce qui n'est pas le cas dans l'exemple ici car le premier élément de
> la liste séparée par point-virgule "08:00-17:45" couvre une bonne
> partie du second (qui indique des horaires différents pour certaines
> dates).
>
> Il ne devrait donc pas y avoir de point-virgule du tout dans ton
> exemple, où la virgule dans un liste vient ajouter des éléments
> (ajouter des plages horaires, ou en retirer avec "off")  à la liste en
> modifiant les précédents.

L'ordre a une importance en général :

La spécification explique que la syntaxe générale d'opening_hours est
une liste de sélecteurs séparés par des points-virgules. Les horaires
retenus pour une date correspondent au *dernier* sélecteur valide. (cf.
explication pour time_domain sur la page
https://wiki.openstreetmap.org/wiki/FR:opening_hours/specification)

L'intérêt de la virgule est de pouvoir écrire par exemple '08:00-18:00,
Fr 20:00-24:00'. Avec une virgule, pour le vendredi, c'est ouvert de 8h
à 18h, puis de 20h à minuit. Avec un point-virgule, c'est ouvert
seulement de 20h à minuit car la deuxième règle est valable pour ce
jour, et ainsi prend précédence. (cf. explication de
additional_rule_separator §1)

> La syntaxe utilisée ci-dessus est en fait ambiguë puisque la partie
> séparée par des virgules (une fois le point-virgule converti en
> virgule) contient les éléments suivants, qui doivent être lus dans
> l'ordre, chaque élément modifiant le calendrier:
> - au départ (liste vide), par défaut tout est fermé, tous les jours
> quelque soit l'heure
> - "08:00-17:45" : ajoute l'ouverture tous les jours à cette plage
> horaire (cela remplace la fermeture
Correct pour le moment.
> - "PH" : n'indique aucune plage horaire, donc veut dire que cela
> ajoute l'ouverture toute la journée (24/24) des jours fériés
> - "Sa" : n'indique aucune plage horaire, donc veut dire  que cela
> ajoute l'ouverture toute la journée (24/24) de tous les samedis
> (fériés ou pas)
> - "Su 08:00-09:00 off" : exclue de tout ce qui précède l'ouverture de
> 8h à 9h si c'est un dimanche (donc le dimanche reste ouvert 23h sur 24
> si c'est férié, sinon ouvert seulement de 9h à 17h45)

La virgule est aussi utilisée pour les énumérations d'années, mois,
jours de la semaines, etc... (eg. 'Mo,We,Fr 08:00-18:00'). (cf. les
définitions de weekday_sequence, monthday_selector et year_selector)

Normalement, cette règle devrait prendre précédence sur les précédentes
si elle s'applique. Ça n'a pas trop de sens car c'est fermé par défaut.
C'est pour ça que si la règle définit une fermeture, celle ci se content
de supprimer la plage horaire. Donc pour '08:00-18:00; Mo 08:00-12:00
off', c'est ouvert le Lundi de midi à 18h. (cf. l'explication de
 (closed) )

C'est pour ça qu'il y a un point-virgule et non une virgule. Car le
comportement est le même et l'outil d'évaluation préfère le premier (car
il est moins complexe je suppose).

> - "Mar 01-Mar Su[-1] 17:45-19:00 : ajoute l'ouverte à cette plage
> horaire tous les jours de entre le 1er du mois de mars et le dernier
> dimanche de mars (n'a pas d'effet sur les dimanches fériée de mars,
> mais les autres dimanches non fériés de mars ont une ouverture allongée)
> - etc. (autres plages horaires ajoutées pour d'autres dates)
>
Elle s'applique pour les dimanches fériés car c'est la dernière qui
correspond et on utilise des virgules.
> Cette liste ne peut pas être librement permutée (notamment entre les
> éléments contenant des "off" et ceux qui sont "on" par défaut), mais

Re: [OSM-talk-fr] opening_hours contre les parcs parisiens

2018-10-24 Par sujet Megan Parat
On 10/24/18 12:50 AM, Francois Gouget wrote:
> Je crois que les employï¿œs qui font les horaires des parc parisiens 
> dï¿œtestent OpenStreetMap. Sinon comment expliquer des horaires pareils :
>
> https://www.mapillary.com/map/im/LHvLpzzp3G_EbWV5tTs9Xw
>
> (le Square Louise-Michel prï¿œsente le mï¿œme dï¿œfi)
>
> Bon, j'ai quand mᅵme rᅵussi ᅵ trouver un champ opening_hours qui, je 
> crois, reprï¿œsente correctement ces horaires :
>
> 8:00-20:30;PH,Sa,Su 9:00-20:30;May-Aug 8:00-21:30;May-Aug PH,Sa,Su 
> 9:00-21:30;Oct-Feb 8:00-17:45;Oct-Feb PH,Sa,Su 9:00-17:45;Oct 1-Oct 
> Su[-1] 8:00-19:30;Oct 1-Oct Su[-1] Sa,Su 9:00-19:30;Mar 1-Mar Su[-1] 
> 8:00-19:00;Mar 1-Mar Su[-1] PH,Sa,Su 9:00-19:00
>
> Notez que j'exploite le fait qu'il n'y a pas de jours fï¿œriï¿œs en octobre 
> (autres candidats : septembre et fᅵvrier). Mais j'ai quand mᅵme dᅵ 
> faire 
> l'impasse sur le 0 initial des heures d'ouverture pour que ï¿œa tienne en 
> 251 caractï¿œres.
>
> Est-ce catastrophique ?
> Quelqu'un a-t-il des idï¿œes pour compresser la chose ?

En utilisant les particularitï¿œs des sï¿œparateurs de rï¿œgles, et un ordre
particulier, j'ai cette expression d'opening_hours qui comporte 161
caractï¿œres :

08:00-17:45; PH,Sa,Su 08:00-09:00 off, Mar 01-Mar Su[-1] 17:45-19:00,
Oct 01-Oct Su[-1] 17:45-19:30, Mar Su[-1]-Apr 30,Sep 17:45-20:30, May
01-Aug 31 17:45-21:30

Je crois qu'elle est valide.

Megan Parat.


___
Talk-fr mailing list
Talk-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr