Skip to content

Commit 87e9c64

Browse files
committed
topojson grammar - add optional bbox element which is omitted
1 parent b69d740 commit 87e9c64

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

Diff for: include/mapnik/json/topojson_grammar_impl.hpp

+8-2
Original file line numberDiff line numberDiff line change
@@ -113,20 +113,23 @@ topojson_grammar<Iterator, ErrorHandler>::topojson_grammar()
113113
;
114114

115115
geometry_collection = lit('{')
116-
>> lit("\"type\"") >> lit(':') >> lit("\"GeometryCollection\"") >> lit(',')
117-
>> lit("\"geometries\"") >> lit(':') >> lit('[') >> -(geometry[push_back(_r1, _1)] % lit(','))
116+
>> lit("\"type\"") >> lit(':') >> lit("\"GeometryCollection\"")
117+
>> -(lit(',') >> omit[bbox])
118+
>> lit(',') >> lit("\"geometries\"") >> lit(':') >> lit('[') >> -(geometry[push_back(_r1, _1)] % lit(','))
118119
>> lit(']')
119120
>> lit('}')
120121
;
121122
point = lit('{')
122123
>> lit("\"type\"") >> lit(':') >> lit("\"Point\"")
124+
>> -(lit(',') >> omit[bbox])
123125
>> ((lit(',') >> lit("\"coordinates\"") >> lit(':') >> coordinate)
124126
^ (lit(',') >> properties) /*^ (lit(',') >> omit[id])*/)
125127
>> lit('}')
126128
;
127129

128130
multi_point = lit('{')
129131
>> lit("\"type\"") >> lit(':') >> lit("\"MultiPoint\"")
132+
>> -(lit(',') >> omit[bbox])
130133
>> ((lit(',') >> lit("\"coordinates\"") >> lit(':')
131134
>> lit('[') >> -(coordinate % lit(',')) >> lit(']'))
132135
^ (lit(',') >> properties) ^ (lit(',') >> omit[id]))
@@ -142,6 +145,7 @@ topojson_grammar<Iterator, ErrorHandler>::topojson_grammar()
142145

143146
multi_linestring = lit('{')
144147
>> lit("\"type\"") >> lit(':') >> lit("\"MultiLineString\"")
148+
>> -(lit(',') >> omit[bbox])
145149
>> ((lit(',') >> lit("\"arcs\"") >> lit(':') >> lit('[')
146150
>> -((lit('[') >> int_ >> lit(']')) % lit(',')) >> lit(']'))
147151
^ (lit(',') >> properties) ^ (lit(',') >> omit[id]))
@@ -150,6 +154,7 @@ topojson_grammar<Iterator, ErrorHandler>::topojson_grammar()
150154

151155
polygon = lit('{')
152156
>> lit("\"type\"") >> lit(':') >> lit("\"Polygon\"")
157+
>> -(lit(',') >> omit[bbox])
153158
>> ((lit(',') >> lit("\"arcs\"") >> lit(':')
154159
>> lit('[') >> -(ring % lit(',')) >> lit(']'))
155160
^ (lit(',') >> properties) ^ (lit(',') >> omit[id]))
@@ -158,6 +163,7 @@ topojson_grammar<Iterator, ErrorHandler>::topojson_grammar()
158163

159164
multi_polygon = lit('{')
160165
>> lit("\"type\"") >> lit(':') >> lit("\"MultiPolygon\"")
166+
>> -(lit(',') >> omit[bbox])
161167
>> ((lit(',') >> lit("\"arcs\"") >> lit(':')
162168
>> lit('[')
163169
>> -((lit('[') >> -(ring % lit(',')) >> lit(']')) % lit(','))

0 commit comments

Comments
 (0)