コード例 #1
0
 def tile_exists(self, x, y, z):
     if self.scheme == 'tms':
         y = mbutil.flip_y(z, y)
     query = (
         'select count(*) from tiles where zoom_level={} and tile_column={} and tile_row={}'
         .format(z, x, y))
     rs = self.conn.execute(query).fetchone()
     return rs[0] == 1
コード例 #2
0
ファイル: mbtiles.py プロジェクト: NEbrahimi/flatmap-maker
 def get_tile(self, zoom, x, y):
     rows = self._cursor.execute(
         """select tile_data from tiles
                                       where zoom_level=? and tile_column=? and tile_row=?;""",
         (zoom, x, mb.flip_y(zoom, y)))
     data = rows.fetchone()
     if not data: raise ExtractionError()
     return cv2.imdecode(np.frombuffer(data[0], 'B'), cv2.IMREAD_UNCHANGED)
コード例 #3
0
ファイル: verify.py プロジェクト: hannesj/osm2vectortiles
 def tile_exists(self, x, y, z):
     if self.scheme == 'tms':
         y = mbutil.flip_y(z, y)
     query = (
         'select count(*) from tiles where zoom_level={} and tile_column={} and tile_row={}'
         .format(z, x, y)
     )
     rs = self.conn.execute(query).fetchone()
     return rs[0] == 1
コード例 #4
0
ファイル: verify.py プロジェクト: hannesj/osm2vectortiles
    def all_tiles(self):
        tiles = self.conn.execute('select zoom_level, tile_column, tile_row from tiles')
        for tile in tiles:
            z = tile[0]
            x = tile[1]
            y = tile[2]

            if self.scheme == 'tms':
                y = mbutil.flip_y(z, y)
            yield mercantile.Tile(x, y, z)
コード例 #5
0
    def all_tiles(self):
        tiles = self.conn.execute(
            'select zoom_level, tile_column, tile_row from tiles')
        for tile in tiles:
            z = tile[0]
            x = tile[1]
            y = tile[2]

            if self.scheme == 'tms':
                y = mbutil.flip_y(z, y)
            yield mercantile.Tile(x, y, z)
コード例 #6
0
    def tiles_at_zoom_level(self, z):
        query = (
            'select tile_column, tile_row, length(tile_data) from tiles where zoom_level={}'
            .format(z)
        )
        for tile in self.conn.execute(query):
            x = tile[0]
            y = tile[1]
            size = tile[2]

            if self.scheme == 'tms':
                y = mbutil.flip_y(z, y)
            yield mercantile.Tile(x, y, z)
コード例 #7
0
    def inspect_tile(self, x, y, z):
        if self.scheme == 'tms':
            y = mbutil.flip_y(z, y)

        query = (
            'select tile_data from tiles where zoom_level={} and tile_column={} and tile_row={}'
            .format(z, x, y)
        )
        rs = self.conn.execute(query).fetchone()
        if rs:
            raw = rs[0]
            return hashlib.sha1(raw).hexdigest()
        else:
            return None
コード例 #8
0
    def tiles_by_size(self, max_size):
        tiles = self.conn.execute("""
            select zoom_level, tile_column, tile_row, length(tile_data) from tiles
            where length(tile_data) > {}
        """.format(max_size))
        for tile in tiles:
            z = tile[0]
            x = tile[1]
            y = tile[2]
            size = tile[3]

            if self.scheme == 'tms':
                y = mbutil.flip_y(z, y)
            yield TileSize(x, y, z, size)
コード例 #9
0
ファイル: verify.py プロジェクト: hannesj/osm2vectortiles
    def tiles_by_size(self, max_size):
        tiles = self.conn.execute("""
            select zoom_level, tile_column, tile_row, length(tile_data) from tiles
            where length(tile_data) > {}
        """.format(max_size))
        for tile in tiles:
            z = tile[0]
            x = tile[1]
            y = tile[2]
            size = tile[3]

            if self.scheme == 'tms':
                y = mbutil.flip_y(z, y)
            yield TileSize(x, y, z, size)
コード例 #10
0
ファイル: mbtiles.py プロジェクト: NEbrahimi/flatmap-maker
 def save_tile_as_png(self, zoom, x, y, image):
     output = cv2.imencode('.png', image)[1]
     self._cursor.execute(
         """insert into tiles (zoom_level, tile_column, tile_row, tile_data)
                                        values (?, ?, ?, ?);""",
         (zoom, x, mb.flip_y(zoom, y), sqlite3.Binary(output)))