Commit graph

1355 commits

Author SHA1 Message Date
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
Dane Springmeyer
62d5cf7f16 fix error message in geojson plugin 2014-11-21 19:57:24 -08:00
Steven Looman
07a07c6268 Default to string type when column type could not be determined. Refs #2579 2014-11-20 18:48:31 +01:00
artemp
333965b588 update copyright year 2014-11-20 15:25:50 +01:00
Dane Springmeyer
437d486bbd fix building with PLUGIN_LINKING=static 2014-11-11 14:42:53 -08:00
Dane Springmeyer
4a2735fe91 c++ style: use reinterpret_cast rather than c style casts 2014-11-10 16:53:58 -08:00
Robert Coup
76d5bdae8c Merge pull request #2556 from stephend/master
Throw datasource_exception on GDAL RasterIO() failures
2014-11-05 18:21:13 +13:00
Dane Springmeyer
a65987af31 geojson plugin: fix compile against boost 1.57 2014-11-04 11:41:23 -05:00
Stephen Davis
824c99f565 throw datasource_exception on GDAL RasterIO failures 2014-11-03 11:24:38 +13:00
Dane Springmeyer
f34ac45b86 remove unneeded osm files - refs #2547 2014-10-27 08:56:58 -07:00
Jérémy Lal
87f9481621 Add missing argument to mapnik::raster call 2014-10-24 14:58:16 +02:00
Dane Springmeyer
15a2acf0d5 silence warnings in pgraster plugin - refs #2356 2014-10-22 15:33:25 -07:00
Dane Springmeyer
ca3078938c simplify and install mapnik wkt and json libs 2014-10-22 00:09:22 -07:00
Dane Springmeyer
aae4a20ec9 fix various -Wunused-parameter warnings 2014-10-21 20:23:17 -07:00
Dane Springmeyer
d25f0c316a silence more warnings 2014-10-21 17:44:47 -07:00
Dane Springmeyer
87192bfcb7 silence more boost warnings 2014-10-21 16:57:44 -07:00
Dane Springmeyer
83588937b9 silence boost warnings 2014-10-21 16:37:27 -07:00
Dane Springmeyer
18183aed2a fix a few -Wunused-parameter warnings 2014-10-20 22:28:40 -07:00
Dane Springmeyer
dac7170616 break out topojson parsing grammar 2014-10-15 18:59:39 -07:00
Dane Springmeyer
bdb1f900eb sync code between geojson and topojson rtree impl 2014-10-15 18:51:53 -07:00
Dane Springmeyer
4e8125d2ad use c file io wrapper in geojson/topojson plugins 2014-10-15 11:36:57 -07:00
artemp
2e4c5b3ee0 use finer control over rtree instantiation 2014-10-15 15:15:31 +01:00
Dane Springmeyer
1c80cfe44f fix geojson plugin linking #2535 2014-10-14 20:26:13 -07:00
Jiri Drbalek
959451af5d sqlite plugin - disable shared cache for sqlite prior to 3.7.15 2014-10-13 13:07:21 +00:00
Dane Springmeyer
44bc5b59d6 break out wkt/json grammars into separate libraries 2014-10-13 01:06:36 -07:00
Jiri Drbalek
b6438a80d1 fix multiple attach to the same sqlite database 2014-10-01 14:02:38 +00:00
Dane Springmeyer
4cbc139689 remove boost::format usage 2014-09-30 18:35:07 -07:00
Dane Springmeyer
c53bcd99a6 csv plugin: only attempt to parse ascii as numbers - closes #2450 2014-09-30 16:30:45 -07:00
Jochen Topf
da2c0a6949 Use std uint8_t instead of boost::uint8_t
Broke compilation
2014-09-30 15:58:29 +02:00
Dane Springmeyer
41b0e0e16b remove scoped_array include 2014-09-29 19:43:00 -07:00
Dane Springmeyer
5e250e0dd9 avoid boost stdint usage 2014-09-29 19:42:34 -07:00
Dane Springmeyer
ecdb12ac07 speed up topojson parsing - closes #2397 2014-09-04 20:26:52 -07:00
Dane Springmeyer
7d5d02e031 Merge branch 'master' of github.com:mapnik/mapnik into 3x-msvs 2014-09-04 09:22:53 -07:00
artemp
72e2f4446f re-implement mapnik::value deriving from value_base and update across core
fix mapnik::value conversions in topojson plugin
2014-09-04 17:10:13 +01:00
Dane Springmeyer
d577ef8719 Merge branch 'master' of https://github.com/mapnik/mapnik into 3x-msvs 2014-08-29 18:56:43 -07:00
Dane Springmeyer
6074e87bbb include optional - fix msvs compile - refs #2396 2014-08-28 19:29:07 -07:00
Dane Springmeyer
8faa358067 Merge pull request #2400 from mapnik/single-pass-json
Drop multi_pass iterator
2014-08-28 19:12:04 -07:00
artemp
ecfaec1027 rename ctrans.hpp to view_transform.hpp 2014-08-28 10:29:04 +01:00
artemp
de22d5900c rename CoordTransform to view_transform to better reflect its purpose and be consistent 2014-08-28 10:17:15 +01:00
Dane Springmeyer
f6a7bddca3 Merge pull request #2394 from strk/master-pgis-simplify-20th
Bring postgis simplification factor back to 1/20 of a pixel
2014-08-26 21:25:24 -07:00
Dane Springmeyer
cc970dea1c remove unused statistics member 2014-08-26 18:36:01 -07:00
Dane Springmeyer
616896c6ee remove spirit::multi_pass - refs #2397 2014-08-26 16:22:12 -07:00
Sandro Santilli
0d098a0467 Bring postgis simplification factor back to 1/20 of a pixel
This was the value in 2.2.x and was accidentally changed as part
of a completely unrelated commit, see:
http://github.com/mapnik/mapnik/issues/1639#issuecomment-53388951
2014-08-26 13:03:22 +02:00
Dane Springmeyer
3e1ab9beab fix gdal compile with msvs 2013 - closes #2257 2014-08-25 17:50:45 -07:00
Dane Springmeyer
225810e3ee ogr: also accept 'inline' arg like geojson/topojson/csv plugins 2014-08-25 11:59:32 -07:00
Dane Springmeyer
7cb907e13f avoid warning from boost geometry
Conflicts:
	plugins/input/geojson/geojson_datasource.hpp
