Tengo algunos cql attr > PLACEHOLDER
que quiero convertir en XML válido utilizando geotools. He oído hablar de términos como las funciones de filtro que de alguna manera puede reemplazar el marcador de posición con una función, pero no totalmente seguro de la mejor manera de ir sobre esto.
Respuesta
¿Demasiados anuncios?
Adam Ernst
Puntos
6939
Escribí un entrada del blog sobre esto hace unos años.
org.geotools.xml.Configuration configuration = new org.geotools.filter.v1_0.OGCConfiguration();
org.geotools.xml.Encoder encoder = new org.geotools.xml.Encoder(
configuration);
encoder.setIndenting(true);
line = "attr > PLACEHOLDER";
try {
Filter filter = CQL.toFilter(line);
// System.out.println("\t" + filter);
encoder.encode(filter, org.geotools.filter.v1_0.OGC.Filter, System.out);
} catch (CQLException e) {
e.printStackTrace();
}
Obviamente, en un programa real, querrías escribir en un StringBuffer o algo así en lugar de stdout. Si quieres usar el filtro en otros puntos del código de GeoTools todo lo que necesitas es filter
.