Ticket #190 (closed enhancement: duplicate)
Make symbolizers editable in memory (allowing application of scaling factors)
| Reported by: | springmeyer | Owned by: | springmeyer |
|---|---|---|---|
| Priority: | critical (top) | Milestone: | 0.8.0 |
| Component: | Boost.Python Binding | Version: | SVN Trunk |
| Severity: | Normal | Keywords: | |
| Cc: | cmarqu | Patch Needs Improvement: | no |
| Needs Docmentation: | no | Has Patch?: | no |
| Design Decision Needed: | no |
Description (last modified by springmeyer) (diff)
Symbolizers are currently not editable from python (once created and attached to the Map), and fully const inside of a boost variant container in C++.
We need a way to support variable output resolutions and a key part of supporting this is allowing a scale factor to be applied to all line widths, font sizes, symbol sizes, and dash-spacing for each relevant symbolizer.
This could either be done by allowing a scale factor to be applied to all in memory symbolizer object properties or by applying a scale factor to the symbolizer processor at rendering for both agg and cairo.
The latter approach was recently taken by Mapserver:
http://trac.osgeo.org/mapserver/changeset/8843
The former approach has it benefits since all modified symbolizers could then be serialized to xml and saved.
The latter approach may be more flexible and avoids hardcoding scaled sized inside the xml.
