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)
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)
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], ], )
from qgreenland.models.config.layer_group import LayerGroupSettings settings = LayerGroupSettings( order=[ ':undersea_features_point', ':undersea_features_multilinestring', ':undersea_features_multipolygon', ], )
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', ], )
from qgreenland.models.config.layer_group import LayerGroupSettings settings = LayerGroupSettings( order=[ ':land', ':ocean', ':background', ], expand=True, show=True, )
from qgreenland.models.config.layer_group import LayerGroupSettings settings = LayerGroupSettings(order=[ ':image_mosaic_2019', ':image_mosaic_2015', ], )
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')], )
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 ], ], )
from qgreenland.models.config.layer_group import LayerGroupSettings settings = LayerGroupSettings( order=[ ':earthquakes', ':tectonic_plate_boundaries', ':soil_types', 'Geological map', ], )
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)], ], )
from qgreenland.models.config.layer_group import LayerGroupSettings settings = LayerGroupSettings( order=[ 'September (min weekly extent)', 'Feb, March, or April (max weekly extent)', ], expand=True, )
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], ], )
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()], )
from qgreenland.models.config.layer_group import LayerGroupSettings settings = LayerGroupSettings(order=[ 'Foo', ':example_online', 'Baz', 'Bar', ':example_raster', ], )
from qgreenland.models.config.layer_group import LayerGroupSettings settings = LayerGroupSettings(order=[ 'Median extent', 'Weekly age (12.5km)', 'Monthly mean concentration (25 km)', ], )
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], ], )
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)], )
from qgreenland.models.config.layer_group import LayerGroupSettings settings = LayerGroupSettings( order=[ ':qgr_boundary_data', ':qgr_boundary_background', ], show=True, )
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, )
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], ], )
from qgreenland.models.config.layer_group import LayerGroupSettings settings = LayerGroupSettings(order=[ ':mcas_mlsa_public_all', ':mcas_mlsa_public_historic', ], )
from qgreenland.models.config.layer_group import LayerGroupSettings settings = LayerGroupSettings( order=[ 'September (min monthly extent)', 'Feb or March (max monthly extent)', ], expand=True, )
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', ) ], )
from qgreenland.config.helpers.layers import wmm from qgreenland.models.config.layer_group import LayerGroupSettings settings = LayerGroupSettings( order=wmm.wmm_layer_order(year=2025), )
from qgreenland.models.config.layer_group import LayerGroupSettings settings = LayerGroupSettings( order=[ ':geothermal_heat_flow_measurements', ':geothermal_heat_flow_map', ], )
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', ], )
from qgreenland.models.config.layer_group import LayerGroupSettings settings = LayerGroupSettings(order=[ 'Undersea feature names', 'Seawater temperature 2018 (25km)', 'Bathymetry', ], )
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 ], ], )
from qgreenland.models.config.layer_group import LayerGroupSettings settings = LayerGroupSettings(order=[ ':populated_places', ':comprehensive_places', 'Community map (crowd-sourced)', ], )