Dane Springmeyer
093d857ddc
Add support for 64 bit field types in GDAL 2.0 - closes #2685
2015-05-19 22:39:39 -07:00
Dane Springmeyer
f1e6be4572
silence boost warning in geojson_datasource
2015-05-15 14:43:42 -07:00
Dane Springmeyer
7a2aae15d3
Merge pull request #2765 from mapycz/fix-pg-datasource-srid
...
postgis: prefix table name with schema
2015-05-14 23:06:51 -07:00
Blake Thompson
d1616737f2
Removed the mapnik type of 'byte' because it seemed sparsely used and simply providing data type should be easier as it is never going to change. Also added some tests around mapnik palette
2015-05-13 19:32:54 -05:00
Dane Springmeyer
613766b104
drop obsolete and unsupported big endian support - refs #2806
2015-05-12 10:19:37 -07:00
artemp
a9ae6c111c
Merge branch 'master' into fix-topojson
2015-05-12 09:42:29 +02:00
Dane Springmeyer
41ad16f4d7
hello world plugin is now standalone at https://github.com/mapnik/hello-world-input-plugin - refs #2790
2015-05-11 17:07:33 -07:00
Dane Springmeyer
46246fdbf6
ensure topojson plugin id starts at 1 for consistency #753
2015-05-11 16:52:07 -07:00
Dane Springmeyer
23872dcd26
ensure topojson parser is robust to invalid arc index
2015-05-09 07:04:03 -07:00
Dane Springmeyer
f669a60a0f
ensure topojson plugin id starts at 1 for consistency #753
2015-05-09 06:07:16 -07:00
Dane Springmeyer
126c777c8d
shuffle around boost/geometry usage in headers to reduce compile time
2015-05-05 22:04:49 -07:00
Dane Springmeyer
a43bec6d0b
no need for geometry::correct in csv plugin
2015-05-05 20:47:29 -07:00
artemp
470da20d53
fix remanining cAmEl case names
2015-05-04 12:49:11 +02:00
Dane Springmeyer
686731cade
remove python plugin from core
...
- now at https://github.com/mapnik/non-core-plugins
- refs #2773 , #1875 , #1337 ,
2015-04-24 08:51:56 +02:00
Dane Springmeyer
124362d2d4
stop correcting geometries at decode time
...
- the original motivation for this was to avoid needing to
mutate a copy later on (for operations needing correct winding order)
- but mutating a copy is looking feasible, so removing this now.
2015-04-22 14:27:43 +02:00
artemp
2768aa6a4a
Merge branch 'mapnik-geometry' into mapnik-geometry-template
2015-04-22 12:13:29 +02:00
Jiri Drbalek
d0f19c421a
postgis: remove unnecessary else path
2015-04-20 12:43:05 +00:00
Jiri Drbalek
edcc0565fb
postgis: prefix table name with schema
2015-04-20 12:01:43 +00:00
Dane Springmeyer
748fe3d228
fix polygon winding order for shapefiles + add test enforcing it
2015-04-14 15:35:32 +02:00
artemp
33661c818d
Merge branch 'mapnik-geometry' into mapnik-geometry-template
...
Conflicts:
benchmark/test_polygon_clipping.cpp
include/mapnik/geometry.hpp
include/mapnik/geometry_adapters.hpp
include/mapnik/marker_helpers.hpp
2015-04-10 14:52:40 +02:00
artemp
61f42b229d
update to templated mapnik-geometry
2015-04-10 14:16:26 +02:00
Blake Thompson
87fb41907a
Added template to geometries
2015-04-09 15:22:51 -05:00
artemp
3f1aa7b4b4
geometry : allow boost::geoemetry algorithms to work directly with box2d<double>, removing bounding_box
2015-04-09 12:33:31 +02:00
Blake Thompson
c32a13eaa8
An update to gdal_featureset that hopefully will correct a problem with alpha detection on TIFFs that have nodata in an RGB and are Byte in size per band
2015-04-02 16:11:45 -05:00
artemp
390fff5bb4
ensure we're returning the same object from multiple return paths
...
from_wkb now returns geometry::geometry_empty instead of throwing
update cpp_tests
2015-04-01 15:04:05 +02:00
artemp
3c2430150d
add 'is_clockwise' as generic function
...
shape_io -- rely on RVO optimisation (remove an extra std::move)
2015-03-31 13:43:37 +02:00
Dane Springmeyer
852776d5e3
geometry is_empty refactoring
2015-03-24 14:16:58 -07:00
Dane Springmeyer
546e46756c
fix ogr plugin compile
2015-03-24 14:16:28 -07:00
artemp
4389c80d84
and finaly, rename 'new_geometry' namespace to 'geometry'
2015-03-24 14:21:28 +01:00
artemp
7e03d41606
rename geometry_impl.hpp to geometry.hpp
2015-03-24 13:32:05 +01:00
artemp
ac1ffa2bfb
move geometry.hpp into path.hpp and update code base to reflect this change
2015-03-24 12:42:09 +01:00
artemp
1cf0a897ac
move datasource::geometry_t into separate header and rename -> datasource_geometry_t to avoid cyclic dependencies issue
...
to_ds_type - return actual datasource_geometry_t (remove optional)
update across datasources
experssions - revert to using
2015-03-24 12:13:31 +01:00
Dane Springmeyer
dca44f799b
update osm plugin to new geometry
2015-03-22 15:46:27 -07:00
Dane Springmeyer
7fae024e32
update sqlite plugin to new geometry
2015-03-22 14:58:14 -07:00
Dane Springmeyer
9732369750
remove old typedef
2015-03-22 11:42:23 -07:00
Dane Springmeyer
537a392a09
update gdal plugin to new geometry
2015-03-21 21:13:58 -07:00
Dane Springmeyer
1994b1c25f
update ogr plugin to new geometry
2015-03-21 20:08:07 -07:00
artemp
8de2621b99
datasource : temporary reinstate get_geometry_type() method to increese test coverage and ease migration to mapnik-geometry
2015-03-19 12:09:07 +01:00
artemp
28fe4847b9
csv.input - correct
WKT geometry to be consistent
...
symbolizer_helper - handle geometry types in VERTEX_PLACEMENT
2015-03-18 16:18:44 +01:00
artemp
f627b8ace3
csv - use mapnik-geometry
2015-03-13 11:13:15 +01:00
artemp
317e9c497f
Merge branch 'master' into mapnik-geometry
2015-03-09 14:59:45 +01:00
Dane Springmeyer
073e46aad8
avoid querying for srid when geometry_table is empty
...
- this can happen when the table detection fails - refs #2718
- ideally this would not happen but it lessens the impact if it does
- amends 4a1f4a9b5e
2015-03-08 12:54:19 -07:00
Dane Springmeyer
c1e947bff1
fully static geojson parsing grammars
2015-03-07 12:00:38 -08:00
Dane Springmeyer
051462e00f
fix postgis error reporting - closes #2725
2015-03-06 14:01:22 -08:00
artemp
aa5ae6b843
update markers_symbolizer to work with mapnik-geometry (work-in-progress)
2015-03-05 15:07:23 +01:00
artemp
ae1da6ae12
topojson - correct multi_polygons
2015-03-04 18:39:11 +01:00
artemp
58f21f33ea
remove slicing
2015-03-04 14:54:11 +01:00
artemp
b2c3598f8d
Merge branch 'master' into mapnik-geometry
2015-03-04 14:42:42 +01:00
artemp
b69d740446
remove bogus simplification
2015-03-04 14:37:54 +01:00
artemp
78c72ee389
topojson.input - update to mapnik-geometry
2015-02-24 15:59:26 +01:00
artemp
0885dfb15a
rename polygon3 -> polygon
2015-02-24 14:13:00 +01:00
artemp
367208ece1
generic geometry_type impl
...
remove geometry_type from mapnik::datasource
2015-02-24 11:17:26 +01:00
Dane Springmeyer
568d3cbf41
don't use geom collection, instead diff geom per feature
2015-02-23 11:43:32 -08:00
Dane Springmeyer
20e7340699
fix compile of helloworld plugin
2015-02-23 10:36:48 -08:00
artemp
2984fb9594
revive geojson plugin
2015-02-23 19:07:26 +01:00
artemp
45a75fb876
Merge branch 'master' into mapnik-geometry
2015-02-23 10:06:43 +01:00
Dane Springmeyer
8919ae2f35
Merge pull request #2686 from rouault/gdal_input_dataset_rasterio
...
Gdal.input dataset rasterio improvements
2015-02-22 22:14:52 -08:00
artemp
7031099b76
Merge branch 'master' into mapnik-geometry
2015-02-20 17:03:46 +01:00
Dane Springmeyer
801a92c99f
occi: defer symbol resolution till runtime for osx
2015-02-19 23:12:07 -08:00
Dane Springmeyer
8cf7172539
fix linking of occi plugin
2015-02-19 23:06:04 -08:00
artemp
1c3dbdd3ab
postgis.input + use mapnik-geometry
2015-02-19 16:05:09 +01:00
artemp
9fed6fd571
shape.input - fix multi-polygon handling
2015-02-19 14:32:45 +01:00
artemp
33d45db318
c++ style - better syntax
2015-02-19 10:20:17 +01:00
Blake Thompson
5180168491
Merge branch 'master' into release/image_data_any
2015-02-18 23:03:51 -06:00
artemp
b49b8042c1
shape.input/agg - add polygon3 support
2015-02-18 18:12:47 +01:00
artemp
133f7d04ef
agg_renderer - support multi_line_strings
2015-02-18 14:26:11 +01:00
artemp
8e34077aef
more cleanups
2015-02-18 13:51:20 +01:00
artemp
604d7b08af
use reserve
to pre-allocate line_strings + cleanups
2015-02-18 13:48:05 +01:00
artemp
2e4e1f71b8
adapt to use mapnik::new_geometry::geometry (shape.input only)
2015-02-18 13:21:16 +01:00
Dane Springmeyer
a2dabb370d
fix build+link of oracle plugin
2015-02-16 23:09:16 -08:00
Blake Thompson
b2c1c86d99
Merge branch 'master' into release/image_data_Any
...
Conflicts:
benchmark/test_polygon_clipping.cpp
2015-02-16 14:37:01 -06:00
artemp
bb57ebd258
implement get_geometry_type() for 'large json' strategy
...
@springmeyer - we should talk re: validity of this approach. I know the baclground but still.
2015-02-12 15:50:13 +01:00
artemp
e8f397c41c
instantiate geojson grammar using chr_iterator_type = char const* - via #2700
2015-02-12 11:51:11 +01:00
Dane Springmeyer
89a58c5879
Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any
2015-02-11 10:01:42 -08:00
Dane Springmeyer
7d2b34d654
finish fixing windows build - closes #2698
2015-02-10 19:02:32 -08:00
Dane Springmeyer
8608ea3308
only enable geojson memory mapped files if SHAPE_MEMORY_MAPPED_FILE defined (TODO: rename this define) - refs #2698
2015-02-10 18:50:27 -08:00
Dane Springmeyer
41ed56df14
Merge branch 'master' of github.com:mapnik/mapnik into vertex_adapter
2015-02-09 18:16:57 -08:00
Dane Springmeyer
578f8a7c29
report proj4 string in extra metadata for ogr plugin - refs #2650
2015-02-09 15:46:00 -08:00
artemp
e19fdad3a6
implement vertex interface in vertex_adapter and make mapnik::geometry_type immutable
2015-02-06 16:45:51 +01:00
Even Rouault
7c44b2412e
gdal.input: take into account nodata_tolerance in optimized code path
...
Solves failures of https://travis-ci.org/mapnik/mapnik/jobs/49647112
on tiff-nodata-edge-rgba and tiff-nodata-tolerance tests
2015-02-06 00:41:57 +01:00
Even Rouault
efdca26f2d
gdal.input: optimize nodata handling in RGB case
...
When the data type is Byte, instead of reading a first time
the red band to deduce the value of the alpha component of
the output image, read the RGB bands first.
2015-02-05 20:38:27 +01:00
Even Rouault
073bad21c0
gdal.input: use GDALDataset::RasterIO() to read RGB sources
...
Enabled when the R,G,B channels are bands 1, 2 and 3
And also read the alpha channel at the same time, if it is band 4
2015-02-05 20:33:52 +01:00
Blake Thompson
ffb34544e6
Merge branch 'master' into release/image_data_any
2015-02-04 15:46:54 -06:00
Blake Thompson
2b8bd59d82
A large set of updates:
...
* Added new gray data types adding those to the variants and updating all the code necessary for them
* Added basic SSE to the image compare method, (only for RGBA) must be enabled with the -DSSE_MATH flag this is not yet put into the build process in any location.
* Fixed the resulting image for some TIFF visual tests, most likely they were incorrect due to fixes in TIFF reader
* Added some MAPNIK_DECL where necessary to grid rendering.
* Added support for more data types in GDAL plugin with grayscale images.
* Added views for all the new gray data types
* Updated python bindings for new gray data types.
Ref #2681
2015-02-04 15:41:58 -06:00
artemp
eec661d263
geojson plugin
...
* use parse_geojson(Iterator start, Iterator end) signiture
* use Iterator = char const*
* remove unneeded I/O in 'initialise_index'
* use memory mapped file (currently #if/def)
2015-02-03 13:37:49 +01:00
Dane Springmeyer
71e7faed0d
Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any
...
Conflicts:
tests/python_tests/image_test.py
tests/python_tests/image_tiff_test.py
tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-1.0-agg-reference.png
tests/visual_tests/images/tiff-opaque-edge-raster2-600-400-2.0-agg-reference.png
2015-02-03 00:05:15 -08:00
Dane Springmeyer
192f62ecbf
turn off default debug prints
2015-02-02 22:57:16 -08:00
Dane Springmeyer
5551cae0be
cache GDALDataset object for re-use
2015-02-02 22:50:17 -08:00
artemp
89e516b493
unicode string grammar via boost/libs/spirit/example/qi/json/json/parser/grammar.hpp
...
update json based grammars
2015-02-02 11:22:54 +01:00
artemp
e3c96666c4
json - make feature_collection_grammar "on-feature" callback based
2015-01-29 12:33:18 +01:00
Dane Springmeyer
4b3f69e851
#2651 is fixed, remove workaround in postgis plugin
2015-01-28 18:18:09 -08:00
artemp
0d62e0f83c
link to Oracle client library (libclntsh) to avoid missing symbols - ref #2659
2015-01-28 13:07:03 +01:00
Dane Springmeyer
1753d0ab47
require boost >= 1.56 for geojson/topojson plugins
2015-01-27 22:20:03 -08:00
Dane Springmeyer
d94f5a0cee
get pgraster tests passing again + update expected images - refs #2639
2015-01-26 22:14:38 -08:00
Dane Springmeyer
48982c0619
Merge branch 'master' of github.com:mapnik/mapnik into release/image_data_any
...
Conflicts:
tests/python_tests/image_tiff_test.py
2015-01-26 20:09:00 -08:00
artemp
2a50372d25
use correct grammar instantiation
2015-01-26 12:51:34 +01:00
artemp
a1c562c6fc
cleanup
2015-01-26 12:51:10 +01:00
artemp
cc47bfd7fa
extract attributes schema + remove std::cerr
2015-01-26 11:09:06 +01:00
artemp
2a3af1eb40
move boost.geometry <-- mapnik::box2d<double> into separate header for better modularity and code re-use
2015-01-26 10:37:09 +01:00
artemp
1263bc9c2e
merge large geojson plug-in into geojson.input
2015-01-26 10:19:18 +01:00
artemp
44905ffc43
geojson.input - use adapted box2d<double> as box_type + make spatial index compatible with large_geojson
2015-01-26 09:42:06 +01:00
artemp
d45b9db86e
remove unused include directives
2015-01-26 09:41:20 +01:00
Blake Thompson
31a0caf2e4
Merge branch 'master' into release/image_data_any
2015-01-25 14:09:29 -06:00
artemp
7f0e77d172
Merge branch 'master' into large-geojson
2015-01-23 18:12:33 +01:00
Dane Springmeyer
ec111c8a27
add extra metadata to lyr desc + use for srid/keyfield in postgis - closes #2650
2015-01-22 18:44:56 -08:00
Dane Springmeyer
faddf1a615
fix compile of rasterlite plugin
2015-01-22 15:59:01 -08:00
Dane Springmeyer
4a1f4a9b5e
Use geometry_table_ rather than table_ for SRID lookup
...
- this will result in a faster query in the case that
the user provides an explicit geometry_table option
2015-01-22 15:55:30 -08:00
Blake Thompson
51172c8fdf
Move image_data.hpp to image.hpp and renamed most everything from image_data to image alone. This might lead to the need to clean up some variables that are currently named image through out the code at some time, but I think in the long term is much better as image is a better name for the base class.
2015-01-22 11:39:37 -06:00
artemp
58f770bf85
support BOOST_VERSION < 105600
2015-01-22 16:34:28 +01:00
artemp
e42d0deb61
correct types usage
2015-01-22 16:23:44 +01:00
artemp
2b82157127
cleanup
2015-01-22 16:21:01 +01:00
artemp
669d369e30
Merge branch 'master' into large-geojson
2015-01-22 16:12:14 +01:00
Blake Thompson
e01ce5b7d6
Changed image_data_gray* to image_gray* Ref #2633 .
2015-01-21 21:08:04 -06:00
Blake Thompson
22a384ef33
Moved image_data_rgba8 to image_rgba8. Ref #2633
2015-01-21 20:31:02 -06:00
Blake Thompson
0f388ed68f
Changed the name of image_data_any to image_any. Moved header file for image_data_any to image_any. Ref #2633
2015-01-21 19:40:12 -06:00
Dane Springmeyer
d6175adb1a
Update README.md
2015-01-21 14:28:12 -08:00
artemp
9ba25cefe4
large_geojson - use 'C' style I/O for performance
2015-01-20 11:30:27 +01:00
artemp
85cacfe378
use vector<char> as a buffer
2015-01-20 10:36:34 +01:00
artemp
bfe1d63ea0
debug : print total extent
2015-01-19 22:06:24 +01:00
artemp
1f693b8fa2
larger_geojson - store {offset, size} in spatial index and remove multi_pass requirement
...
TODO: try std::fread instead of ifstream, use std::vector<uint8_t> instead of std::string
2015-01-19 18:10:59 +01:00
artemp
f50a34d1b8
use boost::spirit::iterator_policies::first_owner in multi_pass
2015-01-16 17:54:04 +01:00
artemp
da02dc40c2
sort index array by offsets
2015-01-16 17:19:59 +01:00
artemp
0c280b5066
reduce verbosity
2015-01-16 16:41:38 +01:00
artemp
788fd8c80b
large_geojson.input - initial implementation
2015-01-16 16:22:46 +01:00
Blake Thompson
4184f75011
Moved premultiply and demultiply out of image_32 and other parts of the code. The image_data object is now responsible for keeping track of its own premultiplied_alpha status. Created a new utility method in image_util to preform premultiplication.
...
Added visitor pattern to several different methods as well to prepare for image_data_any including compositing.
Ref #2633
2015-01-14 12:42:30 -06:00
Dane Springmeyer
248c8a79c2
enable rasterlite error again, accidentally disabled in 62dbfea
2015-01-09 16:13:57 -08:00
Dane Springmeyer
62dbfeaa28
fix rasterlite plugin + add visual test - closes #2630
2015-01-09 16:13:04 -08:00
Dane Springmeyer
ac04512bb5
fix rasterlite linking when deps are static libs
2015-01-09 15:37:45 -08:00
artemp
5361d21beb
move mapnik::noncopyable to mapnik::util::noncopyable where it belongs
2015-01-07 13:11:09 +01:00
artemp
18554ec0b1
remove static_visitor usage and rely on automatic result type deduction
...
(NOTE: expression_evaluator requires ```using result_type = T1;``` )
Conflicts:
src/image.cpp
2015-01-07 11:39:06 +01:00
artemp
ce291a553b
I don't see enough performance gain to justify this - reverting for now
...
Revert "shape.input - sqeeze a bit more performance by reinterpret casting bytes array to point {double,double}"
This reverts commit 2f8426a019
.
2014-12-18 18:44:04 +01:00
artemp
2f8426a019
shape.input - sqeeze a bit more performance by reinterpret casting bytes array to point {double,double}
...
avoiding one std::vector memory allocation - NOTE: this works because coordinates are stored in Double: Signed 64-bit IEEE double-precision floating point number (8 bytes) with little endian byte order - ref #2151
2014-12-18 11:57:52 +01:00
artemp
4f93b7c879
shape.input - avoid expensive hit_test and instead use relatively cheap orientation test to distinguish
...
between inner and outter rings (Polygon/NultiPolygon) -- ref #2151 https://github.com/mapbox/unpacker/issues/324
```txt
A polygon consists of one or more rings. A ring is a connected sequence of four or more
points that form a closed, non-self-intersecting loop. A polygon may contain multiple
outer rings. The order of vertices or orientation for a ring indicates which side of the ring
is the interior of the polygon. The neighborhood to the right of an observer walking along
the ring in vertex order is the neighborhood inside the polygon. Vertices of rings defining
holes in polygons are in a counterclockwise direction. Vertices for a single, ringed
polygon are, therefore, always in clockwise order. The rings of a polygon are referred to
as its parts.
```
2014-12-18 11:23:38 +01:00
artemp
6130b7f40d
set nodata for single band raster (got missed in spaghetti code)
2014-12-17 14:23:42 +01:00
artemp
a59d634ffc
nodata value can be floating point
2014-12-17 14:22:30 +01:00
artemp
5adbd85439
explicit std::move
2014-12-17 11:05:13 +01:00
artemp
1dfad4b10b
raster.input - attempt getting bounding box from image_reader
2014-12-10 12:54:35 +01:00
Dane Springmeyer
cf4f775855
Merge branch 'master' of github.com:mapnik/mapnik into image_data_any
2014-12-09 10:31:19 -05:00
Dane Springmeyer
5504692a43
remove duplicate include
2014-12-09 10:30:55 -05:00
Rafa de la Torre
af4c2620aa
Ignore overviews with 0 scale in pgraster
...
refs #2551
Postgis raster_columns view is returning NULL values for raster
overviews with large scale factors. That issue in postgis is described
in http://trac.osgeo.org/postgis/ticket/3006
This causes two main problems:
- The first overview with scale = NULL is wrongly chosen for rendering
always
- The messed up scaling factor causes the render symbolizer to spent
an insane amount of CPU and memory to render a messed up tiles.
The patch in postgis is expected to be released with the new version, a
few months from now.
Conflicts:
plugins/input/pgraster/pgraster_datasource.cpp
2014-12-04 12:29:16 -05:00
Rafa de la Torre
6cb8b6e14b
Ignore overviews with 0 scale in pgraster
...
refs #2551
Postgis raster_columns view is returning NULL values for raster
overviews with large scale factors. That issue in postgis is described
in http://trac.osgeo.org/postgis/ticket/3006
This causes two main problems:
- The first overview with scale = NULL is wrongly chosen for rendering
always
- The messed up scaling factor causes the render symbolizer to spent
an insane amount of CPU and memory to render a messed up tiles.
The patch in postgis is expected to be released with the new version, a
few months from now.
Conflicts:
plugins/input/pgraster/pgraster_datasource.cpp
2014-12-04 11:09:44 -05:00
artemp
38da080f82
make concrete image_data type names more expressive and explicit about color channels/depth:
...
image_data_32 -> image_data_rgba8
image_data_8 -> image_data_gray8
image_data_16 -> image_data_gray16
image_data_float32 -> image_data_gray32f
NOTE: currently image_data_gray16::pixel_type = std::int16_t (signed 16 bit int) to match GDAL
should we support unsigned types?
2014-12-04 11:02:42 +01:00
artemp
de7a268333
read single band as int16 then agg_scale and colorize in gray16 color space, output rgb8 (aka image_data_32)
...
NOTE: proof-of-concept needed re-factoring/duplicate code removal
2014-12-03 18:19:44 +01:00
artemp
6fc8002dec
use new image_reader API
2014-12-03 10:58:05 +01:00
Dane Springmeyer
46215c0f35
fix compile of pgraster plugin
2014-12-03 00:35:34 -05:00
artemp
6fec43bf9e
gdal - read single band as image_data_float32
...
(scaling/compositing FIXME)
2014-11-28 12:51:23 +01:00
artemp
bf9c99e3d3
initial image_data_any implentation (work-in-progress)
2014-11-26 12:22:36 +01:00
artemp
33c1d21b7f
use four letter abriviations to determine datatypes ( https://www.sqlite.org/datatype3.html )
2014-11-25 11:09:42 +01:00
Artem Pavlenko
db4b74e8bb
Merge pull request #2580 from StevenLooman/master
...
Tests and fix for SQLite datasource missing column
2014-11-24 12:51:55 +01:00
artemp
ee9481cb38
feature_collection_grammar : allow passing start_id at parse time - #2582
2014-11-24 12:26:11 +01:00