parser.add_option("--lon", type='float', default=149.165085, help="start longitude") parser.add_option("--width", type='float', default=1000.0, help="width in meters") parser.add_option("--service", default="YahooSat", help="tile service") parser.add_option("--zoom", default=None, type='int', help="zoom level") parser.add_option("--max-zoom", type='int', default=19, help="maximum tile zoom") parser.add_option("--delay", type='float', default=1.0, help="tile download delay") parser.add_option("--boundary", default=None, help="region boundary") parser.add_option("--debug", action='store_true', default=False, help="show debug info") (opts, args) = parser.parse_args() lat = opts.lat lon = opts.lon ground_width = opts.width if opts.boundary: boundary = mp_util.polygon_load(opts.boundary) bounds = mp_util.polygon_bounds(boundary) lat = bounds[0]+bounds[2] lon = bounds[1] ground_width = max(mp_util.gps_distance(lat, lon, lat, lon+bounds[3]), mp_util.gps_distance(lat, lon, lat-bounds[2], lon)) print lat, lon, ground_width mt = MPTile(debug=opts.debug, service=opts.service, tile_delay=opts.delay, max_zoom=opts.max_zoom) if opts.zoom is None: zooms = range(mt.min_zoom, mt.max_zoom+1) else: zooms = [opts.zoom] for zoom in zooms: tlist = mt.area_to_tile_list(lat, lon, width=1024, height=1024,
action='store_true', default=False, help="show elevation information") (opts, args) = parser.parse_args() sm = MPSlipMap(lat=opts.lat, lon=opts.lon, download=not opts.offline, service=opts.service, debug=opts.debug, max_zoom=opts.max_zoom, elevation=opts.elevation, tile_delay=opts.delay) if opts.boundary: boundary = mp_util.polygon_load(opts.boundary) sm.add_object( SlipPolygon('boundary', boundary, layer=1, linewidth=2, colour=(0, 255, 0))) if opts.thumbnail: thumb = cv.LoadImage(opts.thumbnail) sm.add_object( SlipThumbnail('thumb', (opts.lat, opts.lon), layer=1, img=thumb, border_width=2, border_colour=(255, 0, 0)))