From: Combe, C. <C....@na...> - 2004-02-02 17:11:52
|
Hi Alberto, i took a look at this but i'm having trouble replicating your results. When i run the second code extract in your email the output i get is: here is the geometry: POINT (141 -38) here is the geometry: LINEARRING (2 20, 6 30, 17 30, 23 20, 20 10, 10 10, 2 20) here is the geometry: LINESTRING (0 10, 10 20, 30 30) here is the geometry: LINESTRING (0 50, 70 60, 100 50) which is what we'd expect. Where can the first reference to a polygon be coming from in the output you see? Perhaps you are not parsing the file you think you are? I'm also a bit confused by your results from the first piece of code... I've assumed that the piece of GML you included isn't an exact copy of your entire file, as my experience is that if the XML file doesn't contain a reference to the gml namespace at the start then GMLFilterFeature will throw a null pointer excepition. Assuming this is fixed (could just add xmlns:gml="http://www.opengis.net/gml" to the cityMember tag but really the cityMember should be inside a gml:featureCollection), then the two lineStrings cause FeatureTypeFactory.check() to complain about duplicate attribute types as it tries to create 2 LineStrings with the name 'geometry'. Again, i suspect you might not be parsing the file you think you are - for example, in the output from the first piece of code the LinearRing has mysteriously changed into a LineString. If i were you I'd double check your results and get back in touch if there's still a problem. As an aside, I think the GML spec (feature.xsd) defines centreLineOf so that it can only contain a single gml:LineString, so your GML isn't valid. This isn't why the geotools parser is unhappy with it, as it does not validate it's input. hth, colin > -----Original Message----- > From: av...@sa... [mailto:av...@sa...] > Sent: 29 January 2004 11:17 > To: geo...@li... > Subject: [Geotools-gt2-users] problems with GML2.0 archives > > > Ive been studying geotools2 for a few weeks and at this point > im lost about not sure yet about current support of geotools2 > with GML2.0 > archives. > > This is the content of my gml2.0 archive: > > <cityMember> > <River> > <gml:description>The river that runs > through Cambridge.</gml:description> > <gml:name>Cam</gml:name> > <gml:centerLineOf> > > <gml:Point> > > <gml:coordinates>141.000000,-38.000000 </gml:coordinates> > </gml:Point> > > <gml:LinearRing> > <gml:coordinates> > 2,20 6,30 > 17,30 23,20 20,10 10,10 2,20 > </gml:coordinates> > </gml:LinearRing> > > <gml:LineString gid="8" > srsName="http://?/epsg.xml#ESPG:4326"> > <gml:coordinates> > 0,10 10,20 30,30 > </gml:coordinates> > </gml:LineString> > > <gml:LineString > srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> > <gml:coord> > <gml:X>0</gml:X> > <gml:Y>50</gml:Y> > </gml:coord> > <gml:coord> > <gml:X>70</gml:X> > <gml:Y>60</gml:Y> > </gml:coord> > <gml:coord> > <gml:X>100</gml:X> > <gml:Y>50</gml:Y> > </gml:coord> > </gml:LineString> > </gml:centerLineOf> > </River> > </cityMember> > > > ...and the thing is that even before trying to render the scene, > y code > > DataSource ds = new GMLDataSource(url); > FeatureCollection featureCollection = > ds.getFeatures(Query.ALL); > FeatureIterator features = > featureCollection.features(); > System.out.println("Got " + > featureCollection.size() + " features"); > while (features.hasNext()) { > System.out.println("feature > is " + features.next()); > } > System.out.println("\n"); > > obtaining this in the output console (<gml:coord> node dissapeared): > > feature is Feature[ id=feature-31522607 , > River/description=The river that runs through Cambridge. , > River/name=Cam > , River/centerLineOf=POINT (141 -38) , River=LINESTRING (2 > 20, 6 30, 17 30, 23 20, 20 10, 10 10, 2 20) , > geometry=LINESTRING (0 10, 10 20, 30 30) ] > > > ...and with this code: > > TestHandler contentHandler = new > TestHandler(); > GMLFilterGeometry geometryFilter = > new GMLFilterGeometry(contentHandler); > GMLFilterDocument documentFilter = > new GMLFilterDocument(geometryFilter); > XMLReader parser = > XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SA > XParser"); > parser.setContentHandler(documentFilter); > parser.parse(gmlFile); > > i obtained the following output: > > here is the geometry: POLYGON ((0 0, 0 -1, -1 -1, -1 0, 0 0)) > here is the geometry: POINT (141 -38) > here is the geometry: LINESTRING (2 20, 6 30, 17 30, 23 20, > 20 10, 10 10, 2 20) > here is the geometry: LINESTRING (0 10, 10 20, 30 30) > > > ...missing the last LineString with the gml:coord node. > > so.. im able to obtain features of gml1.0 archives, but, as i > see in the FAQ about supporting > gml2.0 format, am i using something wrong?? wrong classes? im not > talking about render yet, at last there are something in geotools2 > recognizing the GML2.0 format, at least recognize the geometrics > features(gml:coord, xsd, and so on) > > thanks another time. > > > > > Alberto Vivar Guerra > Departamento de Sistemas de Negocio en Red > E-mail: av...@sa... > Extensión: 51448 > > > > Alberto Vivar Guerra > Departamento de Sistemas de Negocio en Red > E-mail: av...@sa... > Extensión: 51448 > > > SATEC, S.A. > Avenida de Europa, 34 A > 28023 Aravaca (Madrid) > Teléfono: +34 91 708 90 00 > Fax : +34 91 708 90 90 > > > -----BEGIN PGP PUBLIC KEY BLOCK----- > Version: 6.5.8ckt http://www.ipgpp.com/ > > mQGiBD/gqhoRBADkW8YZlM8BYRivP7gA9Muu6ov8ozh9sRMxDs5uFUZ9/LqJE+yi > YQbjnmHM6buITXai+YyqOx0LHLVeehYpoWaOxf16EUS5gBYLAOcxaa7UvGCaWe1s > V5hcQiRqDBQPdHuptrf6hrjPJbjDutECgUKpaa7jmSaRSyNkbEgdNrkIzQCg/8xE > Skz6cOX9mAjsU8eydNv+LN8EAKSdE9FkrXpZ9f9qEwsSB+jfVTCqQ5XIrkDngJGV > zm4WcS+CX+7g1AmzwhcpsuXk8MGtogV69rYlOh0PsSkj7Exm9FxE+s+tugLB5J7J > basOdBuNkPXe7jNA6UJ6JeKznrPd+tX58JFUh9nUyIR6IVmx/AmANzN0yq+FcDSd > NZxwBAC0cpEG1LB19Tr0AlqX3GrqGQjrq2zCmF5kUqNOXAD/UwQachgpwy1lHbmJ > p48OZATDP0smHxIbERYYtsezAaF57E5g+eDGVza3iD63fRliF5powl/i6M+fIrFm > LYRLxtVjDNY21wWoUyZ7oQ0el4prDn6xpBQjWIprPPpj9b2/grQqQWxiZXJ0byBW > aXZhciBHdWVycmEgPGFsYmVydG92aXZhckB5YS5jb20+iQBTBBARAgATBQI/4Koa > CQsJCggCBwMBBAIZAQAKCRCKFXHficYXmwFkAJ9hEI/cQ0W6SGXyObOkey5MSBZu > LgCdHJmiW/Sk+94REAovFUeu5WI2RhW0JkFsYmVydG8gVml2YXIgR3VlcnJhIDxh > dml2YXJAc2F0ZWMuZXM+iQBQBBARAgAQBQI/4KqCCQsJCggCBwMBBAAKCRCKFXHf > icYXm714AJ9l2YlBRdMT1Ax723VdpfpCrQLa+QCdF5TCZdvhJOMvzJ1eYrY+DnDd > QCC5Ag0EP+CqIBAIAMf51hH5qmIGICfMP5nswZgI31aMrXgfqgVBQmfsQ/cXJRqU > ROdP3gwjkzxWptIq6N3aMxtXaQDJw+cfb4VABuojKF9LHImrxwyC4/2k91jMUskx > eEYZs0Mxx/uaM+gSTn8yp3G4sI2Xbm+QX0JOD/4eejKL4x5lgxhSN8kyRek1vwC5 > 7K2bszhgjebrdhFzu63oDY18kffb32mujEp4ydxO/rpiHY64loka8P7XleDgtmGu > iKNlcMM0cuwQKCQYtr5dL6vJ0L27F5fk1q/vnxXUPamDmZ1JoNGRo+cw2lUun/JK > mtjjzF992f+MnHP5hoxqIhCAJcORfI+uiklCtz0AAgIIAJuByyj3Yyt1xc4aws6p > qjmLMrgMWRNv3TQA0DTh0ThXAy/t0rMsqRU5nd1hwaLOQNEpppkNFGrWX+3RTj3E > u2pCqUVu0jfVKdMJfCPS5NxJzvXuD8OxeUWvSLafSKWFGwOUGrh8pqZu6mbAvb0K > P5fKb8SgdApjg6+VferbyK8djhH/+AXB5ltnkTk0Av4d8ALwLjUmLGpxPofZlmWu > njyVVu2ZccvJBYRCb4tp2T88d3VNSJ7mhfb7IguuRCLh6kp+QAr+NkhIdt1Qv2NS > /gLgQG4xWUnQOXB6LLONmrTSaqLvgOLk9iiQleyUqnfuXuxjG6ERXwLBwiJ1vwhj > JxiJAEYEGBECAAYFAj/gqiAACgkQihVx34nGF5sEaQCeNYYN7S2zmnYdaJenEIIy > Lk+owA0An3ZaxP2udAJdHKm/KUTLuWPdSLsq > =o2vC > -----END PGP PUBLIC KEY BLOCK----- > > > > ------------------------------------------------------- > The SF.Net email is sponsored by EclipseCon 2004 > Premiere Conference on Open Tools Development and Integration > See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. > http://www.eclipsecon.org/osdn > _______________________________________________ > Geotools-gt2-users mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > |