import gws
import gws.common.layer
import gws.gis.ows
import gws.gis.proj
import gws.gis.source
import gws.gis.util
import gws.types as t
from . import provider, util
[docs]class Config(gws.common.layer.VectorConfig, util.WfsServiceConfig):
pass
[docs]class Object(gws.common.layer.Vector):
@property
def description(self):
context = {
'layer': self,
'service': self.provider.meta,
'sub_layers': self.source_layers
}
return self.description_template.render(context).content
@property
def default_search_provider(self):
return self.root.create_object('gws.ext.search.provider.wfs', t.Config(
uid=self.uid + '.default_search',
layer=self))
[docs] def get_features(self, bounds, limit=0):
fs = self.provider.find_features(t.SearchArgs(
bounds=bounds,
limit=limit,
source_layer_names=[sl.name for sl in self.source_layers]
))
return [self.connect_feature(f) for f in fs]