span8
span4
对于这篇文章的最新版本,请参阅该SQLCreator和SQLExecutor变形金刚教程。
我如何使用SQLExecutor发出命令来在FME一个PostGIS的数据库?
FME具有SQLExecutor变压器,其可用于在工作空间中执行查询上的数据库。这种变压器不支持的几何形状,但你可以与@Value()函数的查询使用非空间属性。例如,SELECT * FROM表WHERE名称LIKE '@Value(fme_name)' 将与该特征的fme_name属性的值替换@Value(fme_name)。
我们可以充分利用这两个PostGIS中,FME的OGC WKT几何支持在PostGIS的进行空间查询。
我们可以用一个GeometryExtractor创建与OGC知名文本(OGC WKT)格式要素几何的新属性。这是用于表示几何结构易于阅读的文本串,例如,点(0 0)一个简单的标准化的格式。
我们可以用一个SQLExecutor与@Value FME函数几何传递到PostGIS的。沿GeometryFromText东西线(“@值(_geometryAsText)”,SRID)将创建基于先前提取WKT几何PostGIS的的几何形状。
注意在参数“SRID”。这将需要与PostGIS的空间参考ID被替换为FME几何的坐标系。这可以被硬编码到你的查询,否则,如果你使用的是相同的PostGIS中,FME坐标系统,可以自动设定与选择SRID(geom_column)FROM表LIMIT 1. SRID这将返回从SRID第一条记录。
查询在SQLExecutor结果返回一个列表FME。如果你需要返回一个几何,你可以在你的SELECT语句中使用asText(geom_column)返回的结果几何图形的OGC WKT表示。
如果您的查询返回的几何形状,和你想使用几何FME,您可以使用GeometryReplacer创建从PostGIS中的WKT字符串的FME几何形状。只需设置几何编码为OGC知名文本,并选择包含WKT属性。这将取代任何的几何特征具有与WKT。
如果您的查询返回多个记录,为每个人创造的功能,您可以使用ListExploder与SQLExecutor的结果。或者,你可以,如果你想与查询的结果来代替FME要素的几何从列表中只提取单个记录。
所附的工作空间演示从每个FME特征的一组距离内产生从所有的几何形状的新功能。搜索半径是通过发布的参数设定,并且运行工作区时是可以改变的。我也重新投影几何中ST_DWithin从LL84到UTM,使我能够使用米作为单位,我的搜索半径。
如果有人需要这个工作区的新版本(PostGIS的已前置ST_许多它的功能),我有一个。我会在这里很快发布。我也创造了一些样本数据来对测试。这是一个非常简单的例子,但在情感展示了如何使用您的FME工作台的SQL内。
©2020安全亚搏在线软件公司|法律