예제 #1
0
def _layer_node(cfg: Layer) -> LayerGroupNode:
    node = LayerGroupNode(
        'layers',
        settings=RootGroupSettings(),
    )

    for node_name in ['Group', 'Subgroup']:
        node = LayerGroupNode(
            node_name,
            settings=LayerGroupSettings(),
            parent=node,
        )

    return LayerNode(cfg.id, layer_cfg=cfg, parent=node)
예제 #2
0
파일: tree.py 프로젝트: nsidc/qgreenland
def _handle_layer_config_directory(
    the_dir: Path,
    *,
    is_root: bool,
) -> tuple[list[Path], AnyGroupSettings, Optional[Path]]:
    """Load settings and contents from given directory path."""
    directory_contents = _filter_directory_contents(list(the_dir.iterdir()), )
    settings_fps = [
        c for c in directory_contents if c.name == '__settings__.py'
    ]

    if not settings_fps:
        logger.debug(f'__settings__.py not found in {the_dir}')
        if is_root:
            settings = RootGroupSettings()
        else:
            settings = LayerGroupSettings()

        return (directory_contents, settings, None)

    if len(settings_fps) != 1:
        raise RuntimeError(
            f'Expected exactly one settings file. Received: {settings_fps}', )
    settings_fp = settings_fps[0]

    settings_objects = load_objects_from_paths_by_class(
        [settings_fp],
        target_class=RootGroupSettings,
    )

    if len(settings_objects) != 1:
        raise RuntimeError(
            f'Expected exactly one settings object in {settings_fp}', )
    settings = settings_objects[0]

    layer_and_group_paths = [
        c for c in directory_contents if c.name != '__settings__.py'
    ]

    return (layer_and_group_paths, settings, settings_fp)
예제 #3
0
from qgreenland.config.helpers.layers.woa2018 import WOA2018_LAYER_ORDER
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(order=[
    *[f':{layer_id}' for layer_id in WOA2018_LAYER_ORDER],
], )
예제 #4
0
from qgreenland.models.config.layer_group import LayerGroupSettings


settings = LayerGroupSettings(
    order=[
        ':undersea_features_point',
        ':undersea_features_multilinestring',
        ':undersea_features_multipolygon',
    ],
)
예제 #5
0
from qgreenland.config.helpers.layers.territorial_waters import LAYER_PARAMS as TERRITORIAL_WATERS_PARAMS
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(order=[
    *[f':{layer_id}' for layer_id in TERRITORIAL_WATERS_PARAMS.keys()],
    'Continental shelf',
], )
예제 #6
0
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(
    order=[
        ':land',
        ':ocean',
        ':background',
    ],
    expand=True,
    show=True,
)
예제 #7
0
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(order=[
    ':image_mosaic_2019',
    ':image_mosaic_2015',
], )
예제 #8
0
from qgreenland.config.helpers.layers.lonlat import lonlat_ids_sorted
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(
    order=[f':{i}' for i in lonlat_ids_sorted if i.startswith('lat')], )
예제 #9
0
from qgreenland.config.helpers.layers.glacier_terminus import LAYER_IDS
from qgreenland.models.config.layer_group import LayerGroupSettings


settings = LayerGroupSettings(
    order=[
        ':glacier_terminus_glacier_ids',
        *[
            f':{layer_id}'
            for layer_id in LAYER_IDS
        ],
    ],
)
예제 #10
0
from qgreenland.models.config.layer_group import LayerGroupSettings


settings = LayerGroupSettings(
    order=[
        ':earthquakes',
        ':tectonic_plate_boundaries',
        ':soil_types',
        'Geological map',
    ],
)
예제 #11
0
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(order=[
    'Dip poles',
    'Geomagnetic coordinates 2020',
    *[str(year) for year in range(2020, 2025 + 1)],
], )
예제 #12
0
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(
    order=[
        'September (min weekly extent)',
        'Feb, March, or April (max weekly extent)',
    ],
    expand=True,
)
예제 #13
0
from qgreenland.config.helpers.layers.nunagis_protected_areas import (
    BIRDS_LAYERS, )
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(order=[
    ':caff_common_murre_colonies',
    ':caff_thickbilled_murre_colonies',
    *[f':{layer_id}' for layer_id in BIRDS_LAYERS],
], )
예제 #14
0
from qgreenland.config.helpers.layers.hotosm import hotosm_layers_order
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(
    order=[f':{asset_id}' for asset_id in hotosm_layers_order()], )
