Changeset 7c5c60b in osmose-backend


Ignore:
Timestamp:
Mar 5, 2013 11:08:55 PM (7 years ago)
Author:
Frédéric Rodrigo <frodrigo@…>
Branches:
master
Children:
81d2302
Parents:
4d7a467
git-author:
Frédéric Rodrigo <frodrigo@…> (05/03/2013 20:44:04)
git-committer:
Frédéric Rodrigo <frodrigo@…> (05/03/2013 23:08:55)
Message:

Add textual filter to merge wikipedia

File:
1 edited

Legend:

Unmodified
Added
Removed
  • analysers/analyser_merge_wikipedia.py

    r4d7a467 r7c5c60b  
    325325    """ 
    326326 
    327     def __init__(self, config, classs, desc, types, osmTags, osmTypes, conflationDistance, logger = None): 
     327    def __init__(self, config, classs, desc, types, starts, osmTags, osmTypes, conflationDistance, logger = None): 
    328328        self.possible_merge   = {"item":"8101", "class": classs, "level": 3, "tag": ["merge", "wikipedia"], "desc":desc } 
    329329        Analyser_Merge.__init__(self, config, logger) 
     
    332332        self.csv_file = "merge_data/wikipedia_point_fr.csv" 
    333333        self.csv_format = "WITH DELIMITER AS '\t' NULL AS '\N'" 
    334         self.csv_select = {"types": types} # http://en.wikipedia.org/wiki/Wikipedia:GEO#type:T 
     334        if types != None: 
     335            self.csv_select = {"types": types} # http://en.wikipedia.org/wiki/Wikipedia:GEO#type:T 
    335336        self.csv_encoding = "UTF8" 
    336337        self.osmTags = {"name": None} 
    337         self.osmTags.update(osmTags) 
     338        if isinstance(osmTags, dict): 
     339            self.osmTags.update(osmTags) 
     340        else: 
     341            for t in osmTags: 
     342                t.update(self.osmTags) 
     343            self.osmTags = osmTags 
    338344        self.osmRef = "wikipedia" 
    339345        self.osmTypes = osmTypes 
    340346        self.sourceTable = "wikipedia_point_fr" 
     347        if starts == None: 
     348            self.sourceWhere = lambda res: not res["titel"].startswith("Liste ") 
     349        else: 
     350            self.sourceWhere = lambda res: res["titel"].startswith(starts) 
    341351        self.sourceX = "ST_X(the_geom)" 
    342352        self.sourceY = "ST_Y(the_geom)" 
     
    349359 
    350360 
    351 class Analyser_Merge_Wikipedia_Airport(_Analyser_Merge_Wikipedia): 
     361# By Wikiepdia Types 
     362 
     363class _Analyser_Merge_Wikipedia_Airport(_Analyser_Merge_Wikipedia): 
    352364    def __init__(self, config, logger = None): 
    353365        _Analyser_Merge_Wikipedia.__init__(self, config, 
     
    355367            {"fr":u"Wikipédia, proposition d'intégration d'aéroports"}, 
    356368            "airport", 
     369            None, 
    357370            {"aeroway": ["aerodrome"]}, 
    358371            ["nodes", "ways", "relations"], 
     
    360373            logger) 
    361374 
    362 class Analyser_Merge_Wikipedia_City(_Analyser_Merge_Wikipedia): 
     375class _Analyser_Merge_Wikipedia_City(_Analyser_Merge_Wikipedia): 
    363376    def __init__(self, config, logger = None): 
    364377        _Analyser_Merge_Wikipedia.__init__(self, config, 
     
    366379            {"fr":u"Wikipédia, proposition d'intégration de villes"}, 
    367380            "city", 
     381            None, 
    368382            {"type": "boundary", "boundary": "administrative", "admin_level": "8"}, 
    369383            ["relations"], 
    370             500, 
    371             logger) 
    372  
    373 class Analyser_Merge_Wikipedia_Edu(_Analyser_Merge_Wikipedia): 
     384            100, 
     385            logger) 
     386 
     387class _Analyser_Merge_Wikipedia_Edu(_Analyser_Merge_Wikipedia): 
    374388    def __init__(self, config, logger = None): 
    375389        _Analyser_Merge_Wikipedia.__init__(self, config, 
     
    377391            {"fr":u"Wikipédia, proposition d'intégration d'établissements d'enseignement"}, 
    378392            "edu", 
     393            None, 
    379394            {"amenity": ["school", "university", "college"]}, 
    380395            ["nodes", "ways", "relations"], 
    381             200, 
    382             logger) 
    383  
    384 class Analyser_Merge_Wikipedia_Forest(_Analyser_Merge_Wikipedia): 
     396            100, 
     397            logger) 
     398 
     399class _Analyser_Merge_Wikipedia_Forest(_Analyser_Merge_Wikipedia): 
    385400    def __init__(self, config, logger = None): 
    386401        _Analyser_Merge_Wikipedia.__init__(self, config, 
     
    388403            {"fr":u"Wikipédia, proposition d'intégration des forêts"}, 
    389404            "forest", 
     405            None, 
    390406            {"landuse": ["forest"]}, 
    391407            ["ways", "relations"], 
     
    393409            logger) 
    394410 
    395 class Analyser_Merge_Wikipedia_Glacier(_Analyser_Merge_Wikipedia): 
     411class _Analyser_Merge_Wikipedia_Glacier(_Analyser_Merge_Wikipedia): 
    396412    def __init__(self, config, logger = None): 
    397413        _Analyser_Merge_Wikipedia.__init__(self, config, 
     
    399415            {"fr":u"Wikipédia, proposition d'intégration des glaciers"}, 
    400416            "glacier", 
     417            None, 
    401418            {"natural": ["glacier"]}, 
    402419            ["ways", "relations"], 
     
    404421            logger) 
    405422 
    406 class Analyser_Merge_Wikipedia_Isle(_Analyser_Merge_Wikipedia): 
     423class _Analyser_Merge_Wikipedia_Isle(_Analyser_Merge_Wikipedia): 
    407424    def __init__(self, config, logger = None): 
    408425        _Analyser_Merge_Wikipedia.__init__(self, config, 
     
    410427            {"fr":u"Wikipédia, proposition d'intégration des d'îles"}, 
    411428            "isle", 
     429            None, 
    412430            {"place": ["island"]}, 
    413431            ["ways", "relations"], 
    414             500, 
    415             logger) 
    416  
    417 class Analyser_Merge_Wikipedia_Mountain(_Analyser_Merge_Wikipedia): 
     432            300, 
     433            logger) 
     434 
     435class _Analyser_Merge_Wikipedia_Mountain(_Analyser_Merge_Wikipedia): 
    418436    def __init__(self, config, logger = None): 
    419437        _Analyser_Merge_Wikipedia.__init__(self, config, 
     
    421439            {"fr":u"Wikipédia, proposition d'intégration des montages"}, 
    422440            "mountain", 
     441            None, 
    423442            {"natural": ["peak"]}, 
    424443            ["nodes"], 
     
    426445            logger) 
    427446 
    428 class Analyser_Merge_Wikipedia_Pass(_Analyser_Merge_Wikipedia): 
     447class _Analyser_Merge_Wikipedia_Pass(_Analyser_Merge_Wikipedia): 
    429448    def __init__(self, config, logger = None): 
    430449        _Analyser_Merge_Wikipedia.__init__(self, config, 
     
    432451            {"fr":u"Wikipédia, proposition d'intégration des cols"}, 
    433452            "pass", 
     453            None, 
    434454            {"mountain_pass": None}, 
    435455            ["nodes"], 
    436             500, 
    437             logger) 
    438  
    439 class Analyser_Merge_Wikipedia_RailwayStation(_Analyser_Merge_Wikipedia): 
     456            200, 
     457            logger) 
     458 
     459class _Analyser_Merge_Wikipedia_RailwayStation(_Analyser_Merge_Wikipedia): 
    440460    def __init__(self, config, logger = None): 
    441461        _Analyser_Merge_Wikipedia.__init__(self, config, 
     
    443463            {"fr":u"Wikipédia, proposition d'intégration des gares"}, 
    444464            "railwaystation", 
     465            None, 
    445466            {"railway": ["station"]}, 
    446467            ["nodes", "ways", "relations"], 
     
    454475            {"fr":u"Wikipédia, proposition d'intégration des plans d'eau"}, 
    455476            "waterbody", 
     477            None, 
    456478            {"natural": ["water"]}, 
    457479            ["ways", "relations"], 
    458             500, 
    459             logger) 
     480            200, 
     481            logger) 
     482 
     483# By title string 
     484 
     485class Analyser_Merge_Wikipedia_Chateau(_Analyser_Merge_Wikipedia): 
     486    def __init__(self, config, logger = None): 
     487        _Analyser_Merge_Wikipedia.__init__(self, config, 
     488            2003, 
     489            {"fr":u"Wikipédia, proposition d'intégration des plans d'eau"}, 
     490            None, 
     491            "Château ", 
     492            [{"historic": "castle"}, {"building": ["castle", "château"]}, {"castle": None}], 
     493            ["nodes", "ways"], 
     494            200, 
     495            logger) 
     496 
     497class Analyser_Merge_Wikipedia_Eglise(_Analyser_Merge_Wikipedia): 
     498    def __init__(self, config, logger = None): 
     499        _Analyser_Merge_Wikipedia.__init__(self, config, 
     500            213, 
     501            {"fr":u"Wikipédia, proposition d'intégration des plans d'eau"}, 
     502            None, 
     503            "Église ", 
     504            {"amenity": "place_of_worship"}, 
     505            ["nodes", "ways"], 
     506            200, 
     507            logger) 
Note: See TracChangeset for help on using the changeset viewer.