span8
span4
FeatureReader,spatial alrelator和spatial过滤器转换器是在工作台中对数据库执行广义空间查询的好工具,它们允许您快速选择查询参数,而无需担心特定于数据库的SQL语法。但是,如果您正在对非常大的数据集执行空间查询,并且您不害怕编写一点点SQL,通过在SQLExecutor转换器中使用本机SQL语句实现空间查询,您可能会受益于性能的提高。
在工作台,您需要将希望在空间查询中使用的基本特性连接到SQLExecutor转换器的输入端口。重要的是,这些查询的几何图形要以数据库友好的格式存储;在下面的示例工作区中,在将几何图形传递给SQL执行器之前,使用几何提取器转换器将几何图形提取为OGC众所周知的文本(WKT)格式。
在SQLExecutor transformer的parameters对话框中,用您希望查询的数据库的格式和连接细节填写“Reader”部分参数。在“参数”部分,单击SQL语句参数旁边的3个点,这将打开一个文本编辑器,允许您编写SQL语句。
不同的数据库在空间查询所需的语法上略有不同。最好的入门方法是阅读您正在使用的空间数据库提供的文档。
下面是一个SQL语句的例子,它根据工作台中创建的输入边界框的几何形状从PostGIS数据库查询特性:
SELECT *
来自FME,“地址点”作为AP
ST_Within (ap.geom ST_GeomFromText (@ value (_geometry), 2277)) = TRUE
查询返回“fme”数据库的“ADDRESS_POINTS”表的行,其中ST_Within函数的值为true。ST_Within函数接受两个参数:第一个参数是数据库表中候选特性的几何列(ap.geom)的名称,第二个是ST_GeomFromText函数生成的基本几何图形,它本身接受两个参数:输入边界框特性的WKT几何属性值和一个四位空间引用ID (SRID)。
当查询结果连同边界框一起发送到检查器时,我们可以看到SQLExecutor只返回方框内的点特性。
©2019安全亚搏在线软件公司法律