[FrontPage] [TitleIndex] [WordIndex

deegree3 Rendering Subsystem Requirements

The following table gives a revised and complete overview of all Rendering subsystem requirements. ID scheme is "rd-[g|s]-##" where "g" is for general requirements, "s" for OGC SE/SLD-related requirements. (We might want to add more of those, like "r" for raster-related rendering, "t" for text rendering, "l" for all kinds of renderings along lines ...)

Some cleaning-up might be needed for the discussion items and various references to other requirements.

ID

Feature

Minispec

Status

Priority (M-S-C-W)(*)

Discussion

rd-g01

it must be possible to read drawing order from a property

E.g. for AAA objects must be rendered according to order defined in a special property ignoring the order features are read from a backend

?

S

-

rd-g02

support rendering of complex features

rendering of complex features – implementation options: simple features with more than one geometry property; real complex features. Using SLD/SE it is possible to define which geometry property should be used for rendering. If XPath expressions are supported renderable geometries can be defined.

testing

M

We should think about if we will support XPath expressions that targets more than one property. This can be usefull if a feature has more than one geometry that should be rendered or more than one property should be used for labeling

rd-g03

support rendering of exceptions in image

rendering of exceptions in image

done

M

-

rd-g04

allow for / improve configuration of rendering quality

Rendering quality shall be configurable (e.g. low-mid-high). Layer-specific

?

M

to be clarified

rd-g05

support different rendering backends

Support for different (better) rendering engines, such as OpenGL.

?

C

Needs some prototyping.

rd-g06

support different quality settings based on geometry type

Support for different quality levels of point-, line- and polygon rendering – please specify. Especially rendering of small polygons/circles is very poor using standard awt methods.

?

?

-

rd-g07

support anti alias settings based on geometry type

antialias on a per-layer base for point-, line-, polygon- and text rendering.This means it should be possible for each layer to define if point, lines and polygons should use antialiasing

testing

M

-

rd-g08

improve rendering performance

rendering performance should be increased (e.g. by selecting a rendering engine)

in progress

M

performance is already increased. Selection of rendering engines is not yet supported.

rd-g09

support different measurements than SE/SLD

Possible values are: pixel, mapunits, mm (related to map), meter (related to map model)

testing

M

-

rd-g10

support vector output formats

creating vector graphics as result of a rendering process

not started

C

see also wms-g15

rd-g11

support cartho diagrams

better support for cartho-diagrams (read data from SOS; more supported diagram types; extended parameterization of requesting diagrams) – see also deegree2 implementation

not started

S

-

rd-g12

enable creation of complex symbolizers that will be treated as one symbolizer

Many stylings requires combination of more than one symbolizer. Such a combination must be treated as one symbolizer where each part must be able to consider/control all other contained symbolizers

?

S

-

rd-g13

it should be possible to control all styling parameters and behaviors by feature properties

-

?

M

-

rd-g14

support SLD 1.0.0 and SE

-

testing

-

rd-r01

support se:Geometry

Is not a rendering requirement. Does apply to data access, instead.

postponed

W

-

rd-r02

support se:Opacity

Opacity values range from 0 to 1 where 0 is completely transparent and 1 completely opaque.

done

M

-

rd-r03

support se:ChannelSelection

Channels may be selected from multi-channel raster data by using their name. More information from SE spec, section "ChannelSelection" in chapter "11.5.2 Parameters"

done

C

-

rd-r04

support se:OverlapBehavior

cf. SE spec, section "OverlapBehavior" in chapter "11.5.2 Parameters"

delayed

C

delayed because current raster API does not allow working with multiple rasters

rd-r05

support se:ColorMap

cf. SE spec, section "se:ColorMap" in chapter "11.5.2 Parameters" and 11.6.4 Transformation functions (see also deegree2 implementation and deegree3 Filter framework)

done

M

-

rd-r06

support se:ContrastEnhancement

cf. SE spec, section "ContrastEnhancement" in chapter "11.5.2 Parameters"

done

C

-

rd-r07

support se:ShadedRelief

cf. SE spec, section "OverlapBehavior" in chapter "11.5.2 Parameters" (see also deegree2 implementation (for BrightnessOnly = FALSE))

partially done

S

works for BrightnessOnly=false. Current raster API does not allow working with multiple rasters

rd-r08

support se:ImageOutline

cf. SE spec, section "ImageOutline" in chapter "11.5.2 Parameters"

done

C

-

rd-l01

support for line decorations (as sizeable verctor graphics)

e.g. arrows at line start-/end-node

not started

M

-

rd-l02

directed signatures

e.g. arrows along lines

not started

M

-

rd-l03

Definition how line signatures are wrapped at vertices.

Possible solutions could be ignore overlapping symbols, to remove overlapping symbols, to merge them and/or to adapt them

not started

M

-

rd-l04

It must be possible to define size of of symbols drawn along lines, their color, gap, start gap, vertical distance to line

-

testing

M

-

rd-l05

Positioning of a symbol along a line must be possible by determining % of line length

This can be used for example to center a symbol between two vertices or start & end node of a line

?

M

-

rd-l06

Have line patterns with different gaps

-

?

M

-

rd-l07

a size of 0 and using round line ends must create a circle with r = linewidth/2

-

?

M

-

rd-l08

It must be possible to render a lines vertices

-

?

S

-

rd-l09

redering must support different styles for line border and line fill

-

?

M

-

rd-l10

Start- and ending symbols must be rotated according to line direction

-

?

M

-

rd-l11

Start- and ending symbols must be displaceable

-

?

M

-

rd-l12

It should be possible to set symbol position along a line as percent of a lines length

e.g. a postion of 0.5 defines that a symbol will be rendered at the center of a line

?

M

-

rd-l13

It must possible to create saw-shaped line with defined size and angle of/between saw segments

-

?

M

-

rd-pt01

improve auto-positioning

support for better positioning of symbols (like for text) , layer comprehensive auto-positioning (configurable according to quality)

not started

M

-

rd-pt02

support for vector graphis (SVG, WKT) with definable width/height

-

?

M

-

rd-pt03

Definition of ancor point and displacement should be possible

-

?

M

-

rd-pt04

Rotation of symbols around ancor point should be possible

-

?

M

-

rd-pt05

Rotation of symbols around their center should be possible

-

?

M

-

rd-pt06

support TTF symbols

true type font files shall be used for symbol rendering. Single symbols from font file are selected by using the ID. Rendering is configurable with color, size, (as in SE)

not started

S

-

rd-pt07

Symbol positioning using displacement (just one value) and angle should be possible

For AAA symbol (and text) displacement is not defined as in SLD/SE by using displacment values in x- and y-direction. It is defined by single displacement value and an angle

?

C

-

rd-pol01

support fill pattern specification

definition of fill patterns using matrices and color settings – please specify, matrices?

obsolete

C

A special case of pol02-pol05

rd-pol02

support vertical and horizontal distance between of fill pattern symbols

pol02-pol05 are handled by additional SLD/SE parameters

?

M

-

rd-pol03

support rotation of fillpattern symbols

-

?

M

-

rd-pol04

setting size of fill pattern must be supported

-

?

M

-

rd-pol05

setting rotation of fill pattern must be supported

-

?

S

-

rd-pol06

Polygon border should support same style settings as linestrings

-

?

M

-

rd-t01

improve text positioning

better support for manipulation of text positions (displacemant, rotation for lines and for polygons, wrap around lines). In general: textpositioning for points should support the same feature as point symbols; text positioning along lines should support same feature a symbols along lines

not started

M

-

rd-t02

improve text placement for polygons

force text placement with a polygon (representative point or line as specified in SE or on polygon border)

testing

M

-

rd-t03

support gap definition between text repetition

support for definition of space between repeated text along lines

testing

M

-

rd-t04

horizontal and vertical displacement should be supported

-

?

M

-

rd-t05

support minimum space definition for text rendering

support for definition of minmal space between text and start-/end-node of a line

testing

S

-

rd-t06

restrict label repetition

support for forcing painting a text just once along a line

testing

S

AP: It should configurable if a text will be rendered along a line as long there is engouph space or if it just should be rendered once no matter how the line is

rd-t07

ensure text readability

ensure that all lables are completely within a map

not started

S

It is assumed that this behaviour is only used, when auto-placement is selected.

rd-t08

It should be possible to render '/' as horizontal break line

defined in AAA; if some special masks will be used a '/' still should be rendered as '/'. The complete behavior should be configurable

?

C

-

rd-t09

It should be possible to create one text by concatinating two or more properties

-

?

S

-

rd-t10

bended text for point placements

defined in AAA

?

S

-

rd-t11

definition of any available ttf as used font should be possible

-

?

M

-

rd-t12

It should be possible to set text position along a line as percent of a lines length

e.g. a postion of 0.5 defines that a text will be rendered at the center of a line (required by AAA)

?

S

-

rd-t13

depending on placment type fixed horizontal and vertical alignments (left, right, bottom, top, center) should be supported

-

?

S

-

rd-t14

Rotation of text around ancor point should be possible

-

?

M

-

rd-t15

Rotation of text around their center should be possible

-

?

M

-

(*) M-S-C-W: Must have, Should have, Could have, Won't have


CategoryDeegree3


2018-04-20 12:05