source: osmose-backend/analysers/analyser_merge_ratp.py @ af4e049

Last change on this file since af4e049 was af4e049, checked in by Frédéric Rodrigo <frodrigo@…>, 5 years ago

Fix RATP error class

  • Property mode set to 100644
File size: 4.1 KB
Line 
1#!/usr/bin/env python
2#-*- coding: utf-8 -*-
3
4###########################################################################
5##                                                                       ##
6## Copyrights Frédéric Rodrigo 2012                                      ##
7##                                                                       ##
8## This program is free software: you can redistribute it and/or modify  ##
9## it under the terms of the GNU General Public License as published by  ##
10## the Free Software Foundation, either version 3 of the License, or     ##
11## (at your option) any later version.                                   ##
12##                                                                       ##
13## This program is distributed in the hope that it will be useful,       ##
14## but WITHOUT ANY WARRANTY; without even the implied warranty of        ##
15## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         ##
16## GNU General Public License for more details.                          ##
17##                                                                       ##
18## You should have received a copy of the GNU General Public License     ##
19## along with this program.  If not, see <http://www.gnu.org/licenses/>. ##
20##                                                                       ##
21###########################################################################
22
23import re
24from Analyser_Merge import Analyser_Merge
25
26
27class _Analyser_Merge_Ratp(Analyser_Merge):
28
29    create_table = """
30        id VARCHAR(254),
31        lon VARCHAR(254),
32        lat VARCHAR(254),
33        nom_station VARCHAR(254),
34        ville_cp VARCHAR(254),
35        reseau VARCHAR(254)
36    """
37
38    def __init__(self, config, logger, clas, select, osmTags, defaultTag):
39        self.missing_official = {"item":"8040", "class": 1+10*clas, "level": 3, "tag": ["merge", "railway"], "desc":{"fr":u"Station RATP non intégrée"} }
40        self.possible_merge   = {"item":"8041", "class": 3+10*clas, "level": 3, "tag": ["merge", "railway"], "desc":{"fr":u"Station RATP, proposition d'intégration"} }
41        Analyser_Merge.__init__(self, config, logger)
42        self.officialURL = "http://data.ratp.fr/fr/les-donnees/fiche-de-jeu-de-donnees/dataset/positions-geographiques-des-stations-du-reseau-ratp.html"
43        self.officialName = "Positions géographiques des stations du réseau RATP"
44        self.csv_file = "merge_data/ratp_arret_graphique.csv"
45        self.csv_format = "WITH DELIMITER AS '#' NULL AS '' CSV"
46        self.csv_select = {
47            "reseau": select
48        }
49        self.osmTags = osmTags
50        self.osmRef = "ref:FR:RATP"
51        self.osmTypes = ["nodes", "ways"]
52        self.sourceTable = "ratp"
53        self.sourceRef = "id"
54        self.sourceX = "lon"
55        self.sourceY = "lat"
56        self.sourceSRID = "4326"
57        self.defaultTag = {
58            "source": "RATP - 07/2012",
59        }
60        self.defaultTag.update(defaultTag)
61        self.defaultTagMapping = {
62            "ref:FR:RATP": "id",
63            "name": "nom_station",
64        }
65        self.conflationDistance = 100
66        self.text = lambda tags, fields: {"fr":"Station RATP de %s" % tags["name"]}
67
68
69class Analyser_Merge_Ratp_Bus(_Analyser_Merge_Ratp):
70    def __init__(self, config, logger = None):
71        _Analyser_Merge_Ratp.__init__(self, config, logger, 3, "bus", {"highway": "bus_stop"}, {"highway": "bus_stop", "public_transport": "stop_position", "bus": "yes"})
72
73class Analyser_Merge_Ratp_Metro(_Analyser_Merge_Ratp):
74    def __init__(self, config, logger = None):
75        _Analyser_Merge_Ratp.__init__(self, config, logger, 0, "metro", {"railway": "station"}, {"railway": "station"})
76
77class Analyser_Merge_Ratp_RER(_Analyser_Merge_Ratp):
78    def __init__(self, config, logger = None):
79        _Analyser_Merge_Ratp.__init__(self, config, logger, 1, "rer", {"railway": "station"}, {"railway": "station"})
80
81class Analyser_Merge_Ratp_Tram(_Analyser_Merge_Ratp):
82    def __init__(self, config, logger = None):
83        _Analyser_Merge_Ratp.__init__(self, config, logger, 2, "tram", {"railway": "tram_stop"}, {"railway": "tram_stop", "public_transport": "stop_position", "tram": "yes"})
Note: See TracBrowser for help on using the repository browser.