Re: [OSM-talk-fr] pharmacie, dispensing
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
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
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
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
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
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
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 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
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
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
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=?
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=?
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=?
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