Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] analyse merge sirene #338

Closed
wants to merge 1 commit into from
Closed

Conversation

nlehuby
Copy link
Member

@nlehuby nlehuby commented Oct 1, 2018

Bonjour,

j'ai fait cet été quelques tests d'intégration de la base SIRENE en repartant de l'analyse non activée déjà existante.

J'ai désactivé la conflation sur le numéro SIRET : en effet, il est difficile à contribuer sur le terrain (pas facile à obtenir pour un contributeur, pas présent dans les applications de contribution, etc) et très peu renseigné aujourd'hui.

En conséquence, j'ai limité l'analyse merge pour ne rechercher que des éléments manquants dans OSM mais qui, d'après la base SIRENE, existent (ce qui me semble être déjà un incrément fonctionnel acceptable).

Les résultats obtenus sont très mitigés :
J'ai pu identifier avec cette analyse des zones où des POIs étaient effectivement manquants dans OSM 👍

Mais souvent, la qualité de la base SIRENE (qui n'est pas vraiment une base géolocalisée et pas vraiment non plus une base de POI) fait défaut et de très nombreux faux positifs remontent :
j'ai trouvé des commerces dans la base SIRENE à plus de 200 mètres de leur position réelle, et d'autres qui ne me semblent correspondre à rien d'existant sur le terrain.

Je ne sais pas trop quelle suite donner à cela, mais je me suis dit que le retour d'expérience pouvait peut-être être utile 😉

@@ -62,18 +65,18 @@ def __init__(self, config, error_file, logger, classs, title, selectTags, genera
select = Select(
types = ['nodes', 'ways'],
tags = selectTags),
osmRef = "ref:FR:SIRET",
#osmRef = "ref:FR:SIRET",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please rebase. It's was already disabled.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

@frodrigo
Copy link
Member

frodrigo commented Oct 1, 2018

Oui c'est assez mitigé. C'est pour ça que ça n'a pas encore était activé.
Je n'ai pas fait moi même de validation terrain.
Le pari était que c'était peut être utilisable pour certain type d'activités.

cc @cquest

only keep those who are missing from OSM
@Marc-marc-marc
Copy link
Contributor

idées fonctionnelles (=sans avoir passé des heures à lire le code) :

dans un premier temps matcher ceux dont le nom par exemple correspond ou est très approchant ou lorsque siret est présent, pouvoir ajouter siren ou inversement

parce que dans un 2ieme temps, je vois bien l'intérêt d'avoir un outil qui dit "tel poi n'a de nom dans osm, voici une liste des possibles selon sirene" : cela évite sur le terrain d'avoir à écrire (avec le risque de typo) une info disponible dont il ne faut que confirmer quel match est bon ou pas. (c'est je supose le but de ce PR)

cela permet après dans un 3ieme temps de détecter (même si sirene est "lent") que tel magasin est probablement fermé ou a déménagé

@cquest
Copy link
Contributor

cquest commented Nov 15, 2018

Je refais une petite passe sur SIRENE... je suis en plein dedans depuis plusieurs semaines en dehors d'OSM ;)

On a aussi depuis cet automne de nouvelles données disponibles: la partie historique de SIRENE (entreprises et établissements fermés), qui permet de régler certains problèmes.

SIRENE peut servir à plusieurs niveaux:

  • détecter des manques dans OSM
  • détecter des données obsolètes dans OSM (établissement fermé dans SIRENE)
  • compléter/mettre à jour ce qui est dans OSM (rejouter le nom manquant ou le mettre à jour si il a changé, etc)

Ce qui est "lent" dans SIRENE:

  • les fermetures d'entreprises

Ce qui n'est pas forcément fiable:

  • l'adresse ne correspond parfois pas au lieu réel d'activité
  • le code activité n'est pas toujours le plus adapté
  • le code activité n'est pas le même niveau de détail que dans OSM (parfois plus détaillé, parfois moins)

Je commencerai pas des choses simples: les commerces.
Proposer:

  • d'ajouter des commerces manquantes,
  • de supprimer ceux fermés,
  • de déplacer ceux qui ont déménagé,
  • de compléter les noms manquants (mais ils sont en MAJUSCULE* dans SIRENE)

On peut s'appuyer sur la version que je géocode chaque mois, ça évite de refaire ce gros boulot !

Je pensais aussi à une analyse plus "meta" du genre comparer le nombre de boulangeries dans SIRENE et OSM sur le territoire d'une commune... un peu comme ce que je faisais avec "etat-commune" et signaler par commune là où on a un écart.
Hors osmose, un flux (RSS ou autre) avec les ouvertures/fermetures/déménagements/changement de noms permettrait une sorte de surveillance locale...

  • pour les noms en majuscule sans accent, j'ai écrit un petit module python pour réaccentuer du texte. Il s'appuie sur un dictionnaire français + des doublets de mots (textes issus de wikipedia-fr).
    A tester, y compris dans d'autres cas. Il est ici: https://github.com/cquest/reaccentue

@nlehuby
Copy link
Member Author

nlehuby commented Nov 17, 2018

Merci Christian pour ce retour intéressant.
Du coup, j'ai l'impression qu'on y gagnerait quand même à activer ce qu'on a déjà, pour détecter les commerces manquants et obtenir des premières stats de complétude.

Puis, en attendant de se faire un outil dédié plus spécifique, on peut se prévoir plus tard

  • d'affiner le mapping pour ne conserver que ceux sur lesquels on n'a pas de soucis et où il y a une correspondance fiable entre le code activité et OSM
  • de faire une recapitalisation propre des noms

@Marc-marc-marc
Copy link
Contributor

oui ce serrait agréable d'activer au moins une partie
particulièrement un premier bout pourrait être l'ajout d'info manquante (par ex les poi sans nom).
et à cette occasion ajouter siren/siret (pour détecter + tard leur fermeture/déménagement)

@frodrigo
Copy link
Member

Ok, I cherry-picked the commit.

@frodrigo
Copy link
Member

Updated
http://osmose.openstreetmap.fr/en/errors/?item=8310&useDevItem=all
http://osmose.openstreetmap.fr/en/errors/graph.png?item=8310&useDevItem=all

@nlehuby
Copy link
Member Author

nlehuby commented Jun 1, 2019

C'est activé que dans le Vaucluse ?

@frodrigo
Copy link
Member

frodrigo commented Jun 1, 2019

Oui

@frodrigo
Copy link
Member

frodrigo commented Jun 1, 2019

Require to switch data source to http://data.cquest.org/geo_sirene/v2019/last/dep/

frodrigo added a commit to frodrigo/osmose-backend that referenced this pull request Jun 3, 2019
jocelynj added a commit that referenced this pull request Jun 3, 2019
* frodrigo/master:
  Remove not used data files
  Data source of analyser_merge_shop_FR from data.cquest.org #338
  Support gzip source in Analyser_Merge
  Set correct max_puissance filter in analyser_merge_power_plant_FR #510
  Allow check for tag 'FIXME' in TagRemove_Fixme #520
@frodrigo
Copy link
Member

frodrigo commented Jun 6, 2019

Utilisation du geo sirene avec mise à jour automatique en place.

frodrigo added a commit to frodrigo/osmose-backend that referenced this pull request Jun 9, 2019
jocelynj added a commit that referenced this pull request Jun 9, 2019
* frodrigo/master:
  Use remote data source for analyser_merge_heritage_FR_merimee
  Refactoring of Geocoding with Addok
  Make more and generic analyser_merge_shop_FR #338
  config: Move merge_shop_FR to Vaucluse
frodrigo added a commit to frodrigo/osmose-backend that referenced this pull request Jun 11, 2019
frodrigo added a commit to frodrigo/osmose-backend that referenced this pull request Jun 17, 2019
jocelynj added a commit that referenced this pull request Jun 17, 2019
* frodrigo/master:
  Fix config of country in Name_UpperCase
  Ignore camp_type/lamp_type in analyser_osmosis_tag_typo #534
  Ignore Inventaire in analyser_merge_heritage_FR_merimee #517
  Better select in analyser_merge_shop_FR & move mapping to json #338
  Fuzzy geocoding results at municipality level in analyser_merge_power_plant_FR #510
  Fix bbox size in Analyser_Merge #523
  Fix logger param in Analyser_Merge / Analyser_Merge_Mapillary
@frodrigo
Copy link
Member

Les données sont à jour avec le dernier code. Il ne reste plus beaucoup de chose, mais ça semble assez bon. Prochaines étapes :

  • valider ce qu'il y a sur le Vaucluse, remonter les positifs pour améliorer le mapping des tags OSM
  • puis déployer sur tous les départements
  • reboucler sur les tags
  • rendre l'analyse publique
  • rajouter plus de tags

frodrigo added a commit to frodrigo/osmose-backend that referenced this pull request Jun 22, 2019
frodrigo added a commit to frodrigo/osmose-backend that referenced this pull request Jun 22, 2019
@deuzeffe
Copy link
Contributor

Hello,
Je suis en train de regarder (enfin !) https://github.com/osm-fr/osmose-backend/blob/master/merge_data/shop_FR.mapping.json :

  1. existant
  • ligne 502, pour amenity=pharmacy -> doublon avec items 8210 et 8211§ ?
  • ligne 713, pour office=surveyor -> existe aussi office=geodesist (un peu moins fréquent d'après TagInfo) ;
  • ligne 787, pour amenity=hospital -> doublon avec 8330 et 8331§ ?

§ peut-être que quand on aura bossé sérieusement sur FINESS avec @vinber, les analyses de Sirène sur les établissements de santé/social (hébergements) pourront aller ailleurs ?

  1. manques :
  • Classe 47.52 : Commerce de détail de quincaillerie, peintures et verres en magasin spécialisé -> shop=doityourself ?
  • Sous-classe 47.54Z : Commerce de détail d'appareils électroménagers en magasin spécialisé -> shop=appliance ?
  • Sous-classe 68.31Z : Agences immobilières -> office=estate_agent
  • Sous-classe 65.12Z : Autres assurances -> office=insurance
    ...
    on pourrait continuer encore pas mal sur les office=*, c'est toi qui dis.

Je ne sais pas si c'est le type d'avis que tu attendais, mais c'est le mien ;)
N'hésite pas à réclamer !

@deuzeffe
Copy link
Contributor

J'ai vaguement regardé dans le Vaucluse (mais c'est trop loin pour que je fasse du contrôle qualité valable ^^) : dans les presets, pas de SIREN/SIRET/NAF, c'est voulu, le suppose ?

jocelynj added a commit that referenced this pull request Jun 23, 2019
* frodrigo/master:
  Update mapcss parser to support new operators
  Clean unussed split in analyser_osmosis_highway_floating_islands
  Revert to full linestring to avoid false positive in analyser_osmosis_highway_floating_islands #541
  Clean code in analysers/analyser_osmosis_highway_floating_islands
  Also support natural=water + water=fjord|harbour in analyser_osmosis_water #448
  Restrict analyser_osmosis_soundex to latin script #525
  Generalize merge_shop_FR in France #338
  Include construction in factorized table highway #514 #506
  Support area in factorized osmosis table highway #518
  Merge shop within 20m #338
@frodrigo
Copy link
Member

frodrigo commented Jun 24, 2019

Mise à jour en cours sur toute la France, DOM compris, sauf Paris.
http://osmose.openstreetmap.fr/en/errors/?item=8310&useDevItem=all

Dernière remarques de @deuzeffe non prise en compte.

@frodrigo
Copy link
Member

@deuzeffe c'était pas tout à fait ça, mais pas loin ;-). On rajoutera plus de classes quand on saura que ça marche. Pareil pour les SIRET. Avec la généralisation à tous les départements ça va être plus simple.

C'est surtout les faux positifs qu'il faut remonter, mauvais tags, ou en doublon dans OSM car utilisé d'autres tags.

Pour 8210 et 8211 et 8330 et 8331, ce n'est pas des doublons, c'est une autre analyse qui apporte d’autres chose. Par contre dans la réorganisation pour opendata.osmose.osm.fr ça va aller dans le même item.

@althio
Copy link

althio commented Jul 17, 2019

https://www.openstreetmap.org/node/4086589618

name = Yves Rocher
shop = beauty

47.75Z, Commerce de détail de parfumerie et de produits de beauté en magasin spécialisé non intégré

Je pense que ce n'est pas bon dans OSM. C'est une boutique, pas des soins.

Oui, d'accord avec toi que le tag n'est peut-être pas bon dans OSM.

Du coup, (grosse) question pour Osmose :
Peut-on faire le rapprochement (avec nom + géoloc), faire la conflation (malgré le mauvais tag) et proposer un changement de tag sur le noeud déjà existant ? Au lieu de créer un doublon, il vaut mieux corriger le point existant.

@frodrigo
Copy link
Member

Peut-on faire le rapprochement (avec nom + géoloc), faire la conflation (malgré le mauvais tag) et proposer un changement de tag sur le noeud déjà existant ? Au lieu de créer un doublon, il vaut mieux corriger le point existant.

Non la conflation d'Osmose ne se fait que sur une suele jointure, ici le tag. En plus pour le nom il peut y avoir des variantes.

@lmagreault
Copy link

lmagreault commented Jul 17, 2019

J'ai une erreur 404 en cliquant sur le lien ref:FR:SIRET de l'infobulle.
Ex : http://avis-situation-sirene.insee.fr/avisitu/AvisPdf.do?nic=00016&siren=352840581

@frodrigo
Copy link
Member

J'ai une erreur en cliquant sur le lien ref:FR:SIRET de l'infobulle.

Oui, je l'ai dis dans mon message plus haut, il faut trouver une autre URL.

jocelynj added a commit that referenced this pull request Jul 17, 2019
* frodrigo/master:
  Speed up with spatial index in analyser_osmosis_relation_public_transport
  Avoid null geom from analyser_osmosis_relation_public_transport
  More tags in shop_FR.mapping.json #338
  Add seamark:type as main tag in TagFix_MultipleTag #562
  + various commits to fix duplicates for #560
@frodrigo
Copy link
Member

tag2link mis à jour, patch également proposé à JOSM JOSM/josm-plugins#13

@frodrigo
Copy link
Member

frodrigo commented Jul 18, 2019

  • Boulangerie et boulangerie-pâtisserie, "shop": "bakery" et ajout de "shop": "pastry"
  • Commerce de détail de boissons en magasin spécialisé, "shop": "beverages" et ajout de "shop": "alcohol"
  • Commerce de détail de textiles en magasin spécialisé, "shop": "fabric" et ajout de "shop": "wool" et "shop": "household_linen"
  • Commerce de détail de parfumerie et de produits de beauté en magasin spécialisé, "shop": "perfumery" et "shop": "cosmetics", ajout de "shop": "chemist"

@frodrigo
Copy link
Member

frodrigo commented Jul 29, 2019

TODO

  • 47.21Z, Commerce de détail de fruits et légumes en magasin spécialisé non intégré --> ajouter shop=deli
  • faire comme si restaurant=fast_food
  • 55.10Z, Hôtels et hébergement similaire non intégré --> ffiltrer sur trancheEffectifs.

frodrigo added a commit to frodrigo/osmose-backend that referenced this pull request Aug 3, 2019
frodrigo added a commit to frodrigo/osmose-backend that referenced this pull request Aug 7, 2019
jocelynj added a commit that referenced this pull request Aug 7, 2019
* frodrigo/master:
  With list loc_ref and lock_ref in analyser_osmosis_tag_typo #581
  Add name as subtile in Name_Initials #580
  With list static_caravans and static_caravan in analyser_osmosis_tag_typo #574
  Add mot tags to match in shop_FR.mapping.json #338
  Avoid issues on relation less geom into analyser_osmosis_boundary_relation
@frodrigo
Copy link
Member

frodrigo commented Aug 8, 2019

Dernière modif en place:

  • 47.21Z, Commerce de détail de fruits et légumes en magasin spécialisé non intégré --> ajouter shop=deli
  • faire comme si restaurant=fast_food
  • 55.10Z, Hôtels et hébergement similaire non intégré --> ffiltrer sur trancheEffectifs.

@frodrigo frodrigo changed the title analyse merge sirene [WIP] analyse merge sirene Sep 15, 2019
@frodrigo
Copy link
Member

frodrigo commented Apr 9, 2020

@vinber
Copy link
Contributor

vinber commented Apr 10, 2020

merci, j'ai effacé mon précédent message car je ne suis tombé que sur des POI qui n'avaient pas de nom, mais je viens de tomber sur certains qui avaient des name, donc il doit y avoir de nombreux commerces sans nom en fait !

@frodrigo
Copy link
Member

Des entreprises unipersonnelles en nom propre.

@nuxper
Copy link

nuxper commented Apr 10, 2020

Bonjour,
Merci !!
Rien n'apparait juste sur la ville de Lyon. Je vois plein de notifications tout autour en revanche. Il y a une raison ?
http://osmose.openstreetmap.fr/fr/map/#item=8310&level=1%2C2%2C3&zoom=14&lat=45.75333&lon=4.84136&tags=&fixable=

@frodrigo
Copy link
Member

Je ne sais pas, regarde dans le fichier source ce qu'il y a. Peut être une histoire de Lyon n'est pas dans le département...

@nuxper
Copy link

nuxper commented Apr 10, 2020

J'ai essayé:

J'ai trouvé un magasin par edemple:

  • siret 45650160000237 par exemple 17 rue des archers 69002
  • J'ai regardé les champs du fichiers : il est marqué actif, et ses coordonnées ont l'air ok
    Le magasin existe dans osm mais sans siret et le nom n'est pas exactement le même.

@frodrigo
Copy link
Member

Osmose utlise bien la bonne relation pour les limites du département. L'analyse ignore la manque de SIRET, c'est juste proposé lors de l'ajout.
C'est la même chose à Marseille, ça doit avoir un lien avec les arrondissements. (Paris n'est pas supporté)

