Exemple #1
0
    def configure_layer(self, layer, enabled=True):
        ws = self.ws

        plugins.extend("pre_configure_raster_layer", self, ws, layer)

        # We must also update all our personal attributes (type, ...)
        # because we might not have been cloned.

        layer.ms.type = self.ms.type
        layer.ms.setProjection(self.ms.getProjection())
        layer.ms.setExtent(self.ms.extent.minx, self.ms.extent.miny,
                           self.ms.extent.maxx, self.ms.extent.maxy)
        layer.ms.setProcessingKey("RESAMPLE","AVERAGE")
        layer.ms.data = self.ms.data
        layer.ms.connectiontype = self.ms.connectiontype
        layer.ms.connection = self.ms.connection

        layer.update_mra_metadatas({
                "name": self.get_mra_metadata("name"),
                "type": self.get_mra_metadata("type"),
                "storage": self.get_mra_metadata("storage"),
                "workspace": ws.name,
                })

        layer.set_metadatas({
                "wcs_name": layer.get_metadata("ows_name"),
                "wcs_label": layer.get_metadata("ows_title"),
                "wcs_description": layer.get_metadata("ows_abstract")
                })

        # if enabled:
        #     layer.set_metadata("wcs_enable_request", "GetCapabilities DescribeCoverage GetCoverage")

        plugins.extend("post_configure_raster_layer", self, ws, layer)
Exemple #2
0
    def configure_layer(self, ws, layer, enabled=True):

        plugins.extend("pre_configure_raster_layer", self, ws, layer)

        # We must also update all our personal attributes (type, ...)
        # because we might not have been cloned.

        layer.ms.type = self.ms.type
        layer.ms.setProjection(self.ms.getProjection())
        layer.ms.setExtent(self.ms.extent.minx, self.ms.extent.miny,
                           self.ms.extent.maxx, self.ms.extent.maxy)
        layer.ms.setProcessingKey("RESAMPLE","AVERAGE")
        layer.ms.data = self.ms.data
        layer.ms.connectiontype = self.ms.connectiontype
        layer.ms.connection = self.ms.connection

        layer.update_mra_metadatas({
                "name": self.get_mra_metadata("name"),
                "type": self.get_mra_metadata("type"),
                "storage": self.get_mra_metadata("storage"),
                "workspace": self.get_mra_metadata("workspace"),
                "is_model": False,
                })

        layer.set_metadatas({
                "wfs_name": layer.get_metadata("wms_name"),
                "wfs_title": layer.get_metadata("wms_title"),
                "wfs_abstract": layer.get_metadata("wms_abstract"),
                # TODO: wfs_keywordlist, wcs_srs, wcs_getfeature_formatlist...
                })

        if enabled:
            layer.set_metadata("wcs_enable_request", "GetCapabilities GetCoverage DescribeCoverage")

        plugins.extend("post_configure_raster_layer", self, ws, layer)
Exemple #3
0
    def configure_layer(self, layer, enabled=True):
        ws = self.ws

        plugins.extend("pre_configure_vector_layer", self, ws, layer)

        # We must also update all our personal attributes (type, ...)
        # because we might not have been cloned.
        layer.ms.type = self.ms.type
        layer.ms.setProjection(self.ms.getProjection())
        layer.ms.setExtent(self.ms.extent.minx, self.ms.extent.miny,
                           self.ms.extent.maxx, self.ms.extent.maxy)
        layer.ms.data = self.ms.data
        layer.ms.connectiontype = self.ms.connectiontype
        layer.ms.connection = self.ms.connection

        layer.update_mra_metadatas({
                "name": self.get_mra_metadata("name"),
                "type": self.get_mra_metadata("type"),
                "storage": self.get_mra_metadata("storage"),
                "workspace": ws.name,
                })

        # if enabled:
        #     layer.set_metadata("wfs_enable_request", "GetCapabilities DescribeFeatureType GetFeature")

        # Configure the layer based on information from the store.
        ds = ws.get_datastore(self.get_mra_metadata("storage"))
        ft = ds[self.get_mra_metadata("name")]

        # Configure the different fields.
        field_names = []
        for field in ft.iterfields():
            layer.set_metadatas({
                "gml_%s_alias" % field.get_name(): field.get_name(),
                "gml_%s_type" % field.get_name(): field.get_type_gml(),
                # TODO: Add gml_<field name>_precision, gml_<field name>_width
                })
            field_names.append(field.get_name())

        geometry_column = ft.get_geometry_column()
        if geometry_column == None:
            geometry_column = "geometry"
        layer.set_metadatas({
            "ows_include_items": ",".join(field_names),
            "gml_include_items": ",".join(field_names),
            "gml_geometries": geometry_column,
            "gml_%s_type" % geometry_column: ft.get_geomtype_gml(),
            # TODO: Add gml_<geometry name>_occurances,
            "wfs_srs": "EPSG:4326",
            "wfs_getfeature_formatlist": "OGRGML,SHAPEZIP",
            })

        if ft.get_fid_column() != None:
            layer.set_metadatas({
                "wfs_featureid": ft.get_fid_column(),
                "gml_featureid": ft.get_fid_column(),
                })

        plugins.extend("post_configure_vector_layer", self, ws, ds, ft, layer)
