将 ECQL 从 geotools 转换为 SQL

Posted

技术标签:

【中文标题】将 ECQL 从 geotools 转换为 SQL【英文标题】:Converting ECQL from geotools to SQL 【发布时间】:2021-11-23 12:36:53 【问题描述】:

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

CQL 和 ECQL CQL(通用查询语言)是 OGC 为 Catalog Web Services 规范创建的一种查询语言。

【问题讨论】:

【参考方案1】:

GeoTools 可以在将大多数(很多?)filter 对象发送到JDBCDatastore 之前将它们转换为 SQL,但这通常取决于您的目标数据库。例如,请参阅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);

【讨论】:

谢谢,很有用

以上是关于将 ECQL 从 geotools 转换为 SQL的主要内容,如果未能解决你的问题,请参考以下文章

GeoTools坐标转换(投影转换和仿射变换)

Geotools 小数位

java 利用工具包Geotools实现不同坐标系之间坐标转换

java 利用工具包Geotools实现不同坐标系之间坐标转换

Java,将纬度/经度转换为 UTM [关闭]

GeoJson的生成与解析,JSON解析,Java读写geojson,geotools读取shp文件,Geotools中Geometry对象与GeoJson的相互转换