The patch revolves around a few concepts, and a solid refactor to avoid the 
various style rescalers
to turn into a mess:
* each property representing a length can have a local uom, for example, 10px, 
15m, 8ft
* different rescalers work in different way, the generic RescaleStyleVisitor 
will multiply the number
  and leave the unit be, the DPIRescaleStyleVisitor will only rescale pixel 
values, UomRescaleStyleVisitor
  will instead turn meters and feet in pixels (taking into account the current 
scale) for display purposes
* a Measure package private class is added that parses the various measures 
into a value, a unit, and
  eventual default unit
* a RescaleMode enumeration handles the three different ways to apply rescaling
* in case the unit cannot be known during style rescaling (because the value is 
the result of a non literal
  expression) then a custom filter function is invoked that will perform the 
scaling once the specific value
  is known, allowing us to support completely dynamic values and unit (yes, the 
unit can change per property
  if needs be)

This should brings us a bit closer to SE 1.1 compatibilty, and bridge the gap 
with CSS where the only
way to specify a unit of measure is indeed per property

I plan to merge it tomorrow, but wanted to give others an occasion to comment.
Thanks for the recap Andrea, I see GEOT-4614 has been created for the release 
notes.

Our previous discussion ended with a question on assuming units, did that get 
resolved (or was their an obvious solution during implementation).

By the way, I've also added tests to make sure SLD 1.0 can round trip properly 
with property local unit
of measures, and tried to do the same with SLD 1.1 xsd-sld module but... 
discovered the module
in question works only in parsing mode, but not in encoding mode :-(
That is disappointing, I thought we had at least the symbology encoding part 
working. Apparently not.

--

Jody

------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to