Exemple #4
0
    def configure_layer(self, layer, enabled=True):
        ws = self.ws

        plugins.extend("pre_configure_raster_layer", self, ws, layer)

        # We must also update all our personal attributes (type, ...)
        # because we might not have been cloned.

        layer.ms.type = self.ms.type
        layer.ms.setProjection(self.ms.getProjection())
        layer.ms.setExtent(self.ms.extent.minx, self.ms.extent.miny,
                           self.ms.extent.maxx, self.ms.extent.maxy)
        layer.ms.setProcessingKey("RESAMPLE", "AVERAGE")
        layer.ms.setProcessingKey("SCALE", "AUTO")
        layer.ms.setProcessingKey("NODATA", "OFF")
        layer.ms.data = self.ms.data
        layer.ms.connectiontype = self.ms.connectiontype
        layer.ms.connection = self.ms.connection
        layer.ms.tileindex = self.ms.tileindex
        layer.ms.tileitem = self.ms.tileitem

        layer_name = self.get_mra_metadata("name")

        layer.update_mra_metadatas({
            "name": layer_name,
            "type": self.get_mra_metadata("type"),
            "storage": self.get_mra_metadata("storage"),
            "workspace": ws.name,
        })

        layer.set_metadatas({
            "ows_name":
            layer_name,
            "ows_title":
            layer.get_metadata("ows_title", None) or layer_name,
            "ows_abstract":
            layer.get_metadata("ows_abstract", None) or layer_name,
            "wcs_name":
            layer.get_metadata("wcs_name", None) or layer_name,
            "wcs_label":
            layer.get_metadata("wcs_label", None) or layer_name,
            "wcs_description":
            layer.get_metadata("wcs_description", None) or layer_name
        })

        layer.enable(enabled)

        plugins.extend("post_configure_raster_layer", self, ws, layer)
Exemple #5
0
    def configure_layer(self, layer, enabled=True):
        ws = self.ws

        plugins.extend("pre_configure_raster_layer", self, ws, layer)

        # We must also update all our personal attributes (type, ...)
        # because we might not have been cloned.

        layer.ms.type = self.ms.type
        layer.ms.setProjection(self.ms.getProjection())
        layer.ms.setExtent(self.ms.extent.minx, self.ms.extent.miny,
                           self.ms.extent.maxx, self.ms.extent.maxy)
        layer.ms.setProcessingKey("RESAMPLE", "AVERAGE")
        layer.ms.data = self.ms.data
        layer.ms.connectiontype = self.ms.connectiontype
        layer.ms.connection = self.ms.connection

        layer.update_mra_metadatas({
            "name": self.get_mra_metadata("name"),
            "type": self.get_mra_metadata("type"),
            "storage": self.get_mra_metadata("storage"),
            "workspace": ws.name,
        })

        layer.set_metadatas({
            "wcs_name":
            layer.get_metadata("ows_name"),
            "wcs_label":
            layer.get_metadata("ows_title"),
            "wcs_description":
            layer.get_metadata("ows_abstract")
        })

        # if enabled:
        #     layer.set_metadata("wcs_enable_request", "GetCapabilities DescribeCoverage GetCoverage")

        plugins.extend("post_configure_raster_layer", self, ws, layer)
