Re: [OSM-talk-fr] pharmacie, dispensing

2014-11-01 Par sujet Yves Pratter
 Elle devrait être ' \b[P|p]harmacie\b http://regexr.com/39r2h’ mais 
 overpass ne supporte pas les \b.
Oui, overpass utilise les expressions rationnelles posix, donc pas moyen de 
chercher les débuts ou fins de mots :-(
J’ai écrit un ticket https://github.com/drolbr/Overpass-API/issues/146 
proposant d’utiliser la bibliothèque de code PCRE (utilisée par PHP, R…).
Les expressions sont compatibles avec celles de Javascript, Perl…

 D’ailleurs je ne sais pas si et  comment on peut lui passer des flags i 
 (ignore case) g (global) et m (multiline).
 Des pistes ?
En étudiant le code source, il est possible d’utiliser l’option « ignorer la 
casse » mais uniquement en Overpass-XML :

  has-kv k=name regv=pharmacie case=ignore »/

Cette expression trouvera « Pharmacie », « PHARMACIE », « pharmacie »…

—
Yves



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


Re: [OSM-talk-fr] pharmacie, dispensing

2014-11-01 Par sujet Jérôme Seigneuret
En étudiant le code source, il est possible d’utiliser l’option « ignorer
la casse » mais uniquement en Overpass-XML :

  has-kv k=name regv=pharmacie *case=ignore »*/

Nonnonon :-) Le flag ignorecase se met avec une *,i* derrière voir le code
en dessous. il n'y a pas d'échappement car celui-ci et fait dans le code.
Pour le multiligne c'est pas accepté dans les valeurs et pour prendre
généralement tu commeces par ^ et fini par $.

La requête renvoie toute les noms commençant par pharmacie et (sans
contrainte de case) et dispensing=no

[out:json][timeout:250];
// gather results
(
  // query part for: “dispensing=no” and name~(^pharmacie)(.*$)*,i*
  node[dispensing=no][name~(^pharmacie)(.*$)*,i*]({{bbox}});
  node[dispensing=no][name~(^pharmacie)(.*$)*,i*]({{bbox}});
  node[dispensing=no][name~(^pharmacie)(.*$)*,i*]({{bbox}});
);
// print results
out body;
;
out skel qt;

Je teste un autre requête ce soir pour compléter les cas invalides



Le 1 novembre 2014 10:16, Yves Pratter yves.prat...@gmail.com a écrit :

 Elle devrait être ' \b[P|p]harmacie\b http://regexr.com/39r2h’ mais
 overpass ne supporte pas les \b.

 Oui, overpass utilise les expressions rationnelles posix, donc pas moyen
 de chercher les débuts ou fins de mots :-(
 J’ai écrit un ticket https://github.com/drolbr/Overpass-API/issues/146 
 proposant
 d’utiliser la bibliothèque de code PCRE (utilisée par PHP, R…).
 Les expressions sont compatibles avec celles de Javascript, Perl…

 D’ailleurs je ne sais pas si et  comment on peut lui passer des flags i
 (ignore case) g (global) et m (multiline).
 Des pistes ?

 En étudiant le code source, il est possible d’utiliser l’option « ignorer
 la casse » mais uniquement en Overpass-XML :

   has-kv k=name regv=pharmacie *case=ignore »*/

 Cette expression trouvera « Pharmacie », « PHARMACIE », « pharmacie »…

 —
 Yves




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


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


Re: [OSM-talk-fr] pharmacie, dispensing

2014-11-01 Par sujet Yves Pratter

 Nonnonon :-) Le flag ignorecase se met avec une ,i derrière voir le code en 
 dessous. il n'y a pas d'échappement car celui-ci et fait dans le code.
Merci, je n’avais pas repéré cette partie du code :-)

Donc en résumé, pour ignorer la casse dans une expression rationnelle dans 
Overpass, on utilise la syntaxe had hoc :
[‘clé’~’expression’,i]
has-kv k=« clé regv=« expression case=ignore »/

 La requête renvoie toute les noms commençant par pharmacie et (sans 
 contrainte de case) et dispensing=« no »
Il y a aussi les noms se terminants par pharmacie : « Grande pharmacie »

