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 > > ------------------------------------------------------------------------------ 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
