斯潘8
斯潘4
羽毛球领袖,SpatialRelator和SpatialFilter Transformers是在工作台中的数据库上执行通用空间查询的重要工具。它们允许您快速地选择查询参数,而无需为特定于数据库的SQL语法操心。然而,如果您在非常大的数据集上执行空间查询,并且不害怕编写一点SQL,您可能会受益于使用SQLExecutor Transformer中的本机SQL语句实现空间查询的性能提升。
注意:虽然这个例子关注PostGIS格式,它也适用于其他数据库格式。
提取一段邻域多边形数据,成为空间查询的边界框。边界框的几何图形提取为OGC已知文本,并创建SQL语句。该空间SQL查询应用于存储在PostGIS数据库中的邮政地址数据。以及使用数据检查器查看的结果。
完成本机空间查询工作区
下载spacequeries-sqleexecutor.fmwt是完整的工作区。如果您想自己创建工作区,请下载vancouverneighborhods.kml并按照以下步骤创建它。
1。源数据
选择读卡器>添加读卡器,并输入kml作为格式。导航到并选择vancouverneighborhods.kml数据集。
2。重新设计
源数据必须与数据库数据在同一坐标系中。添加csmapreprojector,将源坐标系保留为
三。提取边界框
提取一个边界框,以供函数内的st_使用。在这个例子中,一个社区,费尔维尤用作边界框。
4。几何编码
对于空间查询,以数据库友好格式存储几何图形是很重要的。这意味着几何图形的结构需要适合所使用的数据库格式。例如,对于PostGIS数据库,OGC已知文本(WKT)适用于几何空间查询。在下面的示例工作区图像中,在传递给sqlExecutor之前,已使用geometryextractor转换器将几何体提取为ogc众所周知的文本(wkt)格式。
请添加几何量角器,将几何编码设置为OGC众所周知的文本和OGC版本(仅WKT/WKB)至一点二.这将几何图形编码为适合数据库的结构。
设置几何编码和OGC版本(仅限WKT/WKB)
5。添加SQL执行器转换器
在工作台上,您需要将您希望在空间查询中使用的基本特性连接到sqlExecutor转换器的输入端口。请将geometryextractor输出端口连接到sqlExecutor的输入端口。
在SQLExecutor Transformer的“参数”对话框中,使用要查询的数据库的格式和连接详细信息填写“reader”部分的参数。
请输入以下PostGIS连接详细信息:
6。编写本机SQL语句
不同的数据库在其空间查询所需的语法上稍有不同。最好的开始方法是阅读您正在使用的空间数据库提供的文档。
在sqlExecutor中,在“参数”部分下,单击SQL语句参数,这将打开一个文本编辑器,允许您编写SQL语句。请输入以下SQL作为SQL语句。此SQL语句基于在工作台中创建的边界框的几何图形从PostGIS数据库查询功能:
从fmedata2015中选择*作为ap,其中st_in(ap.geom,st_geomfromtext('@value(_geometry)',26910))=true。
查询返回“postalAddress”表的行,其中斯塔内功能计算结果为true。
函数内的st_接受两个参数:
(1)第一个是数据库表中候选特征的几何列(ap.geom)的名称。
(2)第二个是由st洹geomfromText函数生成的基础几何图形,它本身有两个参数:输入边界框功能的wkt geometry属性值和空间引用ID(srid)。
请在数据检查器中检查输出。当查询结果连同边界框一起发送给检查器时,我们可以看到,sqlExecutor只返回框中的点功能。
背景中具有fairview邻域的sqlexecutor空间查询的结果
变压器 | 中央处理器 | 峰值记忆 |
SQL执行器 | 7.9秒 | 14兆字节 |
剪刀 | 11.2秒 | 17.3兆字节 |
特技演员 | 8秒 | 13.3兆字节 |
空间滤波器 | 11.6秒 | 15.9兆字节 |
?2019安全亚搏在线软件公司|合法的