Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional capabilities required for completeness #45

Open
jerstlouis opened this issue May 4, 2023 · 11 comments
Open

Additional capabilities required for completeness #45

jerstlouis opened this issue May 4, 2023 · 11 comments

Comments

@jerstlouis
Copy link
Member

jerstlouis commented May 4, 2023

Definitely missing to add

  • geometry selection (property) -- discussion: accessing members / array elements for rings, points to create new geometry e.g., first and last points
  • Perpendicular offset: geometry manipulation function? PostGIS st_offsetCurve?
  • Centroid function
  • ContrastEnhancement
  • Hue rotation / Saturation / Brightness (Gamma?)
  • vis.feature.pass
  • size of graphics that repeats -> border between repeat item (padding)
  • Extrusion is missing
  • Default Values: Move to core
  • Gradient control (linear / radial, extent)
  • Math functions (cos, sin, atan, sqrt, log...)
  • Symbolizing Coverages with Markers (graphics) e.g., symbolizing Eastward and Northward wind speed with oriented arrows
  • Clarify lines labeling -- separate "shield" property for road shields?

To discuss

  • vertical / horizontal hatches ?
  • arrow caps?
  • substitute(): parameter to replace occurrences x..y?
  • Images outline? (Merge Font/Shape outline and move to Graphic?)
  • Look at QGIS 3D Symbology: https://docs.qgis.org/3.28/en/docs/user_manual/style_library/3d_symbols.html
  • Dash / hatch / stipple offsets necessary?
  • Interpolate function? (probably not needed: can achieve with math functions)
@maxcollombin
Copy link
Collaborator

maxcollombin commented Jun 6, 2023

Trying to go through SLD/SE...

What about:

  • Filter -- > ElseFilter (default rule outside nested rules, overiding rule concept)

  • Gap, InitialGap (pattern stroke): see link1, link2, link3

  • OverlapBehavior for Coverage styling (LATEST_ON_TOP, EARLIEST_ON_TOP, AVERAGE, RANDOM) (<> viz.feature.pass) -- > zOrder & sortBy? sortBy can also controls the cloudcover; not client but server side?: see link -- > should be moved to clause_18_functions as an aggregatefunction such as colorChannels.r: Aggregate(red, average, ['time'])

  • ContrastEnhancement for Coverage styling: Normalize, Histogram, or GammaValue (link1,link2, link3,link4,link5)

  • Hill shading (ShadedRelief in SE) Consider brightness only (multiply blend mode)

  • During the 126th OGC Member Meeting, someone also suggests to add polyhedron styling calpabilities (like edges and faces color selection in CesiumJS).

  • We could also add the voronoi diagram and the concave hull in the geometry manipulation functions. (not in OGC Simple Feature Access); Voronoi diagram should be considered as a proper rc (to be discussed).

@maxcollombin
Copy link
Collaborator

maxcollombin commented Jul 1, 2023

Define proper clause/class (one for points, another for lines & polygons) for raster to vector (representation of coverages with markers, lines, etc.)
Something like "Rendering Transformation"?

NOTE: Instead of the coverage to feature transformation, the following properties: contour field, contour distance & contour start should be added.

@maxcollombin
Copy link
Collaborator

maxcollombin commented Jul 1, 2023

Backlog

  • geometry selection (property) -- discussion: accessing members / array elements for rings, points to create new geometry e.g., first and last points: see link1, link2
  • Perpendicular offset: geometry manipulation function? PostGIS st_offsetCurve?: see link
  • Centroid function: see link
  • Hue rotation / Saturation / Brightness (Gamma?): see link
  • size of graphics that repeats -> border between repeat item (padding)
  • Extrusion is missing: see link1, link2, link3
  • Default Values: Move to core: see link
  • Gradient control (linear / radial, extent): see link1, link2, link3
  • Math functions (cos, sin, atan, sqrt, log...): see link1, link2
  • Clarify lines labeling -- separate "shield" property for road shields? (this should be covered by the class "Pattern Strokes")
  • vertical / horizontal hatches ? (this should be covered by the class "Pattern Strokes")
  • arrow caps? (it doesn't seems to be relevant and shouldn't be considered)
  • Images outline? (Merge Font/Shape outline and move to Graphic?): see link
  • Dash / hatch / stipple offsets necessary?: see link1, link2
  • Interpolate function? (probably not needed: can achieve with math functions; exists in SE): see link
  • Should a Recoding class be defined (as in SE; proposed in the associated PR; can be removed): Link
  • Filter -- > ElseFilter
  • Gap, InitialGap
  • OverlapBehavior for Coverage styling (LATEST_ON_TOP, EARLIEST_ON_TOP, AVERAGE, RANDOM) -- > should be moved to clause_18_functions
  • ContrastEnhancement for Coverage styling (Normalize, Histogram, or GammaValue)
  • Symbolizing Coverages with Markers (graphics) e.g., symbolizing Eastward and Northward wind speed with oriented arrows Link1, Link2

