西班牙
斯潘4
FeatureReader、SpatialRelator和SpatialFilter Transformers是在FME Workbench中对数据执行空间查询的好工具。它们允许您快速选择查询参数,而无需为特定于数据库的sql的语法操心。
本文描述如何使用featurereader执行空间和/或属性查询。在Workbench中,您需要将希望在空间查询中使用的功能连接到FeatureReader Transformer的发起程序端口。如果要执行空间查询,则查询要素的几何图形必须与要使用FeatureReader读取的几何图形位于同一坐标系中。CSMAPREPROjector或REPROjector变压器可用于此目的。
使用FeatureReader进行空间查询-FME 2017
使用FeatureReader进行空间查询-FME 2016
下载spatialquery-featurereader.fmwt是完整的工作区。如果您想自己创建工作区,请下载vancouverneighborhoods.kml,并按照以下步骤创建它。
完整工作区
一。检查源数据
添加google kml阅读器并将数据集设置为vancouverneighborhoods.kml。在数据检查器中,请注意不同的邻域多边形,一个邻域将用于在FeatureReader中创建空间查询。
数据检查器中的vancouverneighborhoods.kml
2.责备
源KML数据必须与数据库数据在同一坐标系中。KML公司始终在LL84坐标系中。添加一个csmapreprojector,将源坐标系保留为
三。提取边界框
测试人员提取要在空间查询中使用的感兴趣区域。在本例中,使用了其中一个社区Fairview。您可以构建一个参数,它是一个“hoods”列表。
四。添加FeatureReader
对于格式,请输入postgis并将数据集设置为嵌入连接参数。在参数下…请输入:
主持人:postgis.train.亚搏在线safe.com网站
端口:5432
数据库:fmedata
用户名:fmedata
密码:fmedata
方案:fmedata2015
将表列表的架构设置为FMEData2015年
在要阅读的功能类型中,请选择包衣后是的。
设置FeatureReader的查询约束参数。要执行空间查询,请使用SPATIAL FILTER参数选择空间谓词。在本例中,空间过滤器被设置为包含,以便仅返回Fairview邻域多边形内的要素。
FeatureReader参数空间筛选器设置为包含空间谓词
可以使用where子句参数使用属性查询来约束数据。注意,这个where子句将应用于您选择要读取的所有表。尝试添加where子句并比较差异:
“状态”不像“退休”
5个。检查结果
当查询结果和边界框一起发送到数据检查器时,我们可以看到FeatureReader只返回边界区域(Fairview邻域)包含的点特征。
Fairview社区内的邮递点
尽可能让数据库做这项工作是一句很好的格言。让数据库执行空间查询并只返回查询结果通常会比在fme中读取整个表和过滤提供更好的性能。
另一个演示如何使用执行本机空间查询的sqlexecutor是的。
?2019安全亚搏在线软件公司|合法的