Commit graph

1710 commits

Author SHA1 Message Date
artemp
1d06afeea2 Merge branch 'postgis-quoting' of https://github.com/lightmare/mapnik into lightmare-postgis-quoting 2017-03-14 12:29:32 +00:00
Peter Hicks
f776977982 Rename PostGIS' ST_Estimate_Extent to ST_EstimateExtent 2017-02-19 20:46:30 +00:00
Mickey Rose
428ba432b1 pgraster: copy quoting and interpolation changes from postgis 2017-02-10 18:55:23 +01:00
Mickey Rose
e35c1ca106 pgraster: indentation 2017-02-10 18:55:23 +01:00
Mickey Rose
6bbb391005 postgis: consistently quote parameters in sql 2017-02-10 18:55:22 +01:00
Mickey Rose
d331b9d66a postgis: revamp substitution of special tokens in query
- replace boost::regex with std::regex
- use regex to match both  !mapnikvar!  and  !@uservar!
- no longer support @uservar (without surrounding !s)
2017-02-10 18:55:22 +01:00
artemp
f13848e210 move box2.hpp and related files into geometry dir 2017-01-26 09:51:37 +01:00
artemp
7c6f335fa5 fix blank line test for require headers.size() == 1 + reduce stderr verbosity. 2017-01-17 17:54:09 +01:00
artemp
a108068cf6 fix remaning std::fread usage - check return value 2017-01-13 14:57:15 +01:00
artemp
6190784350 remove remaining usage of deprecated dymamic exceptions: dtors are implicitely noexcept + qualify what methods with noexcept 2017-01-09 11:47:52 +01:00
artemp
baded7d9ab fix typo 2017-01-09 11:45:15 +01:00
artemp
4bc3a79f8c remove bogus throw() specifier from 'add_attribute' 2017-01-09 11:35:14 +01:00
artemp
8452410784 minor formatting 2016-12-20 18:37:20 +01:00
artemp
5745bedbd9 update copyright year to 2016 2016-12-20 17:57:22 +01:00
artemp
18f721fd17 TopoJSON - implement parsing using spirit::x3 2016-12-19 16:18:19 +01:00
artemp
d88bf9e1ef remove unused old headers 2016-11-29 10:48:48 +01:00
artemp
2fcd608ab3 remove spirit spirit::qi usage 2016-11-28 18:42:29 +01:00
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
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