Commit graph

629 commits

Author SHA1 Message Date
Dane Springmeyer
22fc14ef05 + ability to pass coord2d to box2d::re_center in core and python 2010-08-19 21:35:27 +00:00
Dane Springmeyer
b307013ba2 add additional support for dynamically drawing ellipses in the markers_symbolizer, now supporting both line/point placement, metawriters for point placement, and width/height/stroke attributes - TODO - reflect in python bindings, buggy matrix transform for ellipses 2010-08-19 17:33:01 +00:00
Dane Springmeyer
a7e9cc7e87 make output of empty json (if no features are hit) on by default, and rename parameter from 'only-nonempty' to 'output-empty' 2010-08-19 05:50:08 +00:00
Hermann Kraus
d3bb11456f Last Summer of Code changes: Support metawriter in upgrade_map_xml.py, fix attribute collector. 2010-08-16 19:14:21 +00:00
Hermann Kraus
55d9bf3290 Add glyph dimension caching and move functions from .hpp to .cpp 2010-08-13 18:41:54 +00:00
Hermann Kraus
7fea0f7a6c Metawriter support for LineSymbolizer and LinePatternSymbolizer 2010-08-12 21:39:29 +00:00
Hermann Kraus
fb4baa4fcf Metawriter support for LineSymbolizer and LinePatternSymbolizer 2010-08-12 19:12:15 +00:00
Marcin Rudowski
bd8f189bd1 fix raster blending, ported r2137, fixing #589 2010-08-12 06:59:35 +00:00
Hermann Kraus
24fb874c7d Add metawriter support to save_map.cpp 2010-08-12 00:11:01 +00:00
Dane Springmeyer
0637d59b5c make SVG processor dependent (for now) on SVG_RENDERER scons option 2010-08-10 23:46:11 +00:00
Dane Springmeyer
6cce96dd06 upgrade default projection of epsg:4326 to match exactly what proj4 stores in /usr/local/share/epsg for 4326 (aka WGS84) 2010-08-10 18:18:31 +00:00
Dane Springmeyer
5297d9bba0 allow for maintaining default ctor for projection class, reverting part of r2105 and part of r2102 (would have caused compile problems in mod_tile) - see also #333, which this sets us up for 2010-08-10 17:42:17 +00:00
Dane Springmeyer
48a9edb01c allow vertex_vector2 to be copyable, enabling compiles on osx - needs second look #588 2010-08-10 17:22:21 +00:00
Hermann Kraus
db21530977 Add symbolizer_base constructor to all symbolizers. 2010-08-10 12:34:44 +00:00
Hermann Kraus
30470bd52b Metawriter support for TextSymbolizer. 2010-08-10 12:19:19 +00:00
Hermann Kraus
85cd4b67c3 Get full fontsize information. 2010-08-10 12:05:38 +00:00
Carlos López
fda7f66204 Added missing files from last commit. 2010-08-10 08:25:09 +00:00
Carlos López
e390715c58 Added support for processing multiple symbolizers to svg renderer. 2010-08-10 08:23:02 +00:00
Hermann Kraus
72c5983f1e Fix typo. 2010-08-08 19:00:56 +00:00
Hermann Kraus
92626bc1ad Document metawriter classes. 2010-08-08 02:42:40 +00:00
Hermann Kraus
0fdf3a2463 Pass parameter as const&. 2010-08-07 20:03:05 +00:00
Artem Pavlenko
ccf9f841da destroy source glyph in FT_Glyph_Stroke 2010-08-05 11:56:26 +00:00
Artem Pavlenko
7e0e117352 + call FT_Done_Glyph on (FT_Glyph_Copy) created glyph 2010-08-05 11:56:18 +00:00
Artem Pavlenko
f9b9c14500 pass parameters by const ref 2010-08-05 11:56:11 +00:00
Hermann Kraus
5725c694c6 Add "only-nonempty" to XML config. 2010-08-02 12:37:15 +00:00
Hermann Kraus
035e99d2f0 Only initialize proj_transform once in metawriter_json_stream. 2010-08-02 12:14:27 +00:00
Hermann Kraus
03718169b1 Only write non-empty tiles. 2010-08-02 01:35:18 +00:00
Hermann Kraus
75dcf67c92 Add some helper functions. 2010-08-02 00:37:15 +00:00
Hermann Kraus
0ae110015b Metawriter: Only write features that are actually rendered. 2010-08-01 15:07:50 +00:00
Hermann Kraus
8f8903baa5 Bugfix + better performance. 2010-07-31 10:20:56 +00:00
Carlos López
eec4864f41 SVG renderer now outputs path tags for polygons, with a fixed stroke color and size. 2010-07-30 22:15:50 +00:00
Carlos López
9af87ba8db SVG generator outputs path vertices in user coordinates. 2010-07-30 18:40:41 +00:00
Hermann Kraus
3791e95eda Some metawriter fixes. 2010-07-29 16:49:47 +00:00
Carlos López
6872d13968 Implemented svg_renderer::process_polygon_symbolier that uses the SVG path grammar, which outputs coords in map coords. 2010-07-28 06:50:25 +00:00
Carlos López
39a1038eb8 Added missing files: include/mapnik/svg/svg_generator.hpp and include/mapnik/svg/svg_generator_path_grammar.hpp. 2010-07-26 06:23:43 +00:00
Carlos López
853d55b7d6 Changed geometry and vertex_vector2 back to inherit from boost::noncopyable. Thought that Karma would require them to be copyable. 2010-07-26 06:19:50 +00:00
Carlos López
f44333fa4e Added dummy grammar to generate SVG paths from geometries, as well as an SVG generator component. 2010-07-26 04:25:09 +00:00
Hermann Kraus
87fd78f313 Add support for dynamic filename in metawriters. 2010-07-25 22:41:18 +00:00
Hermann Kraus
7df4474f0b Add metawriter properties to Map object. 2010-07-25 21:05:30 +00:00
Carlos López
b5b94a868c Changed template parameter type from stream to iterator and added a specialization for std::ostream_iterator. 2010-07-22 04:48:11 +00:00
Dane Springmeyer
f802d21865 speed optimizations by more careful use (or avoidance) of locking around projection code 2010-07-21 23:05:22 +00:00
Dane Springmeyer
8b66c34eca only using cache-first logic if caching features 2010-07-21 00:43:13 +00:00
Artem Pavlenko
1ecdba1965 + fix feature caching implementation - collect
attributes names from all active styles

