Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
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)