ça parle beaucoup des bus, des bus à rennes en plus où il existe en open
data la position de tous les arrêt ici
https://data.rennesmetropole.fr/explore/dataset/topologie-des-points-darret-de-bus-du-reseau-star/
les données ont l'air très bonne, en regardant avec la photo aérienne les
coordonnées ont l'air très bonne (a 2 mètre près des fois), il y a les noms
( là il y a un petit soucis : les accents sur les lettre majuscule n'existe
pas comme pour Eglise) l’accès pmr et la présence d'abris sont indiqués.
ça pourrait être pas mal de pouvoir les intégrer avec osmose.

En me basant sur les exemples ici
https://github.com/osm-fr/osmose-backend/tree/master/analysers
je dirais qu'il faudrait créer un test comme ça :

#!/usr/bin/env python
#-*- coding: utf-8 -*-

from Analyser_Merge import Analyser_Merge, Source, CSV, Load, Mapping,
Select, Generate


class Analyser_Merge_Public_Transport_FR_Star(Analyser_Merge):
    def __init__(self, config, logger = None):
        self.missing_official = {"item":"8040", "class": 71, "level": 3,
"tag": ["merge", "public transport"], "desc": T_(u"Star stop not
integrated") }
        self.possible_merge   = {"item":"8041", "class": 73, "level": 3,
"tag": ["merge", "public transport"], "desc": T_(u"Star stop, integration
suggestion") }
        self.update_official  = {"item":"8042", "class": 74, "level": 3,
"tag": ["merge", "public transport"], "desc": T_(u"Star stop update") }
        Analyser_Merge.__init__(self, config, logger,
            "
https://data.rennesmetropole.fr/explore/dataset/topologie-des-points-darret-de-bus-du-reseau-star
",
            u"Topologie des points d'arrêt de bus du réseau STAR",
            CSV(Source(attribution = u"Keolis Rennes", millesime = "2016",
                    fileUrl = "
https://data.rennesmetropole.fr/explore/dataset/topologie-des-points-darret-de-bus-du-reseau-star/download/?format=csv&timezone=Europe/Berlin&use_labels_for_header=true
")),
            Load(lambda res: res['Coordonnées'].split(' - ')[1].strip(),
lambda res: res['Coordonnées'].split(' - ')[0].strip()),
            Mapping(
                select = Select(
                    types = ["nodes", "ways"],
                    tags = {"highway": "bus_stop"}),
                osmRef = "ref:FR:Star",
                conflationDistance = 10,
                generate = Generate(
                    static1 = {
                        "highway": "bus_stop",
                        "public_transport": "stop_position",
                        "bus": "yes",
                        "network": "Star"},
                    static2 = {"source": self.source},
                    mapping1 = {
                        "ref:FR:Star": "Code",
                        "name": "Nom",
                        "wheelchair": "Accessible aux PMR",lambda res:
"yes" if res["Accessible aux PMR"]=="true" else "no" if res["Accessible aux
PMR"]=="false" else None
                        "shelter": lambda res: "yes" if res["Mobilier"] and
"Abris" in res["Mobilier"] else "no" if res["Mobilier"]=="Poteau" else
None},
                    text = lambda tags, fields: {"en": u"Star stop of %s" %
fields["Nom"], "fr": u"Arrêt Star de %s" % fields["Nom"]} )))


c'est à peu près la même chose que ce qui a été fait pour d'autres réseaux
de bus (comme à bordeau).
Je suis pas très doué en codage donc il peut y avoir des erreurs (en fait
il y en a sûrement :) ).

il y a aussi en open data les trajets des bus mais c'est plus compliqué à
intégrer. (sûrement même impossible avec osmose)

Les positions des arrêts de bus existe aussi pour paris :
http://data.ratp.fr/explore/dataset/positions-geographiques-des-stations-du-reseau-ratp/?disjunctive.stop_name&disjunctive.code_postal&disjunctive.departement
par contre (en regardant très rapidement) les coordonnées je suis pas sur
quelles soient très bonnes.

pour Lyon :
http://data.grandlyon.com/equipements/points-darrft-du-rfseau-tcl/

et peut être ailleurs
_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr

Répondre à