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