예제 #15
0
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(order=[
    'Foo',
    ':example_online',
    'Baz',
    'Bar',
    ':example_raster',
], )
예제 #16
0
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(order=[
    'Median extent',
    'Weekly age (12.5km)',
    'Monthly mean concentration (25 km)',
], )
예제 #17
0
from qgreenland.config.helpers.layers.racmo import RACMO_SUPPLEMENTAL_LAYER_ORDER
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(order=[
    *[f':{layer_id}' for layer_id in RACMO_SUPPLEMENTAL_LAYER_ORDER],
], )
예제 #18
0
from qgreenland.config.helpers.layers.seaice import layer_id
from qgreenland.models.config.layer_group import LayerGroupSettings


settings = LayerGroupSettings(
    order=[f':{layer_id(month)}' for month in range(1, 12 + 1)],
)
예제 #19
0
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(
    order=[
        ':qgr_boundary_data',
        ':qgr_boundary_background',
    ],
    show=True,
)
예제 #20
0
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(
    order=[
        'QGreenland boundaries',
        ':arctic_circle',
        'Latitude lines',
        'Longitude lines',
        ':timezones',
        ':utm_zones',
        'Borders',
    ],
    show=True,
    expand=True,
)
예제 #21
0
from qgreenland.config.helpers.layers.streams_outlets_basins import ORDERED_LAYER_IDS
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(order=[
    ':marginal_lakes',
    *[f':{layer_id}' for layer_id in ORDERED_LAYER_IDS],
], )
예제 #22
0
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(order=[
    ':mcas_mlsa_public_all',
    ':mcas_mlsa_public_historic',
], )
예제 #23
0
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(
    order=[
        'September (min monthly extent)',
        'Feb or March (max monthly extent)',
    ],
    expand=True,
)
예제 #24
0
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(order=[
    f':{layer_id}' for layer_id in (
        'velocity_mosaic',
        'velocity_mosaic_error',
        'velocity_mosaic_ice_mask',
    )
], )
예제 #25
0
from qgreenland.config.helpers.layers import wmm
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(
    order=wmm.wmm_layer_order(year=2025),
)
예제 #26
0
from qgreenland.models.config.layer_group import LayerGroupSettings


settings = LayerGroupSettings(
    order=[
        ':geothermal_heat_flow_measurements',
        ':geothermal_heat_flow_map',
    ],
)
예제 #27
0
from qgreenland.config.helpers.layers.racmo import RACMO_LAYER_ORDER
from qgreenland.models.config.layer_group import LayerGroupSettings


settings = LayerGroupSettings(
    order=[
        *[
            f':{layer_id}'
            for layer_id in RACMO_LAYER_ORDER
        ],
        'Supplement',
    ],
)
예제 #28
0
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(order=[
    'Undersea feature names',
    'Seawater temperature 2018 (25km)',
    'Bathymetry',
], )
예제 #29
0
from qgreenland.config.helpers.layers.nunagis_protected_areas import (
    PROTECTED_ZONES_LAYERS,
)
from qgreenland.models.config.layer_group import LayerGroupSettings


settings = LayerGroupSettings(
    order=[
        *[
            f':{layer_id}'
            for layer_id in PROTECTED_ZONES_LAYERS
        ],
    ],
)
예제 #30
0
from qgreenland.models.config.layer_group import LayerGroupSettings

settings = LayerGroupSettings(order=[
    ':populated_places',
    ':comprehensive_places',
    'Community map (crowd-sourced)',
], )