Commit graph

943 commits

Author SHA1 Message Date
Artem Pavlenko
12072606d6 + fixed bounding box calculation to use transform (#808) 2011-09-23 15:52:32 +00:00
Dane Springmeyer
00e8f06f13 ensure the experimental svg_renderer compiles 2011-09-16 16:18:10 +00:00
Alberto Valverde
36dcffd2de forgot to add warp.cpp as a source 2011-09-16 14:57:40 +00:00
Alberto Valverde
43dd7978cf improved comments 2011-09-16 14:38:36 +00:00
Alberto Valverde
4ff5404a57 added includes for config.hpp (PROJ_ENEVLOPE_POINTS) 2011-09-16 14:35:47 +00:00
Alberto Valverde
4444907855 ported warer warping functionallity to cairo renderer. Closes #887 2011-09-16 14:34:14 +00:00
Alberto Valverde
e41abb0e12 add a label attribute to colorizer_stop 2011-09-16 13:32:16 +00:00
Alberto Valverde
97431c8de4 made mesh_size configurable 2011-09-16 12:21:21 +00:00
Alberto Valverde
dd5713740d support for other filters other than bilinear when warping rasters. default near scaling is about 20% faster than before. However, for some reason, bilinear is nor about 300% slower 2011-09-16 11:09:08 +00:00
Hermann Kraus
e877b6197a Support new Shield/TextSymbolizer syntax. 2011-09-16 00:02:42 +00:00
Alberto Valverde
ec11ba8311 fixed calculation of target polygon when warping rasters. Shrinked rasterizer window back to pre r3344 size since it was to mask artifacts due to the badly calculated polygon 2011-09-15 08:29:59 +00:00
Dane Springmeyer
937134430a only output the total layer rendering time after processing all styles 2011-09-14 22:58:08 +00:00
Alberto Valverde
e6cb8eb8b3 slightly larger rasterizer window for better quality 2011-09-14 16:25:10 +00:00
Alberto Valverde
66b66d0754 using define for PROJ_ENVELOPE_POINTS 2011-09-14 16:22:23 +00:00
Alberto Valverde
8096c1eecb tentaiove fix for #880 2011-09-14 15:37:14 +00:00
Alberto Valverde
85c165d327 reverted to old calculation of scale_method 2011-09-14 12:36:09 +00:00
Alberto Valverde
a7c12a3765 removed redundant bounds checks (I asuume AGG already makes sure not to write outside the buffer). Moved object creation from inside loop 2011-09-14 11:50:06 +00:00
Alberto Valverde
ad31aa717a better bounds checking 2011-09-14 00:13:46 +00:00
Alberto Valverde
785303f2dc not using coords of center of pixel since it is now in origin coordinates 2011-09-13 23:55:04 +00:00
Alberto Valverde
1edc6ceceb using AGG for interpolating when warping (for real now) 2011-09-13 23:48:55 +00:00
Alberto Valverde
226e382214 projecting map extent before calculating resolution in order to obtain sensible values. Commented out AGG interpolating when warping because it doesn't work. I must have been linking against the wrong thing when developing, sorry, will fix tomorrow 2011-09-13 23:20:51 +00:00
Alberto Valverde
5508af6b76 typo 2011-09-13 17:14:36 +00:00
Alberto Valverde
6ffbd07174 use AGG for interpolation when warping rasters 2011-09-13 15:41:39 +00:00
Artem Pavlenko
c1a12f65c0 + use 'stroke-dashoffset' to match SVG/CSS specs 2011-09-13 14:51:51 +00:00
Artem Pavlenko
fad2d7739b + change wkb interface to work directly on ptr_vector<geometry_type>
+ expose ptr_vector<geometry_type> in feature
2011-09-13 11:54:04 +00:00
Dane Springmeyer
6968adaf40 remove unneeded clip 2011-09-13 01:44:08 +00:00
Dane Springmeyer
cd8baba3be match css exactly for alignment names - fixes #807 2011-09-12 20:15:13 +00:00
Dane Springmeyer
9bda9c7019 support raster reprojection - adapted from work at https://github.com/albertov/mapnik2/ - nice work alberto and meteogrid - closes #663 2011-09-12 18:41:44 +00:00
Dane Springmeyer
67df69834f allow reprojection of batches of points - patch cherry picked from albertov's work on optimizing raster reprojection performance (upcoming) - closes #877 2011-09-12 18:30:34 +00:00
Dane Springmeyer
93123e8e0e minor touchups to feature_style_processor to prepare for upcoming changes 2011-09-12 17:54:39 +00:00
Dane Springmeyer
ac3e43e5a4 support faster wgs84->merc transforms, a very common reprojection scenario in web mapping - added benefit of this approach is easy clipping for robust handling of out of bounds mercator coords - closes #839 2011-09-12 02:10:58 +00:00
Dane Springmeyer
0ec7ef6d46 renderers can now report to image if any features have been rendered via im.painted(), and im.background now uses boost optional to allow easy detection of whether a background has been set - closes #875 2011-09-11 06:24:26 +00:00
Dane Springmeyer
3ad234bce8 early return from rendering text labels if polygon width does not meet minimum threashold - refs #840 2011-09-10 08:50:07 +00:00
Dane Springmeyer
ae9dedeb27 add line_symbolizer cpp 2011-09-09 23:46:39 +00:00
Dane Springmeyer
67d7a3a6f0 add alternative line rasterizer that can be enabled to draw faster lines at the expense of dropping short geometries - for thin lines has nicer look but should not be used with think lines - refs #873 2011-09-09 23:45:49 +00:00
Dane Springmeyer
5e704d4b0b maintain boost 1.42 compatibility by disabling new wkt parser for boost <= 1.46 2011-09-09 09:26:11 +00:00
Artem Pavlenko
aba5f21936 + applied patch from itayperl (bidi-mirroring-SVN-r3110.patch) 2011-09-08 15:08:17 +00:00
Artem Pavlenko
53b50c871c + modify WKT parser to work with ptr_vector<geometry_type>
+ fix memory leaks in wkt_grammar
+ add support for GEOMETRYCOLLECTION
2011-09-08 11:52:51 +00:00
Dane Springmeyer
31103e4ea8 apply "fast math" patch from Herm for using faster trigonometric functions for placement - refs #840 2011-09-08 03:47:56 +00:00
Artem Pavlenko
91c315aee7 applied patch from kkaefer (gist: 9e0d59a418f8ca653d26) 2011-09-07 20:01:01 +00:00
Artem Pavlenko
02c143895d + refactor palette stuff a bit
TODO: We need to change save_to_file|string interface
  to avoid passing dummy rgba_palette objects.
2011-09-07 15:01:25 +00:00
Dane Springmeyer
25196e3a8e revise png palette api by removing default arguments to ensure no temporary references 2011-09-07 00:45:18 +00:00
Dane Springmeyer
4015d0c13b warn if a layer has no style 2011-09-05 19:32:24 +00:00
Dane Springmeyer
aa5cfad4b7 add minimum-path-length to text_symbolizer - closes #865 2011-09-04 17:33:48 +00:00
Hermann Kraus
a4475b9ac8 Remove redundant trigonometric calculations to improve performance (#840). 2011-09-02 14:44:11 +00:00
Dane Springmeyer
914ad079ec add back AlsoFilter support - re-closes #820 2011-09-02 13:10:14 +00:00
Dane Springmeyer
a966dfd7f9 scons: ensure cairo flags are set before any special handling of libmapnik env source compile flags 2011-09-01 21:04:41 +00:00
Dane Springmeyer
a8cc348483 rendering stats: print srs values when warning about reprojection 2011-09-01 15:28:08 +00:00
Dane Springmeyer
8e94bf9188 expose first pass at rendering statistics via build option 'RENDERING_STATS' - refs #780 2011-09-01 05:14:25 +00:00
Dane Springmeyer
2052e072c1 remove debug prints and lessen unneeded indenting - no functional change 2011-09-01 04:49:59 +00:00
Dane Springmeyer
d4af1dbfaa add needed include 2011-09-01 01:18:10 +00:00
Dane Springmeyer
b2dc2fa6d2 move feature_style_processor to cpp 2011-09-01 00:44:27 +00:00
Dane Springmeyer
6003a647f3 add needed include for evaluating expressions to prepare for moving feature_style_processor to cpp file 2011-09-01 00:43:46 +00:00
Dane Springmeyer
a013cd5032 add support for fixed color palettes when encoding to png 2011-08-31 02:28:14 +00:00
Dane Springmeyer
477c317753 fix typo 2011-08-31 00:25:03 +00:00
Dane Springmeyer
ce09895a53 add cache-features of list of attributes not to warn about on layer 2011-08-30 23:10:10 +00:00
Dane Springmeyer
9e87c9f914 apply patch from Peter Körner adding AlsoFilter functionality - closes #820 2011-08-30 17:38:27 +00:00
Dane Springmeyer
22c39d91ba scons: rename all SConscript files to more friendly name of 'build' with a python extension for quick syntax detection in editors 2011-08-30 05:32:01 +00:00
Dane Springmeyer
2abe4d8960 don't muffle any exceptions during load_map 2011-08-29 23:51:15 +00:00
Dane Springmeyer
2c75feed65 scons: fix bug that propagated libmapnik CXXFLAGS too liberally (in this case to plugins) 2011-08-29 23:01:33 +00:00
Dane Springmeyer
6cb31bd109 scons: better propagation of libmapnik build flags to command line utilities and mapnik-config - also remove conditional flags on specific cairo rendering .cpp files as this was not working right - closes #837 2011-08-29 21:12:22 +00:00
Dane Springmeyer
22f6c9f01a add a few direct includes 2011-08-29 21:07:45 +00:00
Dane Springmeyer
8a5e7b9f9a correctly initalize markers_symbolizer default values - avoid segfaul in carto-parser 2011-08-28 16:49:02 +00:00
Dane Springmeyer
caf541d87e add support for controlling zlib compression level and strategy when encoding to png - patch from kkaefer - closes #841 2011-08-26 05:58:21 +00:00
Dane Springmeyer
1231b96872 link to boost system on all platforms, if available - fixes debian/ubuntu compiles with packaged boost - closes #823 2011-08-17 14:32:08 +00:00
Dane Springmeyer
2922a0db02 scons: don't link agg if runtiming linking is static 2011-08-13 03:25:07 +00:00
Dane Springmeyer
da834706c6 scons: start condensing more global variables and improve support for static linking 2011-08-12 20:01:09 +00:00
Dane Springmeyer
3b424e3767 allow compile against ICU 4.0 - needed to be able to link against osx provided libicucore.dylib 2011-08-11 21:13:55 +00:00
Dane Springmeyer
af62ad9c27 scons: collect and propogate the libs used to link libmapnik 2011-08-11 21:11:11 +00:00
Dane Springmeyer
82ac99611e add LINKING option to control whether libmapnik is build static or shared and RUNTIME_LINK options to trigger dependency flags to compile against static libs 2011-08-11 19:14:00 +00:00
Dane Springmeyer
731bc4e99c fix intialization order warning 2011-08-04 19:05:28 +00:00
Dane Springmeyer
81bf8b3d06 expose the name2file mapping of font family/style and font file publically so apps can ask mapnik where a given font face was found on the filesystem 2011-07-29 18:03:45 +00:00
Hermann Kraus
53e0b22c2b Added metawriter helper function. 2011-07-28 22:59:05 +00:00
Hermann Kraus
607f4e7c99 Applied patch from Peter Körner (with small changes). 2011-07-23 00:11:01 +00:00
Dane Springmeyer
85804b797f typo 2011-07-16 15:45:40 +00:00
Hermann Kraus
08f1a71e4b Fix default value. 2011-07-16 12:40:33 +00:00
Hermann Kraus
4a7249ca50 Actually use the new pixel coordinate function. 2011-07-16 12:32:39 +00:00
Hermann Kraus
8bb6df1a07 Optionally output JSON data with pixel coordinates. 2011-07-16 12:24:52 +00:00
Dane Springmeyer
abcba2bc34 #759 is fixed, revert r3008 2011-07-16 00:25:30 +00:00
Robert Coup
8e8f43e50f Fix incorrect blending of rasters with alpha channel. Use pixfmt_rgba32_plain rather than pixfmt_rgba32, and undo old changes to blender_rgba<>::blender_pix which aren't needed anymore. Thanks @rfw, @cdestigter, @albertov [fixes #759] 2011-07-15 03:59:44 +00:00
Dane Springmeyer
7b871210c7 use namespace to avoid potential clash 2011-07-09 00:28:41 +00:00
Dane Springmeyer
f156e147d3 rollback to using pre r2543 methods for bilinear scaling (non agg) - to be used until #759 is resolved 2011-07-07 21:24:17 +00:00
Dane Springmeyer
7e1c4a58b0 add code comment about ltdl global advise usage in relation to #790 2011-07-05 23:50:30 +00:00
Dane Springmeyer
3bbd4b9b3a remove uneeded semicolon 2011-07-05 23:39:50 +00:00
Dane Springmeyer
c4fa04cdad don't suppress exception in mapnik::color constructor when init from a string 2011-07-05 23:01:51 +00:00
Dane Springmeyer
476e04c4c7 add gamma to polygon-pattern-symbolizer, useful for avoiding AA affects at tile edges so that global patterns can have seamless alignment 2011-06-28 22:37:35 +00:00
Dane Springmeyer
4dde8e8d9e warning if non svg file passed to markers_symbolizer 2011-06-24 20:34:21 +00:00
Dane Springmeyer
e94667a8ae use std::string 2011-06-24 00:53:00 +00:00
Dane Springmeyer
45965381af throw if we encounter a font file which lacks any referencable names (freetype family_name and style_name) making it basically invalid 2011-06-24 00:51:21 +00:00
Dane Springmeyer
086138dedc switch back to using grid width/height to allow for variable size grid to be rendered (purely for testing) 2011-06-16 18:08:04 +00:00
Dane Springmeyer
5f53246337 fix bug in width/height of transform in grid_renderer 2011-06-16 16:48:30 +00:00
Dane Springmeyer
1829093fc9 copy string, don't get reference from boost::filesystem::path 2011-06-13 21:42:44 +00:00
Artem Pavlenko
4a72a7d680 + fix color(std::string const& ) ctor to initialize r,g,b,a.
+ impl eq ops using boost::equality_comparable.
+ output alpha in to_hex_string if not 255.
2011-06-07 16:14:02 +00:00
Dane Springmeyer
104dd25a94 grid_renderer: only clamp markers size if initial grid resolution is reduced 2011-06-04 00:20:29 +00:00
Dane Springmeyer
7da40e3700 grid_renderer: rename step->resolution 2011-06-04 00:16:16 +00:00
Dane Springmeyer
840bb52de6 avoid compiler warning 2011-06-01 18:53:47 +00:00
Dane Springmeyer
c230ed6733 add alternative bbox forward/inverse functions 2011-05-31 22:38:15 +00:00
Hermann Kraus
8474976353 Prepare for merging "text_placement_info" and "placement". 2011-05-30 01:16:21 +00:00
Hermann Kraus
de089f0d68 Add alignment to text_placement_info. 2011-05-29 22:33:41 +00:00
Dane Springmeyer
1d07c81316 add missed commits to complete the support for map 'base' 2011-05-25 23:51:40 +00:00
Dane Springmeyer
7a17c7e597 load_map_from_string has always accepted a base path argument to drive the interpretation of relative paths in the stylesheet when loaded in memory- this really should be a full map property so that it can be known on the map object after parsing and changed if the map is saved to a new location 2011-05-25 23:48:07 +00:00
Dane Springmeyer
ba15947a4f add Projection.expanded() function to ask proj4 what its internal, normalized definition looks like (useful only for debugging) 2011-05-17 19:05:15 +00:00
Dane Springmeyer
e119dc503c move to binary grid renderer for non-aa output rather than setting gamma on aa renderer 2011-05-17 06:24:49 +00:00
Dane Springmeyer
3469c20f1c adapt to new svg renderer template 2011-05-17 06:19:41 +00:00
Dane Springmeyer
b578c02c54 make renderer type a template argument of agg svg renderer 2011-05-17 06:18:06 +00:00
Dane Springmeyer
9458e2d890 stroke-dash-offet -> stroke-dash-offset (spelling)- #762 2011-05-17 00:33:24 +00:00
Alberto Valverde
d5dafdc2be reverted patch which was committed by mistake 2011-05-12 18:11:16 +00:00
Alberto Valverde
0e0c4aa82c integrated test case from #759 2011-05-12 18:09:03 +00:00
Dane Springmeyer
aeb1b7f963 renable previous (non-agg) internal bilinear scaling method for testing #759a 2011-05-12 16:43:23 +00:00
Hermann Kraus
1cff36576c Remove empty files. 2011-05-11 12:04:18 +00:00
Hermann Kraus
f001d46efc Fix build errors introduced by r2889. 2011-05-11 00:49:52 +00:00
Dane Springmeyer
90fbd6a204 use boost::make_shared to avoid explicit new and ensure fast and exception safe allocation 2011-05-10 21:09:54 +00:00
Artem Pavlenko
53c8225246 + Shield/text misalignment patch from Ldp
( http://trac.mapnik.org/ticket/739 )
2011-05-10 21:05:40 +00:00
Artem Pavlenko
3bef010056 + move feature_factory.hpp include to impl file 2011-05-09 13:52:06 +00:00
Artem Pavlenko
498809dde8 + don't scale shield (scale_factor is applied in agg_renderer<T>::render_marker) 2011-05-09 13:51:50 +00:00
Dane Springmeyer
1b1bd4b02e sync cairo with agg renderer after r2876 2011-05-06 00:36:09 +00:00
Dane Springmeyer
f925c395e5 apply patch from kevin for #756 2011-05-06 00:33:49 +00:00
Dane Springmeyer
1070b293ad tabs -> spaces 2011-05-04 15:53:36 +00:00
Dane Springmeyer
bae28f509e wrap raster_colorizer in mapnik ns and remove uneeded includes 2011-05-04 05:19:58 +00:00
Dane Springmeyer
37118c6d5f ensure valid attributes on the RasterSymbolizer and RasterColorizer, warning if not 2011-05-04 01:57:37 +00:00
Dane Springmeyer
0a278e7c49 slighly more restrictive default max_char_angle_delta 2011-05-04 01:53:20 +00:00
Dane Springmeyer
d05b0c539f apply major refactor of RasterColorizer by ben moores from https://github.com/BenMoores/mapnik-trunk/wiki/RasterColorizer - closes #523 2011-05-04 00:20:17 +00:00
Dane Springmeyer
2c275729b1 initialize variables 2011-05-03 21:38:35 +00:00
Dane Springmeyer
adb44a6ec2 account for scaling and alpha of bitmap images in grid_renderer 2011-05-02 22:33:11 +00:00
Dane Springmeyer
e69f17eb35 add ability to pass a scaling ratio just to the affine scaling - needed by grid_renderer 2011-05-02 22:30:50 +00:00
Dane Springmeyer
c413d67b82 sync cairo's text rendering with agg 2011-04-30 00:07:03 +00:00
Dane Springmeyer
157d52e38f add option to collect the total extent of all placement bboxs to enable passing along to metawriters - modified patch from kevin.kreaiser - closes #755 2011-04-30 00:06:27 +00:00
Dane Springmeyer
ab94fd43d8 add test for grid generation, and make sure point_datasource feature id starts at 1 (as datasources should) 2011-04-29 19:25:00 +00:00
Dane Springmeyer
e9e88e0481 remove uneeded includes 2011-04-29 17:40:15 +00:00
Dane Springmeyer
b072de4769 create layer descriptor when memory_datasource is created - TODO - gather attribute descriptors as features are added 2011-04-28 17:36:36 +00:00
Dane Springmeyer
31eea84d85 get iterator type right after r2843 2011-04-27 21:06:07 +00:00
Hermann Kraus
6650f999b9 char is to short for unicode chars. Replace it with unsigned int. Should fix #746. 2011-04-27 20:28:53 +00:00
Dane Springmeyer
5eea164b5a add grid_renderer backend 2011-04-26 21:44:52 +00:00
Dane Springmeyer
9da2d701a5 further template the svg_renderer based on pixfmt 2011-04-26 17:38:18 +00:00
Dane Springmeyer
7d394f3d09 load_map: report and check transform in all cases 2011-04-26 17:33:41 +00:00
Dane Springmeyer
5bbc89674e update comments 2011-04-19 00:20:04 +00:00
Dane Springmeyer
f8b3a4b946 add serialization of all markers_symbolizer attributes 2011-04-18 01:17:57 +00:00
Dane Springmeyer
7d08f76e50 add missing 'base' parameter to parse_shield_symbolizer and correct spelling of 'filter-factor' for parse_raster_symbolizer - closes #752 2011-04-18 01:11:38 +00:00
Dane Springmeyer
e00702cd79 touchup error message if zoom_all() fails 2011-04-15 22:46:53 +00:00
Dane Springmeyer
e79e7a1413 box2d: when copying actually copy exactly rather than using init to enforce validity - closes #749 2011-04-14 19:26:49 +00:00
Dane Springmeyer
7570cb5d73 load and save the new map 'maximum-extent' attribute 2011-04-14 02:32:51 +00:00
Dane Springmeyer
8998296f7b add 'maximum-extent' attribute to map and use this, if set, in place of calculated layer extents in zoom_all() 2011-04-14 02:20:33 +00:00
Dane Springmeyer
ac3488efb6 fix return from proj_transform when coordinates cannot be reprojected 2011-04-13 21:03:15 +00:00
Dane Springmeyer
9b1080e72e don't warn if mmap's file is missing (shapefile does not have an index) 2011-04-13 20:09:52 +00:00
Dane Springmeyer
383d8a3f15 add proj_transform forward/backward box2d implementation 2011-04-13 19:40:44 +00:00
Dane Springmeyer
903d1b49ef add a clip method to mapnik::box2d 2011-04-13 19:19:23 +00:00
Artem Pavlenko
7191d56a16 + throw image_reader_exception if we can't read tiff file
+ catch image_reader_exceptions in raster.input
+ re-throw in bind()
2011-04-11 21:17:10 +00:00
Artem Pavlenko
0e0b7a578c + implement memory mapping using boost::interprocess
+ cache mapped memory regions for re-use
2011-04-06 13:02:31 +00:00
Dane Springmeyer
2699ba42d0 avoid unused parameter compiler warnings 2011-04-04 04:35:28 +00:00
Dane Springmeyer
33f6cbf13d jpeg reader: make to sure call jpeg_finish_decompress if scanlines have been read 2011-04-04 04:03:03 +00:00