Don't apologize - no offence was taken :) Regarding using them in a colormap as per SE 1.1, the answer is not at the moment. Somewhere in the dev list archives there is a long thread where Jody, Andrea and I discuss this. My memory of it is that once the functions were working the next step was to tackle the parser. I wanted to add a demo app showing how to use the SE 1.1 functions to display a GridCoverage2D. But, as far as I recall, updating the parser was going to be a big load of unfunded work for Andrea so that's where it sits for the moment.
As an aside, my dream would be to one day have a SLD parser built using ANTLR or similar. Maintaining and extending grammar files and associated actions is a lot easier, long term, than working with hand-built parsers. Michael On 3 December 2010 12:16, Justin Deoliveira <[email protected]> wrote: > Sorry, "better implemented" was a bad term :) What I should have said is > "better integrated" into the existing styling/rendering subsystems. And you > will have to excuse me because i am out of my element here so maybe i am > wrong. Is there any way to create a ColorMap object, or set some other > property on a raster symbolizer with these functions and have them respected > by the render? > > On Thu, Dec 2, 2010 at 6:13 PM, Michael Bedward <[email protected]> > wrote: >> >> Hi Justin, >> >> What does "better implemented" mean ? I'm asking because since I know >> those functions well I can probably help. >> >> I'm happy to follow whatever line you think is best to get SE 1.1 >> working for raster colormaps. >> >> BTW, here are relevant Jira issues... >> >> http://jira.codehaus.org/browse/GEOT-3001 >> http://jira.codehaus.org/browse/GEOT-3097 >> >> Michael >> >> >> On 3 December 2010 11:57, Justin Deoliveira <[email protected]> wrote: >> > Thanks Michael for the useful information. >> > That is more or less what I expected. I think for now in terms of >> > getting a >> > parser working it might work best just to use the existing color map >> > stuff. >> > It will be hacky but i think it is a good first step. And then once the >> > categorize/interpolate/etc... stuff are better implemented we can switch >> > over to that. >> > >> > On Thu, Dec 2, 2010 at 5:51 PM, Michael Bedward >> > <[email protected]> >> > wrote: >> >> >> >> Hi Justin, >> >> >> >> I worked on the SE 1.1 functions (Interpolate, Categorize and Recode) >> >> with the eventual hope of using them in raster colormaps, so I'm very >> >> pleased to see you getting into this. >> >> >> >> My work on the functions started from code that had originally been >> >> written by Johann. It was a mix of working code and stubs, was sitting >> >> in the render module, and implemented Function directly. I just kept >> >> it all like that and, to tell the truth, I don't think I even noticed >> >> that the interfaces you mention existed. >> >> >> >> So long story short: the existing arrangement is my laziness rather >> >> than being part of a plan. >> >> >> >> Michael >> >> >> >> On 3 December 2010 11:33, Justin Deoliveira <[email protected]> >> >> wrote: >> >> > I guess you did not read my entire email. Of course I read the >> >> > specification, that is what lead me to those classes. My q >> >> > >> >> > On Thu, Dec 2, 2010 at 5:03 PM, Jody Garnett <[email protected]> >> >> > wrote: >> >> >> >> >> >> Have a look in the specification they define them as functions there >> >> >> (hence the classes you found). se:Categorize extends se:Function >> >> >> (where >> >> >> se:Function can have a default value if the function is not >> >> >> supported). >> >> >> Jody >> >> >> On 03/12/2010, at 5:05 AM, Justin Deoliveira wrote: >> >> >> >> >> >> Hi all, >> >> >> Recently I have started working on bindings for se 1.1 in order to >> >> >> implement a paser/encoder for se 1.1 and sld 1.1. I have a question >> >> >> regarding color maps. >> >> >> In SLD 1.0 a color map is defined as: >> >> >> >> >> >> <xsd:element name="ColorMap"> >> >> >> >> >> >> <xsd:annotation> >> >> >> >> >> >> <xsd:documentation> A "ColorMap" defines >> >> >> >> >> >> either the colors of a pallet-type raster >> >> >> source >> >> >> or >> >> >> >> >> >> the mapping of numeric pixel values to colors. >> >> >> </xsd:documentation> >> >> >> >> >> >> </xsd:annotation> >> >> >> >> >> >> <xsd:complexType> >> >> >> >> >> >> <xsd:choice minOccurs="0" maxOccurs="unbounded"> >> >> >> >> >> >> <xsd:element ref="sld:ColorMapEntry"/> >> >> >> >> >> >> </xsd:choice> >> >> >> >> >> >> </xsd:complexType> >> >> >> >> >> >> </xsd:element> >> >> >> >> >> >> In SE 1.1 a color map is defined as: >> >> >> >> >> >> <xsd:complexType name="ColorMapType"> >> >> >> >> >> >> <xsd:choice> >> >> >> >> >> >> <xsd:element ref="se:Categorize"/> >> >> >> >> >> >> <xsd:element ref="se:Interpolate"/> >> >> >> >> >> >> </xsd:choice> >> >> >> >> >> >> </xsd:complexType> >> >> >> >> >> >> <xsd:complexType name="CategorizeType"> >> >> >> >> >> >> <xsd:complexContent> >> >> >> >> >> >> <xsd:extension base="se:FunctionType"> >> >> >> >> >> >> <xsd:sequence> >> >> >> >> >> >> <xsd:element ref="se:LookupValue"/> >> >> >> >> >> >> <xsd:element ref="se:Value"/> >> >> >> >> >> >> <xsd:sequence maxOccurs="unbounded" minOccurs="0"> >> >> >> >> >> >> <xsd:element ref="se:Threshold"/> >> >> >> >> >> >> <xsd:element ref="se:Value"/> >> >> >> >> >> >> </xsd:sequence> >> >> >> >> >> >> </xsd:sequence> >> >> >> >> >> >> <xsd:attribute name="threshholdsBelongTo" >> >> >> >> >> >> type="se:ThreshholdsBelongToType" use="optional"/> >> >> >> >> >> >> </xsd:extension> >> >> >> >> >> >> </xsd:complexContent> >> >> >> >> >> >> </xsd:complexType> >> >> >> >> >> >> <xsd:complexType name="InterpolateType"> >> >> >> >> >> >> <xsd:complexContent> >> >> >> >> >> >> <xsd:extension base="se:FunctionType"> >> >> >> >> >> >> <xsd:sequence> >> >> >> >> >> >> <xsd:element ref="se:LookupValue"/> >> >> >> >> >> >> <xsd:element maxOccurs="unbounded" >> >> >> ref="se:InterpolationPoint"/> >> >> >> >> >> >> </xsd:sequence> >> >> >> >> >> >> <xsd:attribute name="mode" type="se:ModeType"/> >> >> >> >> >> >> <xsd:attribute name="method" type="se:MethodType"/> >> >> >> >> >> >> </xsd:extension> >> >> >> >> >> >> </xsd:complexContent> >> >> >> >> >> >> </xsd:complexType> >> >> >> >> >> >> Quite a different structure. My question is what sorts of objects >> >> >> this >> >> >> should be parsed into. The ColorMap class as it exists seems more or >> >> >> less >> >> >> just a list of color entries, mirroring the sld 1.0 structure. But I >> >> >> also >> >> >> found a few classes living in the render package that mirror the SE >> >> >> structure: >> >> >> org.geotools.filter.visitor.Categorize >> >> >> org.geotools.filter.visitor.Interpolate >> >> >> These two are interfaces that extend Function but seem to have no >> >> >> implementation. However these two classes: >> >> >> org.geotools.filter.CategorizeFunction >> >> >> org.geotools.filter.InterpolateFunction >> >> >> Which seem to be related, although the classes don't implement the >> >> >> interfaces, they are direct implementations of Function. >> >> >> So... i am not sure what to do. Should I try to mash the new >> >> >> concepts >> >> >> into >> >> >> the existing ColorMap class... or should i try to use these new >> >> >> classes? I >> >> >> see Jody's name riddled on a few of those classes so hopefully he or >> >> >> others >> >> >> more familiar with se can provide some context. >> >> >> Thanks! >> >> >> -Justin >> >> >> -- >> >> >> Justin Deoliveira >> >> >> OpenGeo - http://opengeo.org >> >> >> Enterprise support for open source geospatial. >> >> >> >> >> >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> >> >> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! >> >> >> Tap into the largest installed PC base & get more eyes on your game >> >> >> by >> >> >> optimizing for Intel(R) Graphics Technology. Get started today with >> >> >> the >> >> >> Intel(R) Software Partner Program. Five $500 cash prizes are up for >> >> >> grabs. >> >> >> >> >> >> >> >> >> >> >> >> http://p.sf.net/sfu/intelisp-dev2dev_______________________________________________ >> >> >> Geotools-devel mailing list >> >> >> [email protected] >> >> >> https://lists.sourceforge.net/lists/listinfo/geotools-devel >> >> >> >> >> > >> >> > >> >> > >> >> > -- >> >> > Justin Deoliveira >> >> > OpenGeo - http://opengeo.org >> >> > Enterprise support for open source geospatial. >> >> > >> >> > >> >> > >> >> > ------------------------------------------------------------------------------ >> >> > Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! >> >> > Tap into the largest installed PC base & get more eyes on your game >> >> > by >> >> > optimizing for Intel(R) Graphics Technology. Get started today with >> >> > the >> >> > Intel(R) Software Partner Program. Five $500 cash prizes are up for >> >> > grabs. >> >> > http://p.sf.net/sfu/intelisp-dev2dev >> >> > _______________________________________________ >> >> > Geotools-devel mailing list >> >> > [email protected] >> >> > https://lists.sourceforge.net/lists/listinfo/geotools-devel >> >> > >> >> > >> > >> > >> > >> > -- >> > Justin Deoliveira >> > OpenGeo - http://opengeo.org >> > Enterprise support for open source geospatial. >> > > > > > -- > Justin Deoliveira > OpenGeo - http://opengeo.org > Enterprise support for open source geospatial. > ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ Geotools-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-devel