+ use BOOST_FOREACH to improve readability

 TODO - move 'filter_factor' to raster_symbolizer
2010-07-20 22:21:14 +00:00
Carlos López
bb44d76ee1 Added generation of SVG root element with width and height attributes. Also added test for testing the output generated by svg_renderer (combined_test.cpp). 2010-07-20 06:41:16 +00:00
Carlos López
789ff19824 Added generation of XML declaration and doctype definition to svg_renderer. 2010-07-20 01:35:01 +00:00
Carlos López
30e85c4d58 Added template parameter and data member to svg_renderer for holding the output stream. 2010-07-20 00:40:37 +00:00
Carlos López
eb7da9bcf5 Added the path of the svg_renderer's files to scons for compilation. There is no variable yet to disable their compilation. 2010-07-19 19:48:34 +00:00
Artem Pavlenko
8b8e247e62 + add support for background-image attribute
( background image is repeated both vertically
   and horizontally )
2010-07-19 11:10:03 +00:00
Artem Pavlenko
4bf42fe2d7 + pass std::string argument by const& 2010-07-19 11:09:44 +00:00
Hermann Kraus
384c703557 Remove unneeded headers from save_map.{cpp,hpp} 2010-07-19 00:21:53 +00:00
Hermann Kraus
2c10bb68ef Enable metawriter_json to operate on any stream object. 2010-07-18 23:49:11 +00:00
Dane Springmeyer
7918184d13 add helper functions for recursively registering fonts, and ensure they match one of the known freetype2 supported fonts (by ext) - closes #559 2010-07-15 23:04:51 +00:00
Dane Springmeyer
4f9d6e135c output metadata about the searched plugin directories if a plugin cannot be found - closes #568 2010-07-15 21:11:41 +00:00
Artem Pavlenko
3d888515b3 + add feature caching support when multiple styles are
specified for the same layer. This should reduce
  I/O for complex styles and make multiple styles per
  layer a relatively cheap op. TODO: tweak memory_datasource
  impl.
