@@ -41,30 +41,30 @@ def _outline_geom(self, cov):
4141 def generate (self ):
4242 layer = self ._polygon_layer (self .group , filled = False , srid = 4326 )
4343
44- for cov , cov_name in reversed (self .coverages ):
45-
46- # get part of the visible footprint
47- outline = self ._outline_geom (cov )
48-
49- # skip invisible outlines
50- if outline .empty :
51- continue
52-
53- # generate feature
54- shape = ms .shapeObj .fromWKT (outline .wkt )
44+ if len (self .coverages ) > 0 :
45+ for cov , cov_name in reversed (self .coverages ):
46+
47+ # get part of the visible footprint
48+ outline = self ._outline_geom (cov )
49+
50+ # skip invisible outlines
51+ if outline .empty :
52+ continue
53+
54+ # generate feature
55+ shape = ms .shapeObj .fromWKT (outline .wkt )
56+ shape .initValues (1 )
57+ shape .setValue (0 , cov_name )
58+
59+ # add feature to the group
60+ layer .addFeature (shape )
61+
62+ else : # add empty feature if there is no applicable coverage
63+ shape = ms .shapeObj ()
5564 shape .initValues (1 )
56- shape .setValue (0 , cov_name )
57-
58- # add feature to the group
65+ shape .setValue (0 , "__empty__" )
5966 layer .addFeature (shape )
6067
61- # TODO: run the test
62- # # Dummy feature, or else empty groups will produce errors
63- # shape = shapeObj()
64- # shape.initValues(1)
65- # shape.setValue(0, "dummy")
66- # layer.addFeature(shape)
67-
6868 yield layer , None , ()
6969
7070
0 commit comments