斯潘8
斯潘4
羽毛球领袖,SpatialRelator和SpatialFilter Transformers是在工作台中的数据库上执行通用空间查询的重要工具,它们允许您快速地选择查询参数,而无需为特定于数据库的SQL语法操心。但是,如果您在非常大的数据集上执行空间查询,并且不害怕编写一点SQL,您可能会受益于使用SQLExecutor Transformer中的本机SQL语句实现空间查询的性能提升。
在工作台上,您需要将您希望在空间查询中使用的基本特性连接到SQLExecutor转换器的输入端口。对于这些查询,以数据库友好格式存储几何图形是很重要的;在下面的示例工作区中,在传递给SQL执行器之前,已使用GeometryExtractor转换器将几何体提取为OGC已知文本(WKT)格式。
在SQLExecutor Transformer的“参数”对话框中,使用要查询的数据库的格式和连接详细信息填写“reader”部分的参数。在“参数”部分下,单击SQL语句参数旁边的3个点,这将打开一个文本编辑器,允许您编写SQL语句。
不同的数据库在其空间查询所需的语法上稍有不同。最好的开始方法是阅读您正在使用的空间数据库提供的文档。
下面是一个SQL语句的示例,该语句基于在工作台中创建的输入边界框的几何图形从PostGIS数据库查询功能:
选择*
来自FME,“地址点”作为AP
其中st_within(ap.geom,st_geomfromtext('@value(_geometry)',2277))=真
查询返回“fme”数据库的“address_points”表中的行,其中函数内的st_的计算结果为true。函数内的st_有两个参数:第一个参数是数据库表中候选功能的几何列(ap.geom)的名称,第二个是由st eu geomfromText函数生成的基础几何体,它本身有两个参数:输入边界框功能的wkt几何属性值和一个四位数的空间引用ID(srid)。
当查询结果连同边界框一起发送给检查器时,我们可以看到,sqlExecutor只返回框中的点功能。
?2019安全亚搏在线软件公司|合法的