2010-07-15 12:35:25 +00:00
Carlos López
d273101adc Added empty svg_renderer class, with unimplemented methods. 2010-07-15 05:32:31 +00:00
Dane Springmeyer
e670a1c44d only expose save_to_cairo_file if cairo support available 2010-07-14 18:30:22 +00:00
Artem Pavlenko
5c2f51504a + call base class ctor 2010-07-14 14:46:26 +00:00
Hermann Kraus
7e10a32503 Created a class for metawriter_properties. 2010-07-14 10:34:18 +00:00
Dane Springmeyer
ae0274cc6b make sure to only use mutexes if THREADING=multi/MAPNIK_THREADSAFE=True 2010-07-14 01:28:28 +00:00
Hermann Kraus
d5b0432dd7 Many metawriter improvements:
- Easier to configure
- Correct JSON output
- Handling more than one renderer run (writing pre-/postamble is no longer done in constructor/destructor)
- Collect all attributes required by metawriters
2010-07-12 15:27:33 +00:00
Hermann Kraus
9a0bcf23be Added basic infrastructure for metawriter and support for JSON output (limited to PointSymbolizer atm) 2010-07-06 00:37:05 +00:00
Artem Pavlenko
aa0e17afd1 + check cached connection status before returning.
if PQstatus(conn) == CONNECTION_BAD attempt to
  create a new one
+ expose "conect_timeout" PG connection parameter
  default to 4 sec
+ throw mapnik::datasource exception if connection
  is 'bad' in mapnik::features(..)
2010-07-02 11:42:35 +00:00
Artem Pavlenko
a486aed3af + fixed bug introduced in r1920
(ustring parser includes single quotes
   - remove extra '\'' in match/replace)
2010-06-28 22:43:35 +00:00
Artem Pavlenko
70b2453065 + add explicit support for shield displacement
(NOTE:text displacement is relative shield!)
2010-06-28 21:32:30 +00:00
Artem Pavlenko
9b3809443c + fix naming style in mapnik::Map 2010-06-25 15:23:35 +00:00
Artem Pavlenko
b472808fb1 + refactor remaining processing methods in agg_renderer
+ move agg_renderer.cpp to src/agg
2010-06-24 15:57:25 +00:00
Dane Springmeyer
04b7f5aa6f maintain boost 1.42/1.41 compatibility as lemexe appears to behave like no_skip with boost 1.42 2010-06-23 03:53:29 +00:00
Artem Pavlenko
8c8f303429 + allow empty strings in expressions e.g [name] <> '' 2010-06-22 13:06:55 +00:00
Artem Pavlenko
2f3a2c88b3 + css color grammar
- case-insensitive named colors
  - corrected alpha values parsing
