GeoJSON - refactor FeatureCollection grammar to restore empty features
condition (#3167)
This commit is contained in:
parent
938702dc8b
commit
7d8f7357ed
1 changed files with 6 additions and 7 deletions
|
@ -54,24 +54,23 @@ feature_collection_grammar<Iterator,FeatureType, FeatureCallback,ErrorHandler>::
|
||||||
start = feature_collection(_r1, _r2, _r3)
|
start = feature_collection(_r1, _r2, _r3)
|
||||||
;
|
;
|
||||||
|
|
||||||
feature_collection = lit('{') >> (type | features(_r1, _r2, _r3) | feature_g.json_.key_value) % lit(',') >> lit('}')
|
feature_collection = lit('{') > (type | features(_r1, _r2, _r3) | feature_g.json_.key_value) % lit(',') > lit('}')
|
||||||
;
|
;
|
||||||
|
|
||||||
type = lit("\"type\"") >> lit(':') >> lit("\"FeatureCollection\"")
|
type = lit("\"type\"") > lit(':') > lit("\"FeatureCollection\"")
|
||||||
;
|
;
|
||||||
|
|
||||||
features = lit("\"features\"")
|
features = lit("\"features\"")
|
||||||
>> lit(':')
|
> lit(':') > lit('[') >
|
||||||
>> lit('[')
|
( lit(']') | ((feature(_r1, _r2, _r3) [_r2 +=1] % lit(',')) > lit(']')))
|
||||||
>> -(feature(_r1, _r2, _r3) [_r2 +=1] % lit(','))
|
|
||||||
>> lit(']')
|
|
||||||
;
|
;
|
||||||
|
|
||||||
feature = eps[_a = phoenix::construct<mapnik::feature_ptr>(new_<mapnik::feature_impl>(_r1, _r2))]
|
feature = eps[_a = phoenix::construct<mapnik::feature_ptr>(new_<mapnik::feature_impl>(_r1, _r2))]
|
||||||
>> feature_g(*_a)[on_feature(_r3,_a)]
|
> feature_g(*_a)[on_feature(_r3,_a)]
|
||||||
;
|
;
|
||||||
|
|
||||||
start.name("start");
|
start.name("start");
|
||||||
|
feature_collection.name("FeatureCollection");
|
||||||
type.name("type");
|
type.name("type");
|
||||||
features.name("features");
|
features.name("features");
|
||||||
feature.name("feature");
|
feature.name("feature");
|
||||||
|
|
Loading…
Reference in a new issue