@nuxper
Copy link

nuxper commented Apr 11, 2020

Sur Lyon ça semble du au fait que les geo_score est toujours inférieur à 0.9. Tu aurais une idée pourquoi ?
La valeur 0.9 dans l'analyser correspond à quelquechose de précis ?
Merci ;)

@frodrigo
Copy link
Member

C'est un score pour s'assurer de la bonne qualité de la position. Le fait que la ville a des arrondissements doit faire baisser le score. Il faudrait voir ça avec @cquest qui géocode le fichier.

@nuxper
Copy link

nuxper commented Apr 13, 2020

J'ai fait quelques tests en baissant à 0,5 sur une instance locale et ça confirme effectivement que c'est le problème. J'ai jeté un coup d'oeil à addok pour essayer de comprendre d'où ça vient mais là ça devient un peu trop obscure pour moi ;)
En attendant je propose une PR pour quelques adaptations sur le mapping suite à mes premières analyses. J'espère suivre à peu pret correctement le process, n'hésitez pas à me corriger ;)

@frodrigo
Copy link
Member

Tu peux regarder à combien sont les valuers ? On peut peut-être baisser à 0.85, mais il fat aller plus bas que 0.8 ou 0.7.

@nuxper
Copy link

nuxper commented Apr 13, 2020

J'ai sorti les stats pour le Rhone.
En dehors de Lyon, 0.8 serait probablement une bonne limite.
Sur Lyon intramuros le score diminue drastiquement de 0.3 environ. @cquest si tu nous entend ;)
Sans nom 1

@frodrigo
Copy link
Member

Ok merci. C'est problématique, il faut voir du coté du géocodage.

@frodrigo frodrigo closed this May 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants