Hi all,

Just in time to coincide with Andrea's KML refactoring I've been putting
some time into the dynamic KML icon support I discussed previously.  I
still haven't merged the refactoring into my branch, but for the sake of
discussion I've put up my code here:
https://github.com/dwins/geoserver/compare/kml-dynamic-icons . If you just
want to use it, rebuild at least the restconfig and wms modules and request
KML from GeoServer in vector mode.  (The easiest way to do this, I think,
is to use the layer preview to get a URL to a layer in a format with fewer
format options and then just replace the format with 'kml'.)

The basic approach that it takes is to extract "dynamic" styling properties
from a style and encode them into a URL (along with the style name, to
retrieve the original static properties.)  Then a REST service interprets
those URLs to generate icons on demand.  (Depending on how long things take
I'd like to take measures to normalize properties - for example scaling
opacity to a limited precision - in order to increase the likelihood of a
caching web client like Google Earth reusing icons that are visually
similar between different features.)

The big gaps right now are:
* I'm not sure how to get a style's identifier from within the
KMLMapTransformer - AFAIK I just get the parsed Style.  The existing code
appears to use Style.getName to generate WMS links but I am 99% sure this
is a bug.  Even if .getName is correct, I would still need the workspace to
fully identify a style when generating icon URLs.  Alternatively to
identifying styles I could encode static styling properties in URLs, but I
am wary of making the icon service open-ended in this way.
* KMZ icons should be embedded in the KMZ directory structure rather than
referenced via URL.  (I am thinking I will simply hash the same information
that would have gone into the icon urls to generate probably-unique icon
file names.)
* Fix up the rest service so that it doesn't require administrative
authentication.

Of course there's also still the small matter of dealing with the new kml
module - I probably will not be able to investigate this today but it will
be a priority for next week.

--
David Winslow
OpenGeo - http://opengeo.org/
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to