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
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