span8
span4
FeatureReader、SpatialRelator和SpatialFilter转换器是在FME workbench中执行数据空间查询的重要工具。它们允许您快速地选择查询参数,而不必担心特定于数据库的SQL的语法。
本文介绍如何使用FeatureReader执行空间和/或属性查询。在workbench中,需要将希望在空间查询中使用的特性连接到FeatureReader转换器的启动器端口。如果您正在执行空间查询,那么查询特性的几何形状必须与使用FeatureReader读取的几何形状处于相同的坐标系中。csmapre幻灯机或re幻灯机变压器可用于此目的。
使用FeatureReader - FME 2017进行空间查询
使用FeatureReader - FME 2016进行空间查询
下载spatialquery-featurereader。fmwt是完整的工作空间。如果你想自己创建工作空间,请下载温哥华社区。,然后按照下面的步骤创建它。
完整的工作空间
1.检查源数据
添加一个谷歌KML阅读器和设置数据集到温哥华邻居。在数据检查器中,请注意不同的邻域多边形,一个邻域将用于在FeatureReader中创建空间查询。
VancouverNeighborhoods。数据检查器中的kml
2.Reproject
源KML数据必须与数据库数据位于相同的坐标系中。KML总是在LL84坐标系中。添加一个csmapre幻灯机,保持源坐标系为
3.提取边界框
测试人员提取要在空间查询中使用的感兴趣的区域。在本例中,使用了其中一个社区Fairview。您可以构建一个参数,它是一个'hood '列表。
4.添加FeatureReader
格式请输入PostGIS和设置数据集嵌入连接参数。在参数…请输入:
主持人:postgis.train.亚搏在线safe.com
端口:5432
数据库:fmedata
用户名:fmedata
密码:fmedata
模式:fmedata2015
将表列表的模式设置为fmedata2015
在要阅读的功能类型中,请选择PostalAddress.
设置FeatureReader的查询约束参数。要执行空间查询,请使用空间筛选器参数选择空间谓词。在本例中,将空间过滤器设置为Contains,以便只返回Fairview邻居多边形中的特性。
FeatureReader参数空间过滤器设置为包含空间谓词
可以使用WHERE子句参数使用属性查询约束数据。注意,这个WHERE子句将应用于您选择读取的所有表。试着添加一个WHERE子句,比较它们的区别:
“身份”不像“退休”
5.检查结果
当查询的结果连同边界框一起发送到数据检查器时,我们可以看到FeatureReader只返回边界区域所包含的点特性——Fairview邻居。
邮政地址点在美景附近
“让数据库做工作”是一个可以随时遵循的好格言。让数据库执行空间查询并只返回查询结果通常会比读取整个表并在FME中进行过滤获得更好的性能。
另一个例子展示了如何使用执行本地空间查询的SQLExecutor.
©2019安全亚搏在线软件公司法律