@@ -168,6 +168,38 @@ def __repr__(self):
168
168
self .path , self .index , self .data_index )
169
169
170
170
171
+ class MvOdbField (MvField ):
172
+ def __init__ (self , * args , ** kwargs ):
173
+ super ().__init__ (* args , ** kwargs )
174
+
175
+ def render (self , context , driver , style , legend = {}):
176
+ data = []
177
+ params = {
178
+ 'odb_filename' : self .path ,
179
+ 'odb_latitude_variable' : self .layer .conf .get ('latitude' ,'' ),
180
+ 'odb_longitude_variable' : self .layer .conf .get ('longitude' , '' ),
181
+ 'odb_value_variable' : self .layer .conf .get ('value' , '' )
182
+ }
183
+
184
+ data .append (driver .odb_geopoints (** params ))
185
+ data .extend (self .render_style (driver , style ))
186
+ return data
187
+
188
+ def as_dict (self ):
189
+ return dict (_class = self .__class__ .__module__ +
190
+ '.' + self .__class__ .__name__ ,
191
+ name = self .name ,
192
+ title = self .title ,
193
+ path = self .path ,
194
+ index = self .index ,
195
+ data_index = self .data_index ,
196
+ styles = [s .as_dict () for s in self .styles ])
197
+
198
+ def __repr__ (self ):
199
+ return 'MvOdbField[{},{},{}]' .format (
200
+ self .path , self .index , self .data_index )
201
+
202
+
171
203
class MvBufrField (MvField ):
172
204
def __init__ (self , * args , ** kwargs ):
173
205
super ().__init__ (* args , ** kwargs )
@@ -201,5 +233,6 @@ def __repr__(self):
201
233
'grib_vector' : MvGribField ,
202
234
'geopoints' : MvGeopointsField ,
203
235
'geopoints_vector' : MvGeopointsVectorField ,
204
- 'bufr' : MvBufrField
236
+ 'bufr' : MvBufrField ,
237
+ 'odb' : MvOdbField
205
238
}
0 commit comments