NOTE: to be taken over from here⬇:

  • Hill shading (ShadedRelief in SE) Consider brightness only (multiply blend mode); This is equivalent to the opacityMap parameter
  • Add concave hull to in the geometry manipulation functions. (not in OGC Simple Feature Access): see link
  • Voronoi diagram should be considered as a proper conformance class (to be discussed).: see link
  • vis.feature.pass (cf issue Proportional symbol #20)(mutliple symbolizers vs mutliple rules vs mutliple featuretypestyle; which relation with z-order? ): see link
  • Define proper conformance classes (one for points, another for lines & polygons) for raster to vector transformation (representation of coverages with markers, lines, etc.) see this reference
  • 3D and consideration on AR/VR (in the same rc)
  • Polyhedron styling calpabilities (like edges and faces color selection in CesiumJS).

To be partially considered:

Not to be considered:

@maxcollombin
Copy link
Collaborator

maxcollombin commented Jul 5, 2023

Should we also include rc on AR/VR and Big Geospatial Data in relation to the discussions at the Portayal Workshop (ICA & OGC) at the 126th Member Meeting?

@chris-little
Copy link

@maxcollombin I definitely think so. In the past in the Portrayal sessions, i raised those use cases. I have never been convinced by the approach of '3D is just an extension of 2D'. By exploring 3/4D, some concepts will be seen to be too narrow or even wrong. For example

  1. In a stereo display, labels (subtitles in the movies) may be on a different focal plane.
  2. Gaps in roads/rail/rivers at bridges do not exist.
  3. Markers of a 2D point like feature may be a 4D animated object (little 3D animations of lightning or snow falling are very common on TV weather forecasts).

@maxcollombin
Copy link
Collaborator

maxcollombin commented Jul 7, 2023

Consider also the following classes/ressources:

  • Composite and blending modes (see viz.pass or could be included in an extension)

  • Simplification (Douglas-Peucker, Visvalingam / effective area, Visvalingam / weighted area: could be defined as a custom function but should'nt be integrated in the spec; also a part of OGC API Features

  • 3D

  • AR/VR cf @chris-little comment's 1st bullet point

@maxcollombin
Copy link
Collaborator

Thanks for you comment @chris-little

  1. In a stereo display, labels (subtitles in the movies) may be on a different focal plane.

This should definitely be considered

  1. Gaps in roads/rail/rivers at bridges do not exist.

We are not sure to perfectly understand your comment. Could you be more explicit?

  1. Markers of a 2D point like feature may be a 4D animated object (little 3D animations of lightning or snow falling are very common on TV weather forecasts).

This should also be added and considered with issues #3 and #7

@chris-little
Copy link

Gaps in roads/rail/rivers at bridges do not exist.
A lot of styling for 2D maps fusses over bridges - e.g. red road crosses over black railway - Ah we can set z order and over-painting mode in the graphics display - oh no, we can't as black railway then crosses over red road. So we split the road and railway into segments, etc....
Or am I being too simplistic?

maxcollombin added a commit to maxcollombin/styles-and-symbology that referenced this issue Feb 1, 2024
@sumitsane
Copy link

Can we have additional class requirement for shadow (vector symbol)?

@jerstlouis
Copy link
Member Author

Fallback values for complex expressions.

@maxcollombin
Copy link
Collaborator

sysId extension that reflects the percentage of the position on the LineString
https://docs.qgis.org/3.34/en/docs/user_manual/style_library/symbol_selector.html#id5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants