Commit graph

1768 commits

Author SHA1 Message Date
Nikita Kniazev
c191e196c0 Replace MAPNIK_INIT_PRIORITY workaround
Spirit rules are just placeholders. They are cheap to construct and by doing
this static initialization order fiasco problem is effectively avoided.

Also had to fix name clash between geojson and generic json parsers.
2019-07-02 01:04:31 +03:00
Michael Holloway
918e1a3a90 Ditch rint
Removes all usages of rint from the codebase, in favor of the standard
rounding and casting formula used throughout the codebase:

  static_cast<int>(std::floor(<val> + .5))

Fixes #2392
2019-03-22 14:23:32 -04:00
Artem Pavlenko
1377ec9752 remove bogus quote from ST_EstimatedExtent SQL {#4032) via @urzhumskov 2019-03-07 11:05:33 +00:00
Mickey Rose
86e70a726d postgres: add connect param "application_name" 2018-09-07 11:07:33 +02:00
Ryan Bray
17de0f89ed sqlite: Add !pixel_width! and !pixel_height! 2018-09-01 11:21:29 -06:00
Mickey Rose
1ddd3afc51 postgis+pgraster: substitute numbers always with decimal point 2018-07-19 22:52:55 +02:00
Sandro Santilli
69c317cd1f Fix some comments and error messages referencing raster parameters 2018-07-16 19:27:12 +02:00
Jiri Drbalek
4753aeb73a gdal: Refactoring 2018-06-11 12:00:43 +00:00
Jiri Drbalek
25f1b8cb18 gdal: Do not shrink query extent 2018-06-09 16:34:17 +00:00
Jiri Drbalek
10aaf85f54 gdal: Count in filter_factor 2018-06-09 16:34:17 +00:00
Jiri Drbalek
4f570413ba gdal: Fix finding closest overview 2018-06-09 16:34:17 +00:00
Artem Pavlenko
c2fe73ecbe
Merge pull request #3895 from mapycz/postgis-connection-creator-id
postgis: Exclude password from ConnectionCreator::id()
2018-05-08 17:46:26 +01:00
Jiri Drbalek
ab05de48df postgis: Exclude password from ConnectionCreator::id()
- Password is not necessary for connection identification
- When password is not required by the database,
  user can accidentally use multiple different passwords
  without noticing.
  This leads to allocating more connection pools
  and increase of connection consumption.
2018-05-07 13:49:57 +00:00
Jiri Drbalek
497055d80d postgis: Thread safe ConnectionManager 2018-05-04 20:18:04 +00:00
Blake Thompson
a217b38fd5 Updated to use max_image_area as a datasource parameter for GDAL plugin 2018-03-30 15:40:30 -05:00
Blake Thompson
25e4bb3f6c A fix for two distinct issues associated with gdal featuresets, the first is overviews were not properly being utilized based on the resolution of the final image requested. The second is that allocation of far too much memory could be possible in GDAL to attempt to do resampling internally in mapnik. This now has a hard cap so that we allocate less memory in these situations but are still able to resample internally in mapnik. 2018-03-30 15:10:29 -05:00
Raul Marin
caa2a88177 Fix build issue with MAPNIK_THREADSAFE disabled 2018-03-26 18:08:44 +02:00
Artem Pavlenko
d43c4c1812 fix typo #3856 2018-02-19 13:15:48 +01:00
Artem Pavlenko
429d79c81d check nodata returned by 'GetNoDataValue' has valid representation (!std::isnan) (#3856) 2018-02-19 12:09:56 +01:00
Jiri Drbalek
4c444d0082 Respect raster_has_nodata 2018-02-14 13:56:04 +00:00
Artem Pavlenko
5732df452c support SCons 3 (initial attempt) 2017-11-16 11:59:55 +01:00
Artem Pavlenko
e9f912bba9 Reserve memory via size() of range method in protozero (10c631d7e4 ) 2017-09-20 10:07:43 +02:00
Artem Pavlenko
797e8c7553 Merge branch 'master' into bbox-index 2017-09-11 17:59:23 +01:00
Dane Springmeyer
aafc5d6d51 revert accidentally committed change to geobuf plugin 2017-09-11 09:48:10 -07:00
Artem Pavlenko
f19ca6672e Merge branch 'master' into bbox-index 2017-09-11 17:32:35 +01:00
Artem Pavlenko
6e9c56ee2c geojson.input - check and throw if bounding box extrator returns no boxes and not all input consumed (preserve 3.0.x caps) 2017-09-11 17:28:09 +01:00
Artem Pavlenko
b2f3fdb73b Merge branch 'master' into bbox-index 2017-09-11 10:47:50 +01:00
Dane Springmeyer
8689048ba6 port #3759 to master 2017-09-10 08:19:04 -07:00
artemp
40c51c469c shape.input/shapeindex - update to use bounding box per item *.index format. 2017-08-21 11:02:34 +01:00
artemp
6c19efa990 store box2d<float> directly in index_record to avoid conversions. 2017-08-18 16:59:58 +01:00
artemp
d81a7610d3 shapeindex - make index node 32-bytes (uint64_t, int32_t, int32_t) 2017-08-18 16:58:20 +01:00
artemp
2aa0ce9d74 New *.index format (bounding box per item) implementation 2017-08-18 11:16:44 +01:00
Artem Pavlenko
0253653676 Geobuf.input (#3715)
* geobuf.input - initial implementation (WIP)

* geobuf.input - fix reading MultiPolygon's

* geobuf.input - don't store invalid bounding boxes in r-tree.

* Use `protozero` lib to read `geobuf` (Initial implementation, not complete!)

* geobuf.input - poring to `protozero`. (TODO: add support for `GeometryCollection`)

* add initial support for `GeometryCollection` + cleanup namespaces

* remove stderr + cleanup + update copyright

* fix GeometryCollection and MultiLineString decoding + add support for standalone Feature and Geometry

* don't use `reserve` as undelying data format doesn't allow for efficient `distance` implementation.

* add geobuf unit test + update test data

* update data
2017-08-17 10:52:07 +01:00
artemp
2426a44671 initial updated spatial-index implementation 2017-08-16 13:59:44 +01:00
artemp
947ce9a8d1 don't use reserve as undelying data format doesn't allow for efficient distance implementation. 2017-08-16 13:59:44 +01:00
artemp
e0a251c456 fix GeometryCollection and MultiLineString decoding + add support for standalone Feature and Geometry 2017-08-16 13:59:44 +01:00
artemp
0c814dbeb0 remove stderr + cleanup + update copyright 2017-08-16 13:59:44 +01:00
artemp
eee92a5420 add initial support for GeometryCollection + cleanup namespaces 2017-08-16 13:59:44 +01:00
artemp
9cea9707f3 geobuf.input - poring to protozero. (TODO: add support for GeometryCollection) 2017-08-16 13:59:44 +01:00
artemp
3bbb5f413a Use protozero lib to read geobuf (Initial implementation, not complete!) 2017-08-16 13:59:44 +01:00
artemp
dd507550c9 geobuf.input - don't store invalid bounding boxes in r-tree. 2017-08-16 13:59:44 +01:00
artemp
2715500533 geobuf.input - fix reading MultiPolygon's 2017-08-16 13:59:44 +01:00
artemp
28ffa84d44 geobuf.input - initial implementation (WIP) 2017-08-16 13:59:44 +01:00
artemp
add410e619 use arch independent types for serialised values 2017-08-15 11:14:11 +01:00
Blake Thompson
951f10791a Fix for #3714 in master, addresses RGBA tiffs that have an alpha value and no data value - and are using the no data value over the alpha. 2017-07-06 12:30:05 -05:00
Blake Thompson
5bc80e909e Restored the proper useage of filter factor for image rescaling, where it is used in a variety of different algorithms for resampling. 2017-06-13 09:17:54 -05:00
Blake Thompson
eb7ef5039c Fixes a bug assocaited with the raster plugin 2017-06-06 10:28:21 -05:00
artemp
62260dd3d4 raster.input - increase default tile size to 1024x1024 px. 2017-05-16 13:43:52 +02:00
artemp
5d48d98697 port latest changes from "raster_overzoom_quest" branch. 2017-05-12 15:37:12 +02:00
artemp
74f295c6c4 small formatting 2017-05-11 16:58:37 +02:00
artemp
1725b1ebba TIFF.input - port changes from https://github.com/mapnik/mapnik/pull/3668 (ref #3669) 2017-05-10 14:33:29 +02:00
artemp
333ef9fde1 update copyright year 2017-05-05 13:02:01 +02:00
Rinigus
9de7397043 add twkb support to sqlite plugin 2017-04-23 22:49:36 +03:00
artemp
c28bf77d5d Merge branch 'master' into geometry.hpp 2017-03-30 08:23:56 +01:00
Dane Springmeyer
641d7b647f consistently use pkg-config in both postgis plugin and pgsql2sqlite + use GDAL_CONFIG var in plugins 2017-03-28 15:18:48 -07:00
artemp
064b99168b geometry.hpp 2017-03-27 16:14:51 +01:00
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