Home | Docs | Issue Tracker | FAQ | Download | |
Date: | 2008/08/26 |
---|---|
Authors: | Stephen Lime, Håvard Tveite, Thomas Bonfort |
Contact: | Steve.Lime at DNR.State.MN.US |
Status: | Draft |
Version: | MapServer 5.4 |
Id: | $Id$ |
(partiallly derived in part from a document prepared by Håvard and discussions with other developers working on cartographic output)
Harmonize the placement of symbols relative to the feature (point or line) being drawn.
All symbols sizes and symbol geometries should be specified and represented as double - AGG supports fractional line widths so users should be able to set them explicitly. GD could either round or truncate/cast the double to an int.
Defines the centre of the symbol using decimal pixels (x axis increasing to the right, y axis increasing downwards).
Is used for placing a point symbol on the map or on a “decorated” line
Defines the center of rotation if an ANGLE is specified for point symbols.
Default value is the centre of the symbol’s bounding box.
Applies to TYPE ellipse, vector, pixmap, truetype.
Note
Implemented as ANCHORPOINT.
To specify rotation, you need a point of rotation, a reference direction, a direction of rotation and a unit of rotation.
Currently, angles for labels have a reference direction to the right (east), and a counter-clockwise direction of rotation specified in degrees (0..360).
When specifying direction/rotation for symbols, compass direction is often used (reference direction north and clockwise rotation). A mechanism to specify mode of rotation/direction is needed.
The default would be reference direction east and counter-clockwise rotation. If possible, something like:
how and with what keywords?
give hatches and vector fills a stable geographical coordinate origin (0,0) to better support tiling and continuous rendering of neighbouring polygons
TODO
Gap between point symbols when rendered on a linear geometry (used eg. for shields)
Given in decimal pixels (at the symbol scale). Defines distances (centre to centre) between point symbols for line decoration at the layers symbol scale
Default is 0.0. The first double gives the distance from the start of the line to the first point symbol, the rest of the doubles constitute a pattern of distances between the point symbols for the rest of the line.
GAP distances are scaled. Applies to TYPEs vector, ellipse, pixmap, truetype
FIXME : When drawing the symbol along a line segment, a negative GAP will add 180 degrees to the angle.
A GAP of 0 (the default value) will cause MapServer to use the symbol as a brush to draw the line. (AGG only)
The defined centre (CENTER) of the symbol is used when placing the symbol on the line. When placing the symbol on the line, the symbol is oriented in such a way that the symbol’s x-axis is directed along the line.
Note
INITIALGAP was introduced to address a part of this
renamed from STYLE
the distances are scaled
Note
PATTERN was used instead of DASHPATTERN.
this would allow doing things like removing outlines or the hollow portions of “tube” line work based on scale.
(or perhaps just method to labelObj?)
so that a default can be defined for all classes (sort of like templates). A class label would take precedent.
eg for drawing road lines with a cached outline
modifies how the current shape is interpreted. Applies to line and polygon layers (for now: any ideas for applying this to point layers?)
TYPE BBOX : use the style to render the bounding box of the current shape
TYPE CENTROID : render a single pointObj at the centroid of the feature
TYPE VERTEXES : render a pointObj at each vertex of the shape. - how to specify angle (follows line direction, fixed, ....) - need to specify a way to ignore the start and/or end points of the feature
TYPE START/END : render a pointObj at the start/end of the feature. would be used for example to add arrowheads to lines - default angle is direction of first/last segment
Note
MS RFC 48: GEOTRANSFORM Geometry operations addresses this (GEOMTRANSFORM).
Individual modifications will be tracked with their own tickets which will be listed here.
- B1: http://trac.osgeo.org/mapserver/ticket/2766 (double)
- http://trac.osgeo.org/mapserver/ticket/4066 (precise symbol placement - anchorpoint)
- http://trac.osgeo.org/mapserver/ticket/3847 (stable rendering for tile generation)
- http://trac.osgeo.org/mapserver/ticket/3797 (move from symbol to style)
- http://trac.osgeo.org/mapserver/ticket/3752 (scalable gap and pattern)
- http://trac.osgeo.org/mapserver/ticket/33879 (initialgap)