span8
span4
该FeatureReader,SpatialRelator和SpatialFilter变压器在工作台上的数据库上执行广义空间查询伟大的工具。它们允许你快速选择你的查询参数,无需大惊小怪特定数据库的SQL的语法。但是,如果你是在非常大的数据集进行空间查询,你不怕写SQL的一点点,你可能会受益于在SQLExecutor变压器原生SQL语句执行的空间查询的性能提升。
注:虽然本例关注postgis格式,但也适用于其他数据库格式。
附近的多边形数据的部分被提取出来并成为一个空间查询的边界框。边框的几何形状被提取为OGC知名文本,并创建一个SQL语句。这种空间SQL查询被施加到存储在数据库的PostGIS邮政地址数据,并且将结果与数据查验观看。
完成本机空间查询工作区
下载spatialqueries-sqlexecutor.fmwt是一个完整的工作区。如果你想自己创建工作区,请下载vancouverneighborhoods.kml并按照下面的步骤来创建它。
一。源数据
选择读卡器>添加阅读器和输入KML作为格式。导航并选择VancouverNeighborhoods.kml数据集。
2.责备
源数据必须是相同的坐标系作为数据库数据英寸添加CsmapReprojector,离开源坐标系
三。提取边界框
提取边界框由ST_Within功能使用。在这个例子中的社区之一,锦绣,用作边界框。
四。几何编码
重要的是,几何形状被存储在空间查询数据库友好的格式。这意味着需要的几何形状的方式为正在使用的数据库格式是适当的构成。例如,对于一个PostGIS的数据库,OGC熟知文本(WKT)是合适的几何空间查询。在下面一个示例工作区的图像中,几何体在传递给sqlexecutor之前已使用geometryextractor转换器提取为ogc已知文本(wkt)格式。
请添加geometryExtractor,将几何体编码设置为ogc知名文本和ogc版本(仅限wkt/wkb)到1.2款是的。这会将几何图形编码为适合数据库的结构。
设置几何编码和ogc版本(仅限wkt/wkb)
5个。添加SQL执行器转换器
在workbench中,您需要将希望在空间查询中使用的基本特性连接到sqlexecutor转换器的输入端口。请将geometryExtractor输出端口连接到sqlExecutor的输入端口。
在sqlexecutor转换器的“参数”对话框中,使用要查询的数据库的格式和连接详细信息填写“reader”部分参数。
请输入以下PostGIS连接详细信息:
6.编写本机SQL语句
不同的数据库在空间查询所需的语法上略有不同。开始的最佳方法是阅读您正在使用的空间数据库提供的文档。
在sqlexecutor的“parameters”部分中,单击SQL语句参数,这将打开一个文本编辑器,允许您编写SQL语句。请输入以下SQL作为SQL语句。此SQL语句基于在Workbench中创建的边界框的几何图形查询Postgis数据库中的功能:
从fmedata2015中选择*。“postaladdress”作为ap,其中st_within(ap.geom,st_geomfromtext('@value(_geometry)',26910))=true
查询返回“postaladdress”表中的行,其中圣母院功能计算结果为true。
函数中的st_有两个参数:
(1)第一个是数据库表中候选要素的几何列(ap.geom)的名称
(2)第二个是由st_geomfromtext函数生成的基本几何体,它本身有两个参数:输入边界框特征的wkt geometry属性值和空间参考id(srid)。
请在数据检查器中检查输出。当查询结果和边界框一起发送给检查器时,我们可以看到sqlexecutor只返回框中的点特征。
背景为fairview邻域的sqlexecutor空间查询结果
变压器 | 中央处理器 | 峰值存储器 |
SqlExecutor执行器 | 7.9秒 | 14.0兆字节 |
剪刀 | 11.2秒 | 17.3兆字节 |
功能阅读器 | 8.0秒 | 13.3兆 |
空间滤波器 | 11.6秒 | 15.9兆 |
©2019安全亚搏在线软件公司|法律