2014-08-24 16:00:27 -07:00
artemp
a4cd4821a0 ohh evil #ifdef/#endif - fix compiling with boost < 1.56 2014-08-21 12:21:47 +01:00
artemp
6dee6c1c86 fix typo :) 2014-08-21 11:40:42 +01:00
artemp
455168c6af topojson - use bulk-loading packing algorithm for rtree creation
(http://www.boost.org/doc/libs/1_56_0/libs/geometry/doc/html/geometry/spatial_indexes/introduction.html)
use unique_ptr where appropriate
2014-08-21 11:14:33 +01:00
Sandro Santilli
01b56c3606 Add mention of CartoDB support in pgraster input plugin code 2014-08-20 17:31:41 +02:00
artemp
fd7682aab2 c++ pedantic 2014-08-20 16:11:27 +01:00
artemp
e4b3a46e3e fix geojson plugin, even better name is geometry_index (to avoid confusion) 2014-08-20 16:08:41 +01:00
artemp
2d50a2dccc topojson plugin : fix spatial index population, rename 'count' to 'index' 2014-08-20 16:00:12 +01:00
artemp
1e4368e97a fix compilation with boost < 1.56 2014-08-20 09:42:28 +01:00
Dane Springmeyer
9020b8c6df adapt geojson+topojson plugins to boost 1.56 - refs #2367 2014-08-19 14:48:21 -07:00
Dane Springmeyer
7c1f9b1490 fix compile with older OGR 2014-08-18 21:33:37 -07:00
Dane Springmeyer
a4c926ac8a don't throw for OGR layers with no features - refs #2260 #2352 #2354
Conflicts:
	tests/python_tests/ogr_test.py
2014-08-15 19:49:33 -07:00
artemp
1d02eb0d1d Merge branch 'master' into custom-variant-2 2014-08-13 09:06:58 +01:00
Dane Springmeyer
6ec3905fc5 fix redefinition warnings + dodge a compile error due to clashing toupper in python + clib by using iosfwd - closes #2355 2014-08-12 23:52:31 -07:00
Dane Springmeyer
7da05accc0 Merge branch 'master' of github.com:mapnik/mapnik into custom-variant-2 2014-08-12 23:19:26 -07:00
Joel Brown
c517b20237 add ogr plugin error handling to master/3.x 2014-08-12 23:09:42 -07:00
Dane Springmeyer
44844f7bd0 postgis: disable NOTICES by default - refs #2296 2014-08-12 20:30:34 -07:00
Dane Springmeyer
e4c7e2419c make sure pgraster is rebuilt if headers change inside the postgis plugin dir 2014-08-12 20:29:51 -07:00
Dane Springmeyer
e03448ecb9 port pg_raster plugin to c++11/recent 3.x changes 2014-08-12 15:14:25 -07:00
Dane Springmeyer
4e12b999f0 pull in pgraster plugin by @strk from 2.3.x to master/3.x - refs #2329 #1660 2014-08-12 15:03:51 -07:00