On Wed, Aug 13, 2014 at 2:36 AM, Chris Bennight <ch...@slowcar.net> wrote:

> As another take on this same problem we've been working on a Z-order
> occlusion based distributed renderer.  (This is for an accumulo <->
> geoserver datastore implementation).
>
> Currently working is a point only implementation (well, it works for
> polygons/linestrings, but calculates occlusion for the centroid only - so
> only works "right" for points))
>
> It's implemented as a WPS render transform process
>
> https://github.com/ngageoint/geowave/blob/f40a547a5227540d1b68bd75ab2057ecc7ed00cd/geowave-gt/src/main/java/mil/nga/giat/geowave/gt/DecimationProcess.java
>
> Here's the query setup code
>
> https://github.com/ngageoint/geowave/blob/f40a547a5227540d1b68bd75ab2057ecc7ed00cd/geowave-gt/src/main/java/mil/nga/giat/geowave/gt/SpatialDecimationQuery.java
>
> Index thinning
>
> https://github.com/ngageoint/geowave/blob/f40a547a5227540d1b68bd75ab2057ecc7ed00cd/geowave-gt/src/main/java/mil/nga/giat/geowave/gt/FixedCardinalitySkippingIterator.java
>
> This implementation doesn't distribute the rendering process; rather it
> defines a pixel space -> index range transform function, and when a feature
> (point in this case) is found it's returned, and the seek function in the
> database skips to the next pixel
>
> Here's a graphic example:
> https://dl.dropboxusercontent.com/u/6649380/decimation.png
>

What you are doing here in GeoTools is a rendering/store hint called
ScreenMap, and it's normally applied in memory.
However, theoretically we could do the same as, say, MinVisitor, and have
the store use a native and faster
implementation of it, like JDBCDataStore does (turning it into a select
min).

To make it possible we'd need to have ScreenMap provide its internal
information I supposed, the rendering rectangle,
and the grid to world transformation.

The advantage of doing so would be that your users would not have to add a
rendering transformation in the SLD,
it would just work automatically (downsize, there would be no way to turn
it off).

Cheers
Andrea

-- 
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.
==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39  339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------
------------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to