コード例 #1
0
ファイル: __init__.py プロジェクト: gbd-consult/gbd-websuite
def _res_or_scale(cfg, r, s):
    x = gws.get(cfg, r)
    if x:
        return x
    x = gws.get(cfg, s)
    if x:
        return units.scale_to_res(x)
コード例 #2
0
ファイル: __init__.py プロジェクト: gbd-consult/gbd-websuite
def _explicit_resolutions(cfg):
    ls = gws.get(cfg, 'resolutions')
    if ls:
        return ls

    ls = gws.get(cfg, 'scales')
    if ls:
        return [units.scale_to_res(x) for x in ls]
コード例 #3
0
ファイル: caps.py プロジェクト: gbd-consult/gbd-websuite
def _extent_for_matrix(m: gws.TileMatrix):
    res = units.scale_to_res(m.scale)

    return [
        m.x,
        m.y - res * m.height * m.tile_height,
        m.x + res * m.width * m.tile_width,
        m.y,
    ]
コード例 #4
0
    def mapproxy_config(self, mc):
        m0 = self.tile_matrix_set.matrices[0]
        res = [
            units.scale_to_res(m.scale)
            for m in self.tile_matrix_set.matrices
        ]

        grid_uid = mc.grid(gws.compact({
            'origin': 'nw',  # nw = upper-left for WMTS
            'bbox': m0.extent,
            'res': res,
            'srs': self.source_crs.epsg,
            'tile_size': [m0.tile_width, m0.tile_height],
        }))

        src = self.mapproxy_back_cache_config(mc, self.get_tile_url(), grid_uid)
        self.mapproxy_layer_config(mc, src)
コード例 #5
0
ファイル: core.py プロジェクト: gbd-consult/gbd-websuite
import gws
import gws.base.layer
import gws.gis.crs
import gws.gis.extent
import gws.gis.zoom
import gws.lib.units as units
import gws.types as t

# https://wiki.openstreetmap.org/wiki/Zoom_levels

_DEFAULT_RESOLUTIONS = [
    units.scale_to_res(150 * 1e6),
    units.scale_to_res(70 * 1e6),
    units.scale_to_res(35 * 1e6),
    units.scale_to_res(15 * 1e6),
    units.scale_to_res(10 * 1e6),
    units.scale_to_res(4 * 1e6),
    units.scale_to_res(2 * 1e6),
    units.scale_to_res(1 * 1e6),
    units.scale_to_res(500 * 1e3),
    units.scale_to_res(250 * 1e3),
    units.scale_to_res(150 * 1e3),
    units.scale_to_res(70 * 1e3),
    units.scale_to_res(35 * 1e3),
    units.scale_to_res(15 * 1e3),
    units.scale_to_res(8 * 1e3),
    units.scale_to_res(4 * 1e3),
    units.scale_to_res(2 * 1e3),
    units.scale_to_res(1 * 1e3),
    units.scale_to_res(500),
]