span8
span4
FeatureReader,spatial alrelator和spatial filter转换器是在FME workbench中对数据执行空间查询的优秀工具。它们允许您快速地选择查询参数,而不需要纠结于特定于数据库的SQL的语法。
本文描述如何使用FeatureReader执行空间和/或属性查询。在工作台,您需要将希望在空间查询中使用的特性连接到FeatureReader转换器的发起者端口。如果你在执行一个空间查询,重要的是,查询特性的几何形状与使用FeatureReader读取的几何形状在同一个坐标系中。csmapre投影仪或re投影仪变压器可用于此目的。
使用feature urereader - FME 2017进行空间查询
使用FeatureReader - FME 2016进行空间查询
下载spacequery-featurereader.fmt是完整的工作区。如果您想自己创建工作区,请下载vancouverneighborhoods.kml,并按照下面的步骤创建它。
完成工作区
1.检查源数据
添加一个Google KML阅读器,并将数据集设置为vancouverneighborhods.kml。在数据检查,请注意不同的邻域多边形,一个邻域将用于在FeatureReader中创建空间查询。
数据检查器中的vancouverneighborhods.kml
2.再投射
源KML数据必须与数据库数据位于同一个坐标系中。KML始终处于LL84坐标系中。添加csmapreprojector,保持源坐标系为
三。提取边界框
测试人员提取空间查询中要使用的感兴趣区域。在这个例子中,其中一个社区,美景,使用。您可以构建一个参数,它是一个“hood”列表。
4.添加FeatureReader
对于格式,请输入postgis并将dataset设置为嵌入连接参数。在参数…请输入:
主持人:postgis.train.亚搏在线safe.com网站
端口:5432
数据库:fmedata
用户名:fmedata
密码:fmedata
模式:fmedata2015
将表列表的模式设置为 fmedata2015
在要读取的特性类型中,请选择PostalAddress。
设置FeatureReader的查询约束参数。要执行空间查询,请使用空间过滤器参数选择空间谓词。在这个例子中,空间过滤器被设置为包含,以便只返回Fairview邻居多边形内的特征。
feature urereader参数空间过滤器设置为包含空间谓词
可以使用WHERE子句参数使用属性查询约束数据。请注意,此WHERE子句将应用于您选择要读取的所有表。试着添加WHERE子句并比较它们的区别:
“状态”不像“退休”
5.检查结果
当查询结果连同边界框一起发送给数据检查器时,我们可以看到FeatureReader只返回由边界区域(Fairview邻域)所包含的点特征。
美景镇附近的邮政地址
让数据库来完成这项工作是一个很好的格言,只要有可能,就应该遵循它。与读取整个表并在FME中过滤相比,让数据库执行空间查询并只返回查询结果通常会提供更好的性能。
另一个例子展示了如何使用执行本机空间查询的SQLExecutor。
©2019安全亚搏在线软件公司|法律