西班牙
斯潘4
我已在独立工作区中的空间数据库上成功运行以下查询:
st_u相交(st_u setsrid(st_u geomfromtext('$(poly)',27700),geom)
poly参数引入相关的wkt。
当我在通过主工作区传递参数的情况下运行此查询时,它将“$poly”视为字符串而不是参数。如果删除单引号,wkt将按预期完成,但是单引号是空间查询的一部分,因此sql将失败。
有人对如何解决这个问题有什么建议吗?
非常感谢,
我没有。我刚刚试着把整个查询作为一个属性来传递,我也遇到了同样的问题。
多边形值为
多多边形(436958.714 174250.838362436958.71436958.7147174251.1,436971.63436971.632 174267.445,436994.041 174263.7551436994.041 174263.7551436994.041 174263.7551437039.91414174255.314 174255.3141437071.55 1742462462466.882,437086.31414141414 174209.97314 174209.973,437050.9850.986 174194194194.155174194194194.155,437008.014.014.014 174177177177.809,436985.809,436985.868.868 2,436959.241 174250.836,436958.714 174250.836)
传递给子级的属性
具体表现为:
{st_intersects(st_setsrid(st_geomfromtext('POLYGON ((436958.714 174250.836} {-- 436958.714 174251.1} { 436971.632 174267.445} {-- 436994.041 174263.755} { 437039.914 174255.318} {-- 437071.55 174246.882} { 437086.314 174209.973} {-- 437050.986 174194.155} { 437008.014 174177.809} {-- 436985.868 174167.527} { 436954.232 174174.909} {-- 436946.323 174223.682}{436959.241 174250.836}{--436958.714 174250.836)')}{27700)}{--geom)
正如你所看到的,逗号被删除了,打断了字符串。
“poly”从主工作区传递到子工作区,并在postgis阅读器中使用,因此查询不能在子工作区中“构建”,因为它是直接使用的(除非我遗漏了什么)。一个示例工作区是一个参数,它是一个wkt字符串(将缺省值设置为wkt字符串作为测试),它从master传递到child,并在postgis reader的sql where子句中使用
st_u相交(st_u setsrid(st_u geomfromtext('$(poly)',27700),geom)
我尝试在主工作区内将参数与'连接起来,并将其作为属性传递到子工作区内,但是文本在第一个逗号处就被破坏了。如果有一种方法可以防止分隔属性,我就可以使用这种方法。
谢谢,
我可以建议FME永远不要自己动手。也就是说,如果您将整个查询作为参数传递,操作系统可能会涉及单引号。
您是否能够发布主工作区和子工作区的简化版本?
在不了解更多细节的情况下,我肯定会尝试将“poly”从主节点传递给子节点,然后在子节点中构建查询字符串。我看不出这行不通的任何根本原因。
?2019安全亚搏在线软件公司|合法的