source: cows/trunk/cows/service/wfs_iface.py @ 4311

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/cows/trunk/cows/service/wfs_iface.py@4809
Revision 4311, 1.8 KB checked in by domlowe, 11 years ago (diff)

Supporting code for bbox and temporal filtering. Methods not yet implemented.

Line 
1"""
2The classes in this module define an interface between the OWS Pylons
3server and components that provide Web Feature Server layers. They extend the interfaces
4defined in wxs_iface.py.
5
6
7"""
8
9from wxs_iface import ILayer
10
11       
12
13class IwfsLayer(ILayer):
14    """
15    An interface representing a WFS FeatureType, based on ILayer.
16    @ivar keywords: describing this feature type.
17    @ivar outputformats: list of output formats available for this feature type.
18    """
19    keywords=outputformats=NotImplemented
20
21class IFeatureSet(object):
22    """ A set of features available via a WFS. Supports querying methods as used by OGG filters
23    @ivar featureinstances: feature instances available in this feature set"""
24
25    def getFeatureByGMLid(self, gmlid):
26        """ return a feature specified by gmlid
27        @return: zero or one IFeatureInstance
28        """
29        raise NotImplementedError
30   
31    def getFeaturesByBBox(self,bboxtuple, srsname):
32        """ return features within a bbox (llx, lly, urx, ury) in a particular srs
33        @return: zero or more IFeatureInstance
34        """
35        raise NotImplementedError
36
37   
38    def getFeaturesByTemporalRange(self, range):
39        """ return features within a temporal range (minT, maxT) in form YYYY-MM-DDT00:00:00.0
40        @return: zero or more IFeatureInstance
41        """
42        raise NotImplementedError   
43   
44       
45class IFeatureInstance(object):
46    """     An interface representing a feature (as defined in a GML application schema)
47    @ivar title: title of feature instance
48    @ivar abstract: abstract of feature instance
49    @ivar feature: feature instance
50    """ 
51   
52    type=title=abstract=NotImplemented
53   
54    def toGML(self):
55        """ return a GML representation of the feature as a string
56        @return: string of GML
57        """
58        raise NotImplementedError
Note: See TracBrowser for help on using the repository browser.