osmose-qa opendata
TRANSCRIPT
SotM-France 2016
OsmoseIntgration OpenData
Clermont-Ferrand le 21-05-2015Frdric Rodrigo (c)left 2016 - CC-BY-SA v3.0
Hirarchie des analyseurs
AnalyserAnalyserSax (plugins)
AnalyserOsmosisAnalyserMergeSubAnalyserMergeDynamic
AnalyserMergeDynamic
AnalyserMerge
Source de donnes OpenDataCSV: format, encodage...
ChargementX,Y, SRID
Table, filtre
Conversion en tags
Slection donnes OSM comparer
Gnration
Donnes OSM non trouves dans l'OpenData
Donnes OpenData non trouv dans OSMProposition d'intgration
Donnes retrouvesProposition de mise jour
class Analyser_Merge_College_FR(Analyser_Merge): def __init__(self, config, logger = None): self.missing_official = {"item":"8030", "class": 100, "level": 3, "tag": ["merge", "railway"], "desc": T_(u"College not integrated") } Analyser_Merge.__init__(self, config, logger, Source( url = "http://www.data.gouv.fr/DataSet/30382046", name = u"Etablissements d'enseignement suprieur", file = "college_FR.csv.bz2"), Load("GPS_Y", "GPS_X", table = "college_fr", xFunction = self.float_comma, yFunction = self.float_comma), Mapping( select = Select( types = ["nodes", "ways", "relations"], tags = {"amenity": ["college", "university"]}), conflationDistance = 50, generate = Generate( static = { "amenity": "college", "source": u"data.gouv.fr:Office national d'information sur les enseignements et les professions - 11/2011"}, mapping = { "name": "NOM_ETABLISSEMENT", "operator:type": lambda res: "private" if res["STATUT_ETABLISSEMENT"] in [u"CFA priv", u"Priv hors contrat", u"Priv reconnu", u"Priv sous contrat"] else None, "short_name": "SIGLE_ETABLISSEMENT"}, text = lambda tags, fields: {"en": " - ".join(filter(lambda i: i != "None", [fields["SIGLE_ETABLISSEMENT"], fields["NOM_ETABLISSEMENT"]]))} )))