2010-06-21 10:38:46 +00:00
Artem Pavlenko
ff9cca417b + use no_skip[] instead of lexeme[] directive
to avoid pre-skipping
2010-06-21 09:40:46 +00:00
Dane Springmeyer
e21f670275 add missing include 2010-06-21 03:18:07 +00:00
Dane Springmeyer
701c091f81 remove unneeded includes 2010-06-21 02:56:29 +00:00
Dane Springmeyer
0959f8ef16 + add support to polygon_patter_symbolizer for global pattern alignment in addition to local/feature (default) alignment - closes #203 2010-06-20 22:36:49 +00:00
Dane Springmeyer
182628e3ab + add filter_factor on mapnik::query and allow setting of factor for image scaling modes which demand high quality resampling - bilinear requires 2x, others in future like lanzcos may require 3-4x - addresses #563 2010-06-20 04:01:59 +00:00
Artem Pavlenko
e81b1abb8f + add implementation files 2010-06-18 15:39:57 +00:00
Artem Pavlenko
7bf6a35f5f + fixed clang++ issue 2010-06-18 15:39:40 +00:00
Artem Pavlenko
cf26db081a + refactor path expressions parser 2010-06-18 15:39:32 +00:00
Artem Pavlenko
ca59a06743 + move deg2rad to svg_path_commands 2010-06-18 15:39:23 +00:00
Artem Pavlenko
4c3eba876d + fixed template parameter shadowing (clang++) 2010-06-18 15:39:14 +00:00
Artem Pavlenko
5461739e64 + remove ununsed varialble 2010-06-18 15:38:59 +00:00
Artem Pavlenko
a5557d2b98 + qualify wit std:: 2010-06-18 15:38:52 +00:00
Artem Pavlenko
c99dff801a + forward decl mapnik::Map 2010-06-18 15:38:29 +00:00
Artem Pavlenko
79458691a1 + 'mutable' can't be applied to ref 2010-06-18 10:53:42 +00:00
Artem Pavlenko
e645338237 + use FT_Stroker to stroke glyphs outlines
(we can have outlined text now!)
+ allow fractional halo_radius
+ TODO: Rename halo_fill to stroke
               halo_radius to stroke-width
+ TODO: Implement proper 'halo' effect
2010-06-16 15:15:13 +00:00
Artem Pavlenko
e572b83d3a + fix copy ctor in symbolizer_with_image 2010-06-15 13:36:41 +00:00
Artem Pavlenko
9826cf98c5 + move opacity parameter to the base class
(symbolizer_with_image)
+ rename opacity to text_opacity in text_symbolizer
  to avoid name clashing
2010-06-15 12:27:42 +00:00
Artem Pavlenko
f43c36daad + separate state mutating svg ops from underlying data
to allow multi-threded access to svg symbols (SVG commands
  are stored in std::vector<vertex_type> )
2010-06-14 16:38:02 +00:00
Artem Pavlenko
6030efab50 + specialise svg parsers to expect const char* input 2010-06-14 13:18:17 +00:00
Artem Pavlenko
b309bba36e + pass scale_factor to feature_style_processor 2010-06-14 10:29:29 +00:00
Artem Pavlenko
03092107b6 + refactor path grammar to match svg spec close
+ ensure first 'moveto' command is always in
  absolute coordinates
  FIXME:probably better to modify path grammar
        to handle this.
+ vertex_stl_storage
2010-06-13 20:24:46 +00:00
Artem Pavlenko
68522e39fc + use agg implementation for circle,ellipse and rounded_rect 2010-06-13 13:45:59 +00:00
Artem Pavlenko
30b87400ca + put rasterizer def into sepatate header 2010-06-13 12:03:42 +00:00
Hermann Kraus
31a7aa2a3d Output a warning if a style is not found. 2010-06-13 00:19:56 +00:00
Artem Pavlenko
d272326d88 + skip <defs>...</defs> 2010-06-11 14:09:05 +00:00
Artem Pavlenko
b1b730d94c + add middle_point() method
+ fixed 'point' positioning
  in shield_symbolizer
2010-06-10 16:34:52 +00:00
Artem Pavlenko
11fad966cb + add experimental 'scale_factor'
TODO: discuss with Carlos and Dane if this is a better approach
  than having scale_factor in mapnik::Map object.
2010-06-10 14:12:20 +00:00
Artem Pavlenko
25dcebc18a + correct 'opacity' parameter logic
(SVG spec: 'The uniform opacity setting to be applied across an entire object.')
2010-06-10 14:12:12 +00:00
Artem Pavlenko
cc7e803b9d + preserve previously set alpha channel in
stroke/fill assignment so constructs like :
     style="fill-opacity:0.5;fill:blue"
  work with current svg attributes implementation
2010-06-10 14:12:03 +00:00
Artem Pavlenko
7e89bfa2db + don't use mapnik namespace inside mapnik namespace 2010-06-10 14:11:40 +00:00
Dane Springmeyer
f5ed4305f4 expose more coordinate transform methods, allowing projecting box2d<double> into screen coordinates at the same time as reprojecting geographical coordinates 2010-06-08 20:27:28 +00:00