artemp
e6eda7e8b9
use parse_feature()
2016-11-28 10:28:12 +01:00
artemp
ac3e72703d
use spirit::x3 based extract_bounding_boxes
2016-11-28 10:16:25 +01:00
artemp
5834de9b1f
use parse_feature
method in geojson.input
2016-11-21 16:35:27 +01:00
artemp
2a0bc9db6c
GeoJSON - refactor feature/geometry parsing
2016-11-21 16:08:15 +01:00
artemp
4e646c1323
handle properties
2016-11-18 15:51:39 +01:00
artemp
aca229c2bb
implement custom feature
GeoJSON parser for improved performance
2016-11-18 15:17:23 +01:00
artemp
f64db40a8a
don't catch exceptions in featureset::next() as expected behaviour is to throw
2016-11-18 09:43:53 +01:00
artemp
e6e468dc9e
Merge branch 'master' into develop-master
2016-11-18 09:05:19 +01:00
artemp
d286b75fb5
make keys member var + cache geojson grammar
2016-11-17 17:36:01 +01:00
Tom Hughes
a3106a6a6e
Use 2D box for pgraster bounding box
...
Using a 3D box causes errors with postgis 2.3 when clipping is
enabled as ST_Clip throws an error clipping a raster to a 3D box.
2016-11-17 16:30:18 +00:00
artemp
22a6652160
use spirit::x3 based parser for disk-indexed GeoJSON access
2016-11-17 16:45:11 +01:00
artemp
fd36ac5279
Merge branch 'master' into geometry-refactor
2016-11-10 18:01:11 +01:00
artemp
83cc819c39
upgrade CSV parser to boost::spirit::x3
2016-10-14 14:24:44 +02:00
artemp
ce0f87fb71
merge spirit-x3
2016-10-13 17:00:11 +02:00
artemp
b5c9966e4b
refactor value related objects into include/value
dir
2016-10-11 18:01:30 +02:00
artemp
8ce7a1c43d
refactor souce code files with the following rule: the physical filesytem path matches namespace structure
...
e.g `mapnik::geometry::centroid()` -> `$(MAPNIK_SOURCE)/include/mapnik/geometry/centroid.hpp`
2016-10-11 18:01:29 +02:00
artemp
dad0ca2071
clamp num_features_to_query
to 1...max
range (at least one feature will queried) + use std::size_t
for feature count (ref #3515 )
2016-09-23 11:56:32 +02:00
artemp
8e0e344b72
Merge branch 'master' into geometry-refactor
2016-09-05 09:41:52 +01:00
Dane Springmeyer
acd90042fb
geojson.input: minor code adjustments
...
- Avoids making copy of inline string to save memory
- Moves duplicated code out of #ifdef to be more readible
2016-09-02 15:51:58 -07:00
artemp
38bff90a99
Merge branch 'master' into geometry-refactor
2016-09-01 16:06:20 +01:00
artemp
af099a57ef
topojson grammar - change interface + instantiate with Iterator = char const*
to reduce binary size
2016-08-31 17:42:18 +01:00
Dane Springmeyer
f81583554a
Merge branch 'master' of github.com:mapnik/mapnik into geometry-refactor
2016-08-22 16:19:17 -07:00
artemp
f3252d00f4
expose "num_features_to_query" datasource parameter (ref #3495 )
2016-08-16 10:55:56 +01:00
artemp
046c9638e1
GeoJSON - ensure descriptors order is consistent ( ref #3494 )
2016-08-15 12:21:02 +01:00
artemp
31814b32d0
rename empty_featureset
=> invalid_featureset
to avoid ambiguity + add helper is_valid
method
2016-08-15 10:41:30 +01:00
artemp
2864d90460
more explicit conversions to the target variant type
2016-07-25 13:45:35 +02:00
artemp
bab985dd04
always return am empty featureset instead of featureset_ptr()
2016-07-13 15:17:51 +01:00
artemp
dc74551dc0
always return am empty featureset instead of featureset_ptr()
2016-07-13 15:16:33 +01:00
artemp
efabcc8081
make all mapnik::geometries aliases to mapbox::geometry and attempt to adapt new polygon model (one std::vector)
...
NOTE: some boost.geometry algorithms are broken as a result
2016-06-29 12:41:57 +01:00
artemp
3b1c7308cc
make mapnik::geometry::line_string<T> an alias to mapbox::geometry::line_string<T>
2016-06-27 10:23:13 +01:00
artemp
67d2a0e141
Merge branch 'master' into geometry-refactor
2016-06-20 15:01:29 +01:00
artemp
7e6cc4cfac
make get_overview_meta(band)
standalone method
2016-06-13 11:14:59 +02:00
artemp
1714d4317c
Merge branch 'pgraster-just-overviews' of https://github.com/CartoDB/mapnik into CartoDB-pgraster-just-overviews
2016-06-07 14:19:42 +02:00
artemp
3f224e3f4d
Merge branch 'gdal_support_mask_band' of https://github.com/rouault/mapnik into rouault-gdal_support_mask_band
2016-06-07 13:30:45 +02:00
Even Rouault
b2cb39dec8
[GDAL plugin] Add support for non-alpha mask band
...
GDAL can support non-alpha mask band, such as a TIFF IFD with
Subfile type=transparency mask. This can be typically used to
create a GeoTIFF with YCbCr JPEG compression for RGB bands and
DEFLATE compression for the mask band.
2016-05-17 19:44:12 +02:00
artemp
25217549f1
fix topojson parsing (work-in-progress)
2016-05-17 12:53:07 +02:00
Rafa de la Torre
8e8482803b
If there're overviews, just use them for rendering
...
The current code falls back to the base table for small scales.
That approach has some drawbacks cause it forces the original table to
share some conditions with its overviews (same SRID, alginment, scale
constraints) for the rendering to work properly.
What we propose is to always fall back to the highest resolution
overview (lowest scale), rather than the original table, in order to
avoid coupling the original table with the constraints imposed by
rendering and still have them linked (in postgis raster metadata).
Please note this approach is not 100% compatible as the base table
won't be used. This should be no big deal because overviews can have
an arbitrary resolution/scale.
2016-05-06 14:43:24 +02:00
artemp
6bd708af86
fix generic_json usage across grammars
2016-05-06 09:55:54 +02:00
artemp
3184034414
refactor geometry core and algorithms templates + add missing typedefs + prepare for geometry update
2016-04-29 14:24:57 +02:00
Dane Springmeyer
11487e681f
amend f8a8ec616a
by fixing invalid search and replace
2016-04-11 16:45:11 -07:00
Dane Springmeyer
abe943c983
revert geometry changes for now - will develop them in branch to reduce downstream breakage
2016-04-11 14:00:27 -07:00
artemp
caa03d78bd
move geometry_adapters.hpp to geometry/boost_geometry_adapters.hpp
2016-04-11 15:14:52 +02:00
Dane Springmeyer
8339202279
remove debug print
2016-04-05 17:24:12 -04:00
Dane Springmeyer
7ec640e989
register gdal once at plugin load - refs #3093 #3339 #3340
2016-04-05 16:43:07 -04:00
Dane Springmeyer
f8a8ec616a
c++ style: use nullptr rather than NULL
2016-04-05 15:27:32 -04:00
artemp
7cd5301cbe
mapnik-index - refactor to use box2d<float> and reduce memory requirement during index creations
2016-03-24 17:12:16 +00:00
Sandro Santilli
cdc800b086
Fix setting of nodata value for grayscale rasters
2016-03-23 20:28:58 +01:00
Sandro Santilli
f72baaade1
Declare variables where used/needed
2016-03-23 20:27:59 +01:00
Sandro Santilli
c3b8bbe511
Fix build
2016-03-23 18:59:00 +01:00
Sandro Santilli
ca5f92ab03
Fix reading nodata value for data rasters
2016-03-23 18:30:57 +01:00
Dane Springmeyer
dc18051d80
minor optimization: call vector.reserve [skip ci]
2016-03-18 09:26:16 -07:00
Dane Springmeyer
a473abf1c7
remove unneeded includes [skip ci]
2016-03-18 09:26:16 -07:00
artemp
8f9134c72d
file_io - rename open
to is_open
to be consistent with STL i/o via @lightmare ( 0d032c2618 (commitcomment-16753722)
)
2016-03-18 10:02:19 +01:00
artemp
04890c4915
topojson - move feature_generator into topojson_utils.hpp
2016-03-17 14:36:53 +01:00
artemp
b2fda7e17f
[CORRECTED] sv_utils - check and skip processing lines consisting only of 0xa (windows) ( fixes #3359 )
2016-03-15 13:03:48 +01:00
artemp
96b96c745d
Revert "csv_utils - check and skip processing lines consisting only of 0xa (windows) ( fixes #3359 )"
...
This reverts commit 9c09f15de9
.
2016-03-15 13:01:54 +01:00
artemp
9c09f15de9
csv_utils - check and skip processing lines consisting only of 0xa (windows) ( fixes #3359 )
2016-03-15 12:26:00 +01:00
artemp
7d4f894d98
postgis.input - add support for TWKB ( https://github.com/TWKB/Specification/blob/master/twkb.md ) via https://github.com/CartoDB/mapnik/tree/2.3.x.cartodb ref #3355
2016-03-14 12:12:54 +01:00
Dane Springmeyer
5aff870e2d
MAPNIK_DECL is invalid in plugins - proper fix is mapnik/mapnik-gyp@395a1b8
2016-03-11 15:51:14 -08:00
Dane Springmeyer
89db790dda
rename parse_csv function to avoid confusion in inheritance
2016-03-11 14:23:16 -08:00
artemp
1b207ae274
csv_util - move implementation details to .cpp
2016-03-11 16:49:26 +01:00
artemp
609fab5ab1
windows - MAPNIK_DECL csv_file_parser
2016-03-09 14:27:47 +01:00
artemp
bde9e61e21
split csv_line_grammar into *.hpp *_impl.hpp ref #3343
2016-03-09 12:26:07 +01:00
Mickey Rose
ec2c5ddbdc
gdal: RAII + minor cleanup
2016-03-03 01:48:07 +01:00
lightmare
80d9aebb79
Merge pull request #3340 from lightmare/gdal-register-once
...
call GDALAllRegister once, from one thread only
2016-03-02 22:19:07 +01:00
Mickey Rose
d4566c28d2
gdal: only register drivers once
...
- refs #3339 , #3093
2016-03-02 21:21:59 +01:00
Dane Springmeyer
72459b3140
Merge branch 'master' of github.com:mapnik/mapnik into faster-csv-compile
2016-03-02 11:10:23 -08:00
Mickey Rose
c21778fdfc
merge mapnik-index::process_csv_file and csv_datasource::parse_csv
...
- the function in plugin was already configurable via flags, and only
contained two un-conditioned blocks that process_csv_file didn't have
- so I extracted the common parts into a separate function (in a class
holding the flags and state), process_csv_file calls it with default
flags, plugin sets them from params
- removed namespace ::detail, moving stuff that was used outside
csv_utils to ::csv_utils, and the rest to ::csv_utils::detail
2016-02-26 20:28:42 +01:00
artemp
63df9eecff
unconditionally emit the SRID via @pnorman ( https://github.com/mapnik/mapnik/pull/3319#issuecomment-189263651 )
2016-02-26 14:14:47 +01:00
artemp
442cc281e1
use ST_MakeEnvelope
(ref #3317 )
2016-02-26 13:50:34 +01:00
artemp
f44b5ccfd9
always query upto num_features_to_query
to determine data schema (currently 5) across all access modes (ref #3237 #3238 )
2016-02-25 15:29:32 +01:00
Dane Springmeyer
08d7bf2152
no need for template usage for autodect_csv_flavour
2016-02-24 22:24:24 -08:00
Dane Springmeyer
f2782d0b67
[csv] move spirit usage to cpp
2016-02-24 17:42:51 -08:00
Dane Springmeyer
8ffee05048
Merge branch 'master' of github.com:mapnik/mapnik into faster-csv-compile
2016-02-24 16:42:23 -08:00
artemp
9fe049d8af
CSV utils - strengthen quote detection logic + tests
2016-02-19 15:05:15 +01:00
artemp
6a9240f3d4
Revert "shape.input - add 'update-cache' optional parameter (default:true)" -- no much use as OS seems to apply it's own caching, doh ..
...
This reverts commit f65c799475
.
2016-02-18 17:37:46 +01:00
artemp
f65c799475
shape.input - add 'update-cache' optional parameter (default:true)
2016-02-18 17:34:03 +01:00
artemp
b43ee6dd04
beef up has_index
method to check if *.index file is valid (has expected header) (ref #3300 )
2016-02-18 11:45:58 +01:00
artemp
cd5105785a
csv_utils - fix istringstream initialiser by using explicit iterators pair std::string ctor
2016-02-18 11:35:14 +01:00
artemp
4c0781dbe9
remove redundant unique_ptr usage for local variable
2016-02-18 10:53:12 +01:00
artemp
15f905b272
csv - improved quote auto-detection logic which should catch more corner cases
2016-02-16 16:05:12 +01:00
Dane Springmeyer
85d4596769
move getline impl to separate header to avoid as much spirit inclusion
2016-02-15 19:06:11 -08:00
Mickey Rose
5d1fd56cef
csv_grammar: make csv_white_space_skipper a primitive_parser
2016-02-15 15:17:26 +01:00
artemp
ca0c0e5888
csv_util - combine auto-decting separator/quote/newline into one method std::tuple<char, bool, char, char> autodect_csv_flavour(T & stream, std::size_t file_length)
2016-02-15 13:55:06 +01:00
Dane Springmeyer
e76a1d9a81
[csv] use faster version of csv_utils::parse_line in more places + fix error output
2016-02-01 12:23:26 -08:00
Dane Springmeyer
0b22bd87f7
shape_index_featureset: initialize members explicitly - remove debug print
2016-01-29 16:29:43 -08:00
Dane Springmeyer
32bbccb8fd
fix #3276
2016-01-29 16:29:12 -08:00
Blake Thompson
b46f87b385
Merge branch 'master' into sanitize_errors
...
Conflicts:
include/mapnik/json/positions_grammar.hpp
2016-01-07 08:34:52 -06:00
artemp
4c6632cf93
shapeindex : remove duplicate node defs + add default ctor
2016-01-04 13:19:16 +00:00
artemp
88a04a120f
remove stderr
2016-01-04 11:56:01 +00:00
artemp
a2b3130d4b
rebase to master (remove spirit-x3 changes)
2016-01-04 11:43:27 +00:00
Blake Thompson
dfa62c88d8
fix for santize address errors
2015-12-27 21:40:10 -06:00
Dane Springmeyer
8e6e74dfa2
suppress -Wshadow warning from ogr
2015-12-03 10:22:02 -05:00
Artem Pavlenko
1b6ca8bcd0
Merge pull request #3176 from mapycz/fix-warn
...
csv.input: fix warning
2015-11-23 10:46:10 +00:00
artemp
aee0149a1a
GeoJSON - preserve feature ordering with both cache_features=true' and
cache_features=false` ( #3182 )
2015-11-23 10:19:49 +00:00
Jiri Drbalek
7283b758a0
csv.input: fix warning
2015-11-23 08:54:13 +00:00
artemp
58998f8126
cleanup - remove unused vars
2015-11-20 17:45:10 +00:00
artemp
1eab1a3a28
CSV - change 'quote' auto-dection logic to handle mixed cases better
2015-11-20 17:10:55 +00:00
artemp
938702dc8b
geojson.input - rely on expectation failure to select optional single Feature/Geometry parser
2015-11-18 14:43:40 +00:00
artemp
998164dc72
mapnik c++ style
2015-11-18 14:42:29 +00:00
Dane Springmeyer
7608040906
centralize warning suppression
2015-11-07 17:53:09 -08:00
Dane Springmeyer
da624b9ef4
update test-data to pull in 9f471a25e3
-refs #3160
2015-11-04 13:57:14 -08:00
artemp
133ca16d3a
GeoJSON.input - skip empty geometries ( #3156 )
2015-10-29 16:54:35 +00:00
artemp
3de31c50ab
correct exceptions text
2015-10-29 14:08:08 +00:00
Dane Springmeyer
35dccd4653
remove unused variable [skip ci]
2015-10-23 12:05:56 -07:00
artemp
158729ffa4
remove unreachable code block
2015-10-23 14:24:08 +01:00
artemp
aeaadd423d
geojson.input - print line number
2015-10-22 18:32:23 +01:00
Dane Springmeyer
ca63ae0a96
csv: no need for newlines in exception strings
2015-10-22 10:22:58 -07:00
Dane Springmeyer
ab88fe48a4
csv: fixup error messages when geometry fails to parse
2015-10-22 10:10:23 -07:00
artemp
6effbedff3
csv.input/mapnik-index - validate geometry locator and throw early if invalid
2015-10-22 13:29:26 +01:00
Dane Springmeyer
a7e7f088a2
CSV plugin: trigger exception rather than crash when indexing error happens
2015-10-21 12:54:03 -07:00
artemp
c3ccff4f02
shape.input - add stream state check and calculate position limit
2015-10-21 16:33:12 +01:00
artemp
5cb2b8a77a
geojson.input - create temp internal mapnik::feature_impl objects with id = -1 for clarity ref #3134
2015-10-21 11:14:13 +01:00
artemp
17ace8a3e8
shape.input - read shx_file_length in shape_featureset and avoid passing wrong file length by mistake ref #3136
2015-10-21 10:55:26 +01:00
artemp
19c1c0afd0
bug fix - shape_featureset now expects shx file length (!) ref #3136
2015-10-21 10:46:49 +01:00
artemp
ab2d86c617
shape.input: remove set_id() method as it's no longer required ref #1020 #1019
2015-10-20 14:18:17 +01:00
artemp
c952db979e
use mapnik::value_integer for feature id's
2015-10-20 11:45:39 +01:00
artemp
c053682711
geojson.input - assign incremental feature_id in geojson_index_featureset and geojson_memory_index_featureset
...
(ref #3134 )
2015-10-20 11:12:11 +01:00
artemp
26bf021af9
rename large_geojson_featureset -> geojson_memory_index_featurest to better reflect undelying implementations: geojson_index_featureset is most capable in terms of handling large input data with minimal memory requrements via utilising on disk spatial index (createed with mapnik-index utility)
2015-10-19 10:54:52 +01:00
Dane Springmeyer
8813e73cfc
rename SHAPE_MEMORY_MAPPED_FILE to MAPNIK_MEMORY_MAPPED_FILE
2015-10-16 13:34:53 -07:00
artemp
4733c7ffc1
geojson.input - geometry_type for disk-index
2015-10-16 17:31:36 +01:00
artemp
942fb3c562
geojson.input - implement spatial disk index featureset
2015-10-16 13:15:20 +01:00
artemp
886ac23c64
geojson.input - force caching features and parse single feature/geometry when cache_features = false
but extract_bounding_box fails (input is not FeatureCollection)
2015-10-15 17:35:46 +01:00
artemp
2906706a40
geojson.input - split parsing FeatureCollection and single Feature/Geometry into separate grammars
2015-10-15 15:12:16 +01:00
artemp
b798503623
shape.input - pass shx_file_length to shape_featureset
2015-10-15 11:49:18 +01:00
artemp
a73e8537d8
shape.input - add support for reading offset/record_length from *.shx in shape_featureset (no *.index) - ref #3126
2015-10-14 16:44:43 +01:00
artemp
8562d18cd0
geoson.input - throw an exception if input hasn't been fully consumed
2015-10-14 11:03:07 +01:00
Dane Springmeyer
324f70652b
code cleanup / c++11 usage in plugins
2015-10-09 16:07:19 -07:00
Dane Springmeyer
5e8a009278
fix #3120
2015-10-09 15:27:34 -07:00
artemp
0bca3afa4e
formatting
2015-10-09 12:49:33 +01:00
artemp
faeae5bc2e
c++11 - more concise syntax
2015-10-09 11:26:39 +01:00
artemp
b5fe23ac28
inline extract_geometry
2015-10-09 11:26:10 +01:00
Dane Springmeyer
f7b125c90f
use boolean_type (no functional change) [skip ci]
2015-10-07 17:53:32 -07:00
Dane Springmeyer
3bfd997b83
fix -Wsign-compare warning [skip ci]
2015-10-07 14:43:33 -07:00
Dane Springmeyer
6e84bde468
Add key_field_as_attribute (default:true) to control if key_field is added as feature attribute - refs #3115
2015-10-07 12:59:45 -07:00
artemp
b275bcb2c2
update to use latest grammar + use std:: qualifier for 'C' lib functions
2015-10-07 12:34:20 +01:00
artemp
e727fb3877
csv.input - read first line of data to update descriptor (disk-index) + remove stderr
...
§
2015-10-06 16:39:21 +01:00
artemp
d0cf7ad6f4
csv.input - implement get_geometry_type_impl for disk based index
2015-10-06 11:32:21 +01:00
artemp
2c8ad910d7
csv.input - remove redundant trim_copy
2015-10-06 10:00:42 +01:00
artemp
63c73b5057
add initial 'qoute' auto-detection + restore csv_test's
2015-10-05 16:56:33 +01:00
artemp
5c6c8ff7a3
csv.input - restore handling of inline headers and only one line of data without new line
2015-10-05 15:28:57 +01:00
artemp
287028d3e4
fix rebase conflict
2015-10-05 15:25:17 +01:00
artemp
178e39e19a
make separator single character and simplify/optimise csv_grammar
2015-10-05 15:23:20 +01:00
bergwerkgis
6b20c8c9f2
fixes #3106
2015-10-05 09:55:20 +00:00
artemp
cbb40d0662
raster.input - throw if reader can't be created
2015-10-02 12:47:57 +01:00
artemp
1bccca9ff8
Merge remote-tracking branch 'origin/master'
...
Conflicts:
plugins/input/csv/csv_datasource.cpp
2015-10-02 12:27:28 +01:00
artemp
1d320b7133
make quote single char
2015-10-02 12:20:54 +01:00
artemp
98ea1c5cd9
csv_utils::getline_csv - add 'quote' argument
2015-10-02 12:17:38 +01:00
Dane Springmeyer
336170c13c
avoid excessive calling of std::ios::widen - refs #3101
2015-10-01 15:34:00 -07:00
Dane Springmeyer
3932cc51b3
add getline benchmark - refs #3101
2015-10-01 14:47:55 -07:00