Esempio n. 1
0
class MbtilesHandler(tornado.web.RequestHandler):

    def initialize(self, ext, mbtiles):
        self.ext = ext
        self.mbtiles = mbtiles
        self.tileset = MbtileSet(mbtiles=mbtiles)

    def get(self, z, x, y):
        origin = self.get_arguments('origin')
        try:
            origin = origin[0]
        except IndexError:
            origin = 'top'

        if origin == 'top':
            # invert y axis to top origin
            ymax = 1 << int(z)
            y = ymax - int(y) - 1

        tile = self.tileset.get_tile(z, x, y)
        if self.ext == 'png':
            self.set_header('Content-Type', 'image/png')
            self.write(tile.get_png())
        elif self.ext == 'json':
            callback = self.get_arguments('callback')
            try:
                callback = callback[0]
            except IndexError:
                callback = None

            self.set_header('Content-Type', 'application/json')
            if callback:
                self.write("%s(%s)" % (callback, tile.get_json()))
            else:
                self.write(tile.get_json())
Esempio n. 2
0
class MbtilesHandler(tornado.web.RequestHandler):
    def initialize(self, ext, mbtiles):
        self.ext = ext
        self.mbtiles = mbtiles
        self.tileset = MbtileSet(mbtiles=mbtiles)

    def get(self, z, x, y):
        origin = self.get_arguments('origin')
        try:
            origin = origin[0]
        except IndexError:
            origin = 'bottom'

        if origin == 'top':
            # invert y axis to top origin
            ymax = 1 << int(z)
            y = ymax - int(y) - 1

        tile = self.tileset.get_tile(z, x, y)
        if self.ext == 'png':
            self.set_header('Content-Type', 'image/png')
            self.write(tile.get_png())
        elif self.ext == 'json':
            callback = self.get_arguments('callback')
            try:
                callback = callback[0]
            except IndexError:
                callback = None

            self.set_header('Content-Type', 'application/json')
            if callback:
                self.write("%s(%s)" % (callback, tile.get_json()))
            else:
                self.write(tile.get_json())
Esempio n. 3
0
class MbtilesHandler(tornado.web.RequestHandler):
    def initialize(self, ext, mbtiles):
        self.ext = ext
        self.mbtiles = mbtiles
        self.tileset = MbtileSet(mbtiles=mbtiles)

    def get(self, z, x, y):
        origin = self.get_arguments("origin")
        try:
            origin = origin[0]
        except IndexError:
            origin = "bottom"

        if origin == "top":
            # invert y axis to top origin
            ymax = 1 << int(z)
            y = ymax - int(y) - 1

        tile = self.tileset.get_tile(z, x, y)
        if self.ext == "png":
            self.set_header("Content-Type", "image/png")
            self.write(tile.get_png())
        elif self.ext == "json":
            callback = self.get_arguments("callback")
            try:
                callback = callback[0]
            except IndexError:
                callback = None

            self.set_header("Content-Type", "application/json")
            if callback:
                self.write("%s(%s)" % (callback, tile.get_json()))
            else:
                self.write(tile.get_json())
Esempio n. 4
0
class MetaDataHandler(tornado.web.RequestHandler):

    def initialize(self, mbtiles):
        self.mbtiles = mbtiles
        self.tileset = MbtileSet(mbtiles=mbtiles)

    def get(self):
        import json
        self.set_header('Content-Type', 'text/json')
        data = self.tileset.get_metadata()
        self.write(json.dumps(data))
Esempio n. 5
0
 def initialize(self, ext, mbtiles):
     self.ext = ext
     self.mbtiles = mbtiles
     self.tileset = MbtileSet(mbtiles=mbtiles)
Esempio n. 6
0
                      help='Path to .mbtiles file',
                      action='store',
                      dest='file',
                      type='string')
    parser.add_option('-o',
                      '--output',
                      help='Output directory',
                      action='store',
                      dest='output',
                      type='string')
    parser.add_option(
        '-i',
        '--invert',
        help='Invert Y axis (True = Top Y origin ala google and bing)',
        action='store_true',
        dest='invert',
        default=False)
    (opts, args) = parser.parse_args()

    if not opts.file:
        parser.error("Please specify a valid .mbtiles file")
    if not opts.output:
        parser.error("Please specify and output directory")

    origin = "bottom"
    if opts.invert:
        origin = "top"

    tileset = MbtileSet(mbtiles=opts.file, outdir=opts.output, origin=origin)
    tileset.write_all()
Esempio n. 7
0
 def initialize(self, ext, mbtiles):
     self.ext = ext
     self.mbtiles = mbtiles
     self.tileset = MbtileSet(mbtiles=mbtiles, origin='top') # Leaflet slippy map
Esempio n. 8
0
 def __tileset_default(self):
     return MbtileSet(mbtiles=self.filename)
Esempio n. 9
0
 def _filename_changed(self, new):
     self._tileset = MbtileSet(mbtiles=new)
     self.get_tile.clear()
Esempio n. 10
0
from mbtiles import MbtileSet
import optparse

if __name__ == '__main__':
    parser = optparse.OptionParser(
            usage="\nOutputs png/json files from an mbtiles file\nmbtiles2files.py [options] -f <mbtiles file> -o <output dir>")
    parser.add_option('-f', '--file', help='Path to .mbtiles file', action='store', 
            dest='file', type='string')
    parser.add_option('-o', '--output', help='Output directory', action='store', 
            dest='output', type='string')
    parser.add_option('-i', '--invert', help='Invert Y axis (True = Top Y origin ala google and bing)', action='store_true', 
            dest='invert', default=False)
    (opts, args) = parser.parse_args()

    if not opts.file:
        parser.error("Please specify a valid .mbtiles file")
    if not opts.output:
        parser.error("Please specify and output directory")

    origin = "bottom"
    if opts.invert:
        origin = "top"

    tileset = MbtileSet(mbtiles=opts.file, outdir=opts.output, origin=origin)
    tileset.write_all()
Esempio n. 11
0
 def initialize(self, ext, mbtiles):
     self.ext = ext
     self.mbtiles = mbtiles
     self.tileset = MbtileSet(mbtiles=mbtiles)
Esempio n. 12
0
 def initialize(self, mbtiles):
     self.mbtiles = mbtiles
     self.tileset = MbtileSet(mbtiles=mbtiles)