Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Minor
-
Resolution: Won't Fix
-
Affects Version/s: 2.1.M0
-
Fix Version/s: None
-
Component/s: unsupported
-
Labels:None
Description
The j2d renderer uses the RenderedLayerFactory to transform
FeatureCollections to RenderedLayer. This is a blocking process, no
rendering can be performed before this ends.
The idea is to create a new kind of RendereredLayer that does this transformation while rendering data the first time. This must be a composite since it will potentially be a composition of SLDRenderedGeometries and RenderedGridCoverages.
Issue Links
| This issue depends upon: | ||||
| GEOT-775 | Port the geometric part of J2D-renderer to a "rendering-targeted" ISO 19107 implementation |
|
|
|
| GEOT-18 | Enable rendering while loading only the required part of geometries, like tiles in images |
|
|
|
| GEOT-416 | Port the geometric part of J2D-renderer to a "rendering-targeted" ISO 19107 implementation |
|
|
|
| This issue is depended upon by: | ||||
| GEOT-21 | Active rendering for MapPane |
|
|
|
- Extract the Feature's bounding box only (not the full data).
The bounding box is needed in order to determine when the Feature
become visible in the Renderer's clipping area.
- Keep some pointer to a CoordinateSequence, in order to be
able to read Feature's data when they will be first needed.
Instead of wrapping RenderedLayer, I suggest to perform the wrapping at a much lower level: straight into JTS's geometry. I think it would be simplier, provides more fine-grain control and be usefull for lite-renderer as well as j2d-renderer.
- Creates a special implementation of JTS's geometry with a
special CoordinateSequence iterator. This iterator is the
place where Feature data will be fetch the first time they
are required, using streaming capability.
- Modify org.geotools.renderer.array.JTSArray in order to uses
CoordinateSequence instead of CoordinatePoint[].
From this point, basic streaming will be available in j2d-renderer. Further work would be needed later in order to allow for example progressive update of the map at rendering time.