Une autre façon de faire, c’est de prendre les objets le nom contenant « 
pharmacie » puis d’exclure ceux qui contiennent « parapharmacie » (en attendant 
que les expressions Perl soient utilisables)
node[dispensing=no][name~(pharmacie)(.*$),i][« name!~ 
»(parapharmacie)(.*$),i]({{bbox}});

 
 [out:json][timeout:250];
 // gather results
 (
   // query part for: “dispensing=no” and name~(^pharmacie)(.*$),i
   node[dispensing=no][name~(^pharmacie)(.*$),i]({{bbox}});
   node[dispensing=no][name~(^pharmacie)(.*$),i]({{bbox}});
   node[dispensing=no][name~(^pharmacie)(.*$),i]({{bbox}});
Tu recherches 3 fois la même chose ? ;-)

ça donne ça pour un export vers JOSM : http://overpass-turbo.eu/s/5II 
http://overpass-turbo.eu/s/5II

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


Re: [OSM-talk-fr] pharmacie, dispensing

2014-11-01 Par sujet Jérôme Seigneuret

 Donc en résumé, pour ignorer la casse dans une expression rationnelle dans
 Overpass, on utilise la syntaxe had hoc :

- [‘clé’~’expression’,i]
- has-kv k=clé regv=expression case=ignore /

 Je teste mes regex avec ce *site  http://regex101.com/#python en mode
python. *c'est une tuerie pour tester les chaines. tu peux y ajouter le
modifier i dans la 2eme textbox qui suit la chaine regex



 La requête renvoie toute les noms commençant par pharmacie et (sans
 contrainte de case) et dispensing=« no »

 Il y a aussi les noms se terminants par pharmacie : « Grande pharmacie »


Ah oui en effet


 Une autre façon de faire, c’est de prendre les objets le nom contenant
 « pharmacie » puis d’exclure ceux qui contiennent « parapharmacie » (en
 attendant que les expressions Perl soient utilisables)
 node[dispensing=no][name~(pharmacie)(.*$),i]
 [name!~(parapharmacie)(.*$),i]({{bbox}});


Oui c'est le seul moyen je pense car overpass n'accepte pas
l'assertion (negative
look-ahead (?!) )
*name~((pharmacie)(?!parapharmacie),i*
ca fonctionne pas cela!

  // query part for: “dispensing=no” and name~(^pharmacie)(.*$)*,i*
   node[dispensing=no][name~(^pharmacie)(.*$)*,i*]({{bbox}});
   node[dispensing=no][name~(^pharmacie)(.*$)*,i*]({{bbox}});
   node[dispensing=no][name~(^pharmacie)(.*$)*,i*]({{bbox}});

 Tu recherches 3 fois la même chose ? ;-)


Euh je crois que j'ai oublié de changer en *way *et *relation *suite à ma
copie



 ça donne ça pour un export vers JOSM : http://overpass-turbo.eu/s/5II

 Oui sauf que j'avais en effet fait ça on pensant avoir toujours le mot
pharmacie au début
[dispensing=no][name~pharmacie,i][name!~parapharmacie,i]

C'est suffisant


 —
 Yves

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


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


Re: [OSM-talk-fr] pharmacie, dispensing

2014-11-01 Par sujet Yves Pratter
 Je teste mes regex avec ce site  http://regex101.com/#python en mode 
 python. c'est une tuerie pour tester les chaines. tu peux y ajouter le 
 modifier i dans la 2eme textbox qui suit la chaine regex
Ben moi j’utilise ces 2 là :
http://www.regexr.com http://www.regexr.com/
https://www.debuggex.com https://www.debuggex.com/
Le second fait un joli graphique de l’expression ;-)

Le tient affiche le détail de \b c’est 
 (^\w|\w$|\W\w|\w\W)

aagg

 c'est une tuerie pour tester les chaines
C’est la citation pour halloween ou pour la Toussaint ?? :-D

 Oui c'est le seul moyen je pense car overpass n'accepte pas l'assertion 
 (negative look-ahead (?!) )
C’est les ERE POSIX qui n’acceptent pas ça ;-)

 name~((pharmacie)(?!parapharmacie),i
 ca fonctionne pas cela! 
Faudrait essayer avec 
 (^\w|\w$|\W\w|\w\W)pharmacie

 C'est suffisant
Oh oui…

Bonne nuit,

—
Yves

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


Re: [OSM-talk-fr] pharmacie, dispensing

2014-10-31 Par sujet althio
Une nouvelle recherche m'a montré vos discussions plus récentes :

2013-07
http://gis.19327.n5.nabble.com/Osmose-et-les-pharmacies-td5769488.html

2014-07
http://gis.19327.n5.nabble.com/Osmose-Pharmacies-changement-massifs-td5812048.html

Donc le cas amenity=pharmacy + dispensing=no est déjà pris en compte dans
Osmose.
Et d'autres que moi ont eu l'idée de faire des corrections, certains ont
même fait des changesets massifs.



--
View this message in context: 
http://gis.19327.n5.nabble.com/pharmacie-dispensing-tp5404710p5822488.html
Sent from the France mailing list archive at Nabble.com.

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


Re: [OSM-talk-fr] pharmacie, dispensing

2014-10-31 Par sujet Yves Pratter

 Le 31 oct. 2014 à 09:36, althio althio.fo...@gmail.com a écrit :
 
 Et d'autres que moi ont eu l'idée de faire des corrections, certains ont
 même fait des changesets massifs.

Je ne sais pas si c’est une bonne idée.
Le changement automatique devrait-être fait en croisant les données utilisées 
par Osmose pour éviter des erreurs.

J’ai trouvé quelques pharmacies qui n’en sont pas (liste non exhaustive)  : 
http://oapi-fr.openstreetmap.fr/xapi/xapi?*[dispensing%3Dno] 
http://oapi-fr.openstreetmap.fr/xapi/xapi?*%5Bdispensing=no%5D

http://www.openstreetmap.org/node/307770427 
http://www.openstreetmap.org/node/307770427 cabinet de soins infirmiers
http://www.openstreetmap.org/node/658725387 
http://www.openstreetmap.org/node/658725387 Parapharmacie
http://www.openstreetmap.org/node/671465779 
http://www.openstreetmap.org/node/671465779 Une vraie pharmacie mais avec 
l’attribut « droguerie » 

Il y a seulement 2 pharmacies avec un code FINESS et l’attribut dispensing=no :
http://www.openstreetmap.org/node/558165381 
http://www.openstreetmap.org/node/558165381
http://www.openstreetmap.org/node/560110766 
http://www.openstreetmap.org/node/560110766

J’ai fait une requête avec des expressions régulières pour trouver les noms « 
Pharmacie » ou « pharmacie » : http://overpass-turbo.eu/s/5I5 
http://overpass-turbo.eu/s/5I5
On trouve 686 nœuds et 49 polygones.

/*
This query looks for nodes, ways and relations 
with the given key/value combination.
Choose your region and hit the Run button above!
*/
[out:json][timeout:250];
// gather results
(
  // query part for: “dispensing=no”
  node[dispensing=no][name~[P|p]harmacie]({{bbox}});
  way[dispensing=no][name~[P|p]harmacie]({{bbox}});
  relation[dispensing=no][name~[P|p]harmacie]({{bbox}});
);
// print results
out body;
;
out skel qt;

—
Yves


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


Re: [OSM-talk-fr] pharmacie, dispensing

2014-10-31 Par sujet Pieren
2014-10-31 9:36 GMT+01:00 althio althio.fo...@gmail.com:

 Donc le cas amenity=pharmacy + dispensing=no est déjà pris en compte dans
 Osmose.

Je réitère ce que j'avais dit à l'époque. Les parapharmacies ne sont
pas des pharmacies et il faudrait réserver le tag amenity=pharmacy
aux seules vraies pharmacies (donc uniquement avec dispensing=yes). Ce
qui est moins clair actuellement, c'est comment tagguer les
parapharmacies.

Pieren

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


Re: [OSM-talk-fr] pharmacie, dispensing

2014-10-31 Par sujet Jérôme Seigneuret
Comme le dis Pieren
Normalement les pharmacies tel qu'on les appelle couramment sont des
*Pharmacie
d'officine* dont l'activité est encadré. Donc, en France une pharmacie
c'est ça:

*amenity=pharmacy*
*dispensing=yes*

Normalement toutes ont un code *FINESS* dont la catégorie est [620]
Pharmacie d'Officine
Voir:
http://wiki.openstreetmap.org/wiki/FR:Key:type:FR:FINESS

*type:FR:FINESS=620 *
inutile de le mentionné car il n'y a qu'un seul type de référence pour les
pharmacie est c'est donc implicite.

*ref:FR:FINESS http://wiki.openstreetmap.org/wiki/FR:Key:ref:FR:FINESS=**
Permet de faire le lien avec le référentiel FINESS. Mais sinon il y a le
registre du commerce et des sociétés pour faire le lien avec le code NAF 47.73Z
(texte sur LégiFrance
http://legifrance.gouv.fr/affichIDCC.do?idSectionTA=KALISCTA05748204cidTexte=KALITEXT05671152idConvention=KALICONT05635528dateTexte=29990101)
anciennement 52.3A

*REMARQUE:*
Les pharmacies aillant une réf. FINESS font l'objet d'une proposition
d'intégration par OSMOSE. Malheureusement, si l'adresse n'est pas bien
défini dans FINESS (erreur de nom de rue, manque du numéro ou autre) ou si
coté OSM il n'y a pas d'info correcte pour permettre un rapprochement, les
pharmacie ne seront pas proposé à l'intégration ou ne seront pas
positionnées correctement lors du géocodage.

*ATTENTION:*
Il y a cependant un texte de loi vise à ouvrir à la concurrence la
délivrance de médicament (parapharmacie et grande surface) pour
les médicaments sans ordonnance obligatoire. Dans ce cas nous nous
retrouverons dans les même condition qu'au USA et autres et donc à avoir le
cas suivant:

*amenity=pharmacy*
*dispensing=no*

A vérifier dans le future. Pour le moment toutes les parapharmacie sont(ou
doivent être) :
shop=chemist

D'ailleurs il n'y a pas de base pour les parapaharmacies juste des
documents comme sur cette page :
http://www.comprendreladistribution.com/circuits-de-distribution/distribution-de-cosm%C3%A9tiques-parfumerie-parapharmacie/distribution-de-parapharmacie/

Reste le cas:
- des propharmaciens (médécin autorisé à distribuer des médicaments avec
dérogation)
- des herboristes
- des officines d’homéopathie
- des pharmacies vétérinaire

Le 31 octobre 2014 11:06, Pieren pier...@gmail.com a écrit :

 2014-10-31 9:36 GMT+01:00 althio althio.fo...@gmail.com:

  Donc le cas amenity=pharmacy + dispensing=no est déjà pris en compte
 dans
  Osmose.

 Je réitère ce que j'avais dit à l'époque. Les parapharmacies ne sont
 pas des pharmacies et il faudrait réserver le tag amenity=pharmacy
 aux seules vraies pharmacies (donc uniquement avec dispensing=yes). Ce
 qui est moins clair actuellement, c'est comment tagguer les
 parapharmacies.

 Pieren

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

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


Re: [OSM-talk-fr] pharmacie, dispensing

2014-10-31 Par sujet Yves Pratter

 Le 31 oct. 2014 à 10:21, Yves Pratter yves.prat...@gmail.com a écrit :
 
 J’ai fait une requête avec des expressions régulières pour trouver les noms « 
 Pharmacie » ou « pharmacie » : http://overpass-turbo.eu/s/5I5 
 http://overpass-turbo.eu/s/5I5
 On trouve 686 nœuds et 49 polygones.
 
Voici une requête qui cherche les parapharmacies contenant le nom pharmacie : 
http://overpass-turbo.eu/s/5Il http://overpass-turbo.eu/s/5Il
nœuds: 499, chemins: 45, relations: 1

Il y a de vraies pharmacies avec seulement shop=chemist 
http://www.openstreetmap.org/node/2108069584 
http://www.openstreetmap.org/node/2108069584
la même avec dispensing=no http://www.openstreetmap.org/node/2080309580 
http://www.openstreetmap.org/node/2080309580
shop=chemist et dispensing=yes http://www.openstreetmap.org/node/2372130003 
http://www.openstreetmap.org/node/2372130003
des vraies avec amenity=pharmacy et shop=chemist 
http://www.openstreetmap.org/node/2078776257 
http://www.openstreetmap.org/node/2078776257
(en France les pharmacies font les 2 ? donc pas besoin de mettre shop=chemist 
??)

—
Yves

PS: l’expression régulière '[P|p]harmacie’ ne fonctionne pas complètement car 
elle ne rejette pas les noms « parapharmacie » 

Elle devrait être ' \b[P|p]harmacie\b http://regexr.com/39r2h’ mais overpass 
ne supporte pas les \b. D’ailleurs je ne sais pas si et  comment on peut lui 
passer des flags i (ignore case) g (global) et m (multiline).
Des pistes ?___
Talk-fr mailing list
Talk-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr


Re: [OSM-talk-fr] pharmacie, dispensing

2014-10-30 Par sujet althio
Ce sujet est vieux, mais je le ressors du placard.
La recherche m'a amené ici et je trouve intéressant de continuer la
discussion en place plutôt que d'ouvrir un nouveau sujet.


Un certain nombre de pharmacies portent un mauvais tag dispensing=no.
Il y a certains endroits où les singularités sont frappantes, par exemple ce
coin du 9e arrondissement de Paris :
http://overpass-turbo.eu/s/5Hf
Une dizaine dans cette zone.
Environ 50 dans Paris, plus de 100 en Île-de-France.

Pourtant il y a des vraies pharmacies dans ce lot de dispensing=no... avec
une enseigne PHARMACIE sans ambiguïté.
Ce qui en France équivaut directement à

http://wiki.openstreetmap.org/wiki/FR:How_to_map_a#Pharmacie wrote
 amenity=pharmacy
 + 
*
 dispensing=yes
*
 + name=*
 + opening_hours=*
 Commentaires:
 En France les pharmacies peuvent délivrer des médicaments nécessitant une
 ordonnance donc ajouter dispensing=yes


http://wiki.openstreetmap.org/wiki/FR:Tag:amenity%3Dpharmacy wrote
 Note : en France, toutes les pharmacies sont habilitées à délivrer des
 médicaments sur prescription. 
*
 Le tag amenity=pharmacy devrait toujours être accompagné de
 dispensing=yes
*
  dans ce pays.

De plus, on peut vérifier la présence d'un pharmacien diplômé dans
l'annuaire de l'Ordre national des pharmaciens.
http://www.ordre.pharmacien.fr/annuaire/etablissement
Je ne l'ai pas fait pour toutes les occurrences, mais je suis presque
persuadé que la majorité des tags dispensing=no sont à corriger en
dispensing=yes.

Une autre erreur possible est que la combinaison amenity=pharmacy +
dispensing=no soit utilisée pour une parapharmacie.
Dans ce cas, cela doit être corrigé en shop=chemist.
Mais chaque occurrence de dispensing=no en France est a priori une erreur.

Comment peut-on procéder pour vérifier et corriger efficacement ?


Pour mémoire, un extrait de la discussion initiale il y a quelques années :

Nicolas BALDECK wrote
 comment tagger un dépôt de médicaments? Un dépôt de médicaments est un
 magasin qui vend des médicaments mais n'a pas de pharmacien diplômé.
 
 Cette situation correspond justement précisément au tag dispensing=no.
 
 Attention : une parapharmacie en France ne vend pas de MEDICAMENTS  
 mais uniquement des produits d'hygiène, beauté, nutrition...
 
 Art Penteur a écrit :
 A votre avis, est-ce qu'on risque grand-chose à lancer un robot qui
 rajoute dispensing=yes à tous les POI amenity=pharmacy de France ?
 
 +1
 
 J'en profite pour aborder un autre point : en France, une pharmacie  
 est forcément propriété d'un pharmacien. [...]
 Notez qu'il existe un annuaire exhaustif des pharmacies de France sur  
 le site web de l'Ordre des pharmaciens.
 http://www.ordre.pharmacien.fr/





--
View this message in context: 
http://gis.19327.n5.nabble.com/pharmacie-dispensing-tp5404710p5822457.html
Sent from the France mailing list archive at Nabble.com.

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


Re: [OSM-talk-fr] pharmacie, dispensing=?

2009-11-05 Par sujet Tenshu
 OK, j'avais mal cherché, désolé.

Il y a pas de mal, avant ton message j'ignorais totalement l'existence
de ce tag.

-- 
Mon weblog - http://www.tenshu.fr/
Je soutiens le Logiciel Libre, j'adhère à l'APRIL !

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


Re: [OSM-talk-fr] pharmacie, dispensing=?

2009-11-05 Par sujet Art Penteur
Le 5 novembre 2009 20:03, Tenshu ten...@gmail.com a écrit :
 OK, j'avais mal cherché, désolé.

 Il y a pas de mal, avant ton message j'ignorais totalement l'existence
 de ce tag.

J'avoue que j'avais du lire des chose à son sujet, mais l'info utile
était restée qqpart dans le bnerf optique, et n'avait pas atteint le
cortex.

Test rapide à proximité de chez moi :
- une parapharmacie, qui n'a pas de POI
- sur 7 vraies pharmacies  : seules 2 ont l'attribut dispensing

A votre avis, est-ce qu'on risque grand-chose à lancer un robot qui
rajoute dispensing=yes à tous les POI amenity=pharmacy de France ?

Art.

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


Re: [OSM-talk-fr] pharmacie, dispensing=?

2009-11-05 Par sujet Eric Sibert
Autre pays, autres mœurs (et autre couverture sanitaire :-( ) :  
comment tagger un dépôt de médicaments? Un dépôt de médicaments est un  
magasin qui vend des médicaments mais n'a pas de pharmacien diplômé.



Eric


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