Exemple #6
0
    def configure_layer(self, layer, enabled=True):
        ws = self.ws

        plugins.extend("pre_configure_vector_layer", self, ws, layer)

        # We must also update all our personal attributes (type, ...)
        # because we might not have been cloned.
        layer.ms.type = self.ms.type
        layer.ms.setProjection(self.ms.getProjection())
        layer.ms.setExtent(self.ms.extent.minx, self.ms.extent.miny,
                           self.ms.extent.maxx, self.ms.extent.maxy)
        layer.ms.data = self.ms.data
        layer.ms.connectiontype = self.ms.connectiontype
        layer.ms.connection = self.ms.connection

        layer_name = self.get_mra_metadata("name")

        layer.update_mra_metadatas({
            "name": layer_name,
            "type": self.get_mra_metadata("type"),
            "storage": self.get_mra_metadata("storage"),
            "workspace": ws.name,
            })

        layer.enable(enabled)

        # Configure the layer based on information from the store.
        ds = ws.get_datastore(self.get_mra_metadata("storage"))
        ft = ds[self.get_mra_metadata("name")]

        # Configure the different fields.
        field_names = []
        for field in ft.iterfields():
            layer.set_metadatas({
                "ows_name": layer_name,
                "ows_title": layer.get_metadata("ows_title", None) or layer_name,
                "ows_abstract": layer.get_metadata("ows_abstract", None) or layer_name,
                "gml_%s_alias" % field.get_name(): field.get_name(),
                "gml_%s_type" % field.get_name(): field.get_type_gml(),
                # TODO: Add gml_<field name>_precision, gml_<field name>_width
                })
            field_names.append(field.get_name())

        geometry_column = ft.get_geometry_column()
        if geometry_column is None:
            geometry_column = "geometry"
        layer.set_metadatas({
            "ows_include_items": ",".join(field_names),
            "gml_include_items": ",".join(field_names),
            "gml_geometries": geometry_column,
            "gml_%s_type" % geometry_column: ft.get_geomtype_gml(),
            # TODO: Add gml_<geometry name>_occurances,
            "wfs_srs": ws.get_metadata("ows_srs"),
            "wfs_getfeature_formatlist": ",".join(list(OUTPUTFORMAT["WFS"].keys()))
            })

        if ft.get_fid_column() is not None:
            layer.set_metadatas({
                "wfs_featureid": ft.get_fid_column(),
                "gml_featureid": ft.get_fid_column(),
                })

        plugins.extend("post_configure_vector_layer", self, ws, ds, ft, layer)
Exemple #7
0
    def configure_layer(self, layer, enabled=True):
        ws = self.ws

        plugins.extend("pre_configure_vector_layer", self, ws, layer)

        # We must also update all our personal attributes (type, ...)
        # because we might not have been cloned.
        layer.ms.type = self.ms.type
        layer.ms.setProjection(self.ms.getProjection())
        layer.ms.setExtent(self.ms.extent.minx, self.ms.extent.miny,
                           self.ms.extent.maxx, self.ms.extent.maxy)
        layer.ms.data = self.ms.data
        layer.ms.connectiontype = self.ms.connectiontype
        layer.ms.connection = self.ms.connection

        layer.update_mra_metadatas({
            "name": self.get_mra_metadata("name"),
            "type": self.get_mra_metadata("type"),
            "storage": self.get_mra_metadata("storage"),
            "workspace": ws.name,
        })

        # if enabled:
        #     layer.set_metadata("wfs_enable_request", "GetCapabilities DescribeFeatureType GetFeature")

        # Configure the layer based on information from the store.
        ds = ws.get_datastore(self.get_mra_metadata("storage"))
        ft = ds[self.get_mra_metadata("name")]

        # Configure the different fields.
        field_names = []
        for field in ft.iterfields():
            layer.set_metadatas({
                "gml_%s_alias" % field.get_name():
                field.get_name(),
                "gml_%s_type" % field.get_name():
                field.get_type_gml(),
                # TODO: Add gml_<field name>_precision, gml_<field name>_width
            })
            field_names.append(field.get_name())

        geometry_column = ft.get_geometry_column()
        if geometry_column == None:
            geometry_column = "geometry"
        layer.set_metadatas({
            "ows_include_items":
            ",".join(field_names),
            "gml_include_items":
            ",".join(field_names),
            "gml_geometries":
            geometry_column,
            "gml_%s_type" % geometry_column:
            ft.get_geomtype_gml(),
            # TODO: Add gml_<geometry name>_occurances,
            "wfs_srs":
            "EPSG:4326",
            "wfs_getfeature_formatlist":
            "OGRGML,SHAPEZIP",
        })

        if ft.get_fid_column() != None:
            layer.set_metadatas({
                "wfs_featureid": ft.get_fid_column(),
                "gml_featureid": ft.get_fid_column(),
            })

        plugins.extend("post_configure_vector_layer", self, ws, ds, ft, layer)