def layer_v1tov2(session, layer): from c2cgeoportal.models import OGCServer, LayerWMS, LayerWMTS, \ LayergroupTreeitem, Dimension if layer.layer_type == "internal WMS" or layer.layer_type == "external WMS": # use the first one new_layer = LayerWMS() image_type = layer.image_type if layer.image_type is None: image_type = "image/png" is_single_tile = layer.is_single_tile if is_single_tile is None: is_single_tile = False url = layer.url if layer.url is None: url = "config://internal/mapserv" ogc_server = session.query(OGCServer).filter( OGCServer.url == url, OGCServer.image_type == image_type, OGCServer.is_single_tile == is_single_tile ).one() new_layer.ogc_server = ogc_server elif layer.layer_type == "WMTS": new_layer = LayerWMTS() new_layer.name = layer.name new_layer.public = layer.public new_layer.geo_table = layer.geo_table new_layer.interfaces = layer.interfaces for link in layer.parents_relation: new_link = LayergroupTreeitem() new_link.ordering = link.ordering new_link.treegroup_id = link.treegroup_id new_link.group = link.group new_link.item = new_layer if layer.layer_type[-4:] == " WMS": new_layer.layer = layer.name new_layer.style = layer.style new_layer.time_mode = layer.time_mode new_layer.time_widget = layer.time_widget if layer.layer_type == "WMTS": new_layer.url = layer.url new_layer.layer = layer.name new_layer.style = layer.style new_layer.matrix_set = layer.matrix_set new_layer.image_type = layer.image_type if layer.dimensions is not None: dimensions = loads(layer.dimensions) for name, value in dimensions.items(): session.add(Dimension(name, value, new_layer)) layer_add_metadata(layer, new_layer, session) session.add(new_layer)
def layer_v1tov2(session, layer): # pragma: nocover from c2cgeoportal.models import ServerOGC, LayerWMS, LayerWMTS, \ LayergroupTreeitem, WMTSDimension if layer.layer_type == "internal WMS" or layer.layer_type == "external WMS": # use the first one new_layer = LayerWMS() image_type = layer.image_type if layer.image_type is None: image_type = 'image/png' server_ogc = session.query(ServerOGC).filter( ServerOGC.url == layer.url, ServerOGC.image_type == image_type, ServerOGC.is_single_tile == layer.is_single_tile).one() new_layer.server_ogc = server_ogc elif layer.layer_type == "WMTS": new_layer = LayerWMTS() new_layer.name = layer.name new_layer.public = layer.public new_layer.geo_table = layer.geo_table new_layer.interfaces = layer.interfaces for link in layer.parents_relation: new_link = LayergroupTreeitem() new_link.ordering = link.ordering new_link.treegroup_id = link.treegroup_id new_link.group = link.group new_link.item = new_layer if layer.layer_type[-4:] == " WMS": new_layer.layer = layer.name new_layer.style = layer.style new_layer.time_mode = layer.time_mode new_layer.time_widget = layer.time_widget if layer.layer_type == "WMTS": new_layer.url = layer.url new_layer.layer = layer.name new_layer.style = layer.style new_layer.matrix_set = layer.matrix_set new_layer.image_type = layer.image_type if layer.dimensions is not None: dimensions = loads(layer.dimensions) for name, value in dimensions.items(): session.add(WMTSDimension(name, value, new_layer)) layer_add_ui_metadata(layer, new_layer, session) session.add(new_layer)
def layer_v1tov2(session, layer): # pragma: nocover from c2cgeoportal.models import LayerInternalWMS, LayerExternalWMS, LayerWMTS, \ LayergroupTreeitem, WMTSDimension if layer.layer_type == "internal WMS": new_layer = LayerInternalWMS() elif layer.layer_type == "external WMS": new_layer = LayerExternalWMS() elif layer.layer_type == "WMTS": new_layer = LayerWMTS() new_layer.name = layer.name new_layer.public = layer.public new_layer.geo_table = layer.geo_table new_layer.interfaces = layer.interfaces for link in layer.parents_relation: new_link = LayergroupTreeitem() new_link.ordering = link.ordering new_link.treegroup_id = link.treegroup_id new_link.item = new_layer if layer.layer_type[-4:] == " WMS": new_layer.layer = layer.name new_layer.image_type = layer.image_type new_layer.style = layer.style new_layer.time_mode = layer.time_mode new_layer.time_widget = layer.time_widget if layer.layer_type == "external WMS": new_layer.url = layer.url new_layer.is_single_tile = layer.is_single_tile elif layer.layer_type == "WMTS": new_layer.url = layer.url new_layer.layer = layer.name new_layer.style = layer.style new_layer.matrix_set = layer.matrix_set new_layer.image_type = layer.image_type if layer.dimensions is not None: dimensions = loads(layer.dimensions) for name, value in dimensions.items(): session.add(WMTSDimension(name, value, new_layer)) layer_add_ui_metadata(layer, new_layer, session) session.add(new_layer)
def layer_v1tov2(session, layer): from c2cgeoportal.models import OGCServer, LayerWMS, LayerWMTS, \ LayergroupTreeitem, Dimension if layer.layer_type in ["internal WMS", "external WMS"]: # use the first one new_layer = LayerWMS() image_type = layer.image_type if layer.image_type is None: image_type = "image/png" is_single_tile = layer.is_single_tile if is_single_tile is None: is_single_tile = False url = layer.url if layer.url is None: url = "config://internal/mapserv" ogc_server = session.query(OGCServer).filter( OGCServer.url == url, OGCServer.image_type == image_type, OGCServer.is_single_tile == is_single_tile ).one() new_layer.ogc_server = ogc_server new_layer.layer = layer.layer new_layer.style = layer.style new_layer.time_mode = layer.time_mode new_layer.time_widget = layer.time_widget elif layer.layer_type == "WMTS": new_layer = LayerWMTS() new_layer.url = layer.url new_layer.layer = layer.layer new_layer.style = layer.style new_layer.matrix_set = layer.matrix_set new_layer.image_type = layer.image_type or "image/png" if layer.dimensions is not None: dimensions = loads(layer.dimensions) for name, value in list(dimensions.items()): session.add(Dimension(name, value, new_layer)) new_layer.name = layer.name new_layer.public = layer.public new_layer.geo_table = layer.geo_table new_layer.interfaces = layer.interfaces new_layer.restrictionareas = layer.restrictionareas for link in layer.parents_relation: new_link = LayergroupTreeitem() new_link.ordering = link.ordering new_link.description = link.description new_link.treegroup = link.treegroup new_link.treeitem = new_layer layer_add_metadata(layer, new_layer, session) session.add(new_layer)