将 ECQL 从 geotools 转换为 SQL

Converting ECQL from geotools to SQL

是否有用于将 ECQL(geotools) 转换为 SQL 的 java 库?

CQL 和 ECQL CQL(通用查询语言)是 OGC 为目录 Web 服务规范创建的一种查询语言。

GeoTools 可以将大多数(很多?)filter 对象转换为 SQL,然后再将它们发送到 JDBCDatastore,但这通常取决于您的目标数据库。参见,例如,org.geotools.data.postgis.PostgisFilterToSQL - 你可以这样做:

Filter filter = EQCL.toFilter("My filter goes here");
FilterToSQL encoder = new PostgisFilterToSQL(new PostGISDialect(null));
encoder.setInline(true); // don't adding WHERE
String sql = encoder.encodeToString(filter);