西班牙
斯潘4
featurereader、spatialrelator和spatialfilter transformers是在workbench中对数据库执行通用空间查询的好工具,它们允许您快速选择查询参数,而无需对数据库特定sql的语法操心。但是,如果您在非常大的数据集上执行空间查询,并且不害怕编写一点sql,那么使用sqlexecutor transformer中的本机sql语句实现空间查询的性能提高可能会使您受益匪浅。
在workbench中,您需要将希望在空间查询中使用的基本特性连接到sqlexecutor转换器的输入端口。对于这些查询,以数据库友好格式存储几何图形是很重要的;在下面的示例工作区中,在将几何图形传递给sql执行器之前,已使用geometryExtractor转换器将其提取为ogc已知文本(wkt)格式。
在sqlexecutor转换器的“参数”对话框中,使用要查询的数据库的格式和连接详细信息填写“reader”部分参数。在“参数”部分中,单击SQL语句参数旁边的3个点,这将打开一个文本编辑器,允许您编写SQL语句。
不同的数据库在空间查询所需的语法上略有不同。开始的最佳方法是阅读您正在使用的空间数据库提供的文档。
下面是一个SQL语句示例,该语句基于在Workbench中创建的输入边界框的几何图形从Postgis数据库中查询要素:
选择*
来自FME,“地址点”为AP
其中st_within(ap.geom,st_geomfromtext('@value(_geometry)'2277))=真
查询返回“fme”数据库的“address_points”表的行,其中函数中的st_计算结果为true。的ST_Within函数有两个参数:第一个是在数据库表中的候选特征的几何形状柱(ap.geom)的名称,第二个是由ST_GeomFromText功能,它本身需要两个参数生成的基础几何:值 of the WKT geometry attribute of the input bounding box feature and a four digit Spatial Reference ID (SRID).
当与边框沿查询结果发送到检查中,我们可以看到,SQLExecutor只返回落在箱子内的点要素。
?2019安全亚搏在线软件公司|合法的