Hi,
I've found some difficulty exporting Feature to KML.
Here's my piece of code:
Encoder encoder = new Encoder(new FCKMLConfiguration());
encoder.setIndenting(true);
PipedInputStream in = new PipedInputStream();
try {
PipedOutputStream out = new PipedOutputStream(in);
new Thread(new Runnable() {
public void run() {
try {
encoder.encode(polyFeatures, KML.kml, out);
} catch (IOException e) {
log.error("", e);
} finally {
try {
out.close();
} catch (IOException e) {
log.error("", e);
}
after.run();
}
}
}).start();
} catch (IOException e) {
log.error("Problem generating export", e);
}
return in;
All works correctly but, if feature contains a "multigeometry" retrieved from
PostGIS data base, the KML entry is empy:
<kml:MultiGeometry/>
I've changed the MultiGeometryTypeBinding in this way:
@Override
public Object getProperty(Object object, QName name) throws Exception {
GeometryCollection gc = (GeometryCollection) object;
if ("AbstractGeometryGroup".equals(name.getLocalPart()) ||
KML.Geometry.getLocalPart().equals(name.getLocalPart())) {
Geometry[] g = new Geometry[gc.getNumGeometries()];
for (int i = 0; i < g.length; i++) {
g[i] = gc.getGeometryN(i);
}
return g;
}
return super.getProperty(object, name);
}
It works! I don't know if the change is correct since I do not know so deeply
the code but, if it make sense I would do a pull_request for the change.
Thanks for you fantastic works!
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel