From: Niels <nie...@cs...> - 2010-10-26 08:31:39
|
Hi, (In particular @Justin) While testing my changes for enabling xlink properties in geometries, I have encountered something strange in the GMLSchema class. In GMLSchema (for v3 and v3.2), MultiCurvePropertyType is bound to the class MultiLineString[] (note the array brackets) and CurvePropertyTypeBinding is bound to MultiLineString, while in the Binding classes they are bound to MultiLineString and LineString respectively (which means the encoder will enventually try to convert them to the latter classes). I think the binding classes in GMLSchema are an error, but I am wondering if it was done for a reason. In my tests I have been testing all kinds of Geometry PropertyTypes, and discovered that MultiCurvePropertyType is not being not encoded at all, while all the others are. I found that the reason is the binding to MultiLineString[] in GMLSchema. Because this class is not a geometry class (but an array), the att.descriptor for the multicurve property is not initialised as a geometryattributedescriptor, but just a normal attributedescriptor. Therefore at a later stage the whole thing cannot be handled and is thrown away. I have changed the class in GMLSchema from MultiLineString[] to MultiLineString (which I think it should be), and everything works fine now. Is this correct, and should CurvePropertyTypeBinding be changed to LineString? With Regards, -- *Niels Charlier* Software Engineer CSIRO Earth Science and Resource Engineering Phone: +61 8 6436 8914 Australian Resources Research Centre 26 Dick Perry Avenue, Kensington WA 6151 |