Exemple #1
0
def main(points_file):
    places = load_points(points_file)
    #random_place = dict([places.popitem()])
    random_place = discard_outliers(places)
    bbox = get_bbox_for_points(places)
    for obj in get_osm_ways(bbox):
        print obj.to_dict()
Exemple #2
0
def main(points_file):
    places = load_points(points_file)
    #random_place = dict([places.popitem()])
    random_place = discard_outliers(places)
    bbox = get_bbox_for_points(places)
    for obj in get_osm_ways(bbox):
        print obj.to_dict()
Exemple #3
0
    print >> sys.stderr, "Reading from %s cache..." % point_file
    names, blocks, places = pickle.load(file(point_file + ".cache"))
    blocks = map(asShape, blocks)
else:
    all_names = {}
    count = 0
    for line in file(name_file):
        place_id, name = line.strip().split(None, 1)
        all_names[int(place_id)] = name
        count += 1
        if count % 1000 == 0:
            print >> sys.stderr, "\rRead %d names from %s." % (count,
                                                               name_file),
    print >> sys.stderr, "\rRead %d names from %s." % (count, name_file)

    places = load_points(point_file)
    for place_id in places:
        names[place_id] = all_names.get(place_id, "")
    places = discard_outliers(places)

    lines = []
    do_polygonize = False
    print >> sys.stderr, "Reading lines from %s..." % line_file,
    for feature in geojson.loads(file(line_file).read()):
        if feature.geometry.type in ('LineString', 'MultiLineString'):
            do_polygonize = True
        lines.append(asShape(feature.geometry.to_dict()))
    print >> sys.stderr, "%d lines read." % len(lines)
    if do_polygonize:
        print >> sys.stderr, "Polygonizing %d lines..." % (len(lines)),
        blocks = [poly.__geo_interface__ for poly in polygonize(lines)]
Exemple #4
0
if os.path.exists(point_file + '.cache'):
    print >>sys.stderr, "Reading from %s cache..." % point_file
    names, blocks, places = pickle.load(file(point_file + ".cache"))
    blocks = map(asShape, blocks)
else:
    all_names = {}
    count = 0
    for line in file(name_file):
        place_id, name = line.strip().split(None, 1)
        all_names[int(place_id)] = name
        count += 1
        if count % 1000 == 0:
            print >>sys.stderr, "\rRead %d names from %s." % (count, name_file),
    print >>sys.stderr, "\rRead %d names from %s." % (count, name_file)

    places = load_points(point_file)
    for place_id in places:
        names[place_id] = all_names.get(place_id, "")
    places = discard_outliers(places)
    
    lines = []
    do_polygonize = False
    print >>sys.stderr, "Reading lines from %s..." % line_file,
    for feature in geojson.loads(file(line_file).read()):
        if feature.geometry.type in ('LineString', 'MultiLineString'):
            do_polygonize = True
        lines.append(asShape(feature.geometry.to_dict()))
    print >>sys.stderr, "%d lines read." % len(lines)
    if do_polygonize:
        print >>sys.stderr, "Polygonizing %d lines..." % (len(lines)),
        blocks = [poly.__geo_interface__ for poly in  polygonize(lines)]
Exemple #5
0
        count = 0
        pt_count = 0
        for line in file(name_file):
            #place_id, name = line.strip().split(None, 1)
            woe_parent, name, woe_type, place_id = line.strip().split('\t', 4)
            print >>sys.stderr,"%s, %s, %s, %s" % (woe_parent, name, woe_type, place_id )
            if name == "name" or name == "woe_name" or name == "Name" or name == "NAME":
                pass
            else :
                all_names[int(place_id)] = name
                count += 1
                if count % 1000 == 0:
                    print >>sys.stderr, "\rRead %d names from %s." % (count, name_file),
        print >>sys.stderr, "\rRead %d names from %s." % (count, name_file)
    
        votes = load_points(point_file, name_filter)

        if verbose: 
            print >>sys.stderr, "votes: %s" % len(votes)
            print >>sys.stderr, "place_id: %s, pts: %s" % (place_id, place_id)
            for place_id, pts in votes:
                names[place_id] = all_names.get(place_id, "")
                for pt in pts:
                    pt_count += 1
            print >>sys.stderr, "pt_count: %s" % (pt_count)

        votes = discard_outliers(votes)
        
        lines = []
        do_polygonize = False
        print >>sys.stderr, "Reading lines from %s..." % line_file,