我有一个架构,其中包含要显示的结果的最大半径 - 例如,50。我能够毫无问题地计算距离和过滤器,但我真的需要按照该字段进行过滤,该字段由文件到文件。我试过了:
fq={!frange l=0 u=radius_field}geodist()
和
fq={!func}geodist():[0 TO radius_field]
无效。有没有办法做到这一点?我可以过滤客户端,最糟糕的情况,但我认为那里有人有相同的用例。
答案 0 :(得分:0)
不是直接答案,但如果is_in_range(radius_field)
小于geodist()
参数,您是否可以创建一个返回布尔结果的新函数radius_field
?这可能会避免您尝试使用参数按范围过滤时发现的问题。
答案 1 :(得分:0)
它很难看,但我想我没有自定义功能就可以使用它。我知道这是旧的,但想发布以防其他人正在寻找。
fq={!frange l=0 h=12742}sub(radius_field,geodist(field,point))
12742是以千米为单位的地球直径,因为我还需要一个硬数字,但我怀疑大多数是在太空搜索。所以基本上我们从radius_field中减去距离以确定它是否在范围内。
radius_field - 距离
如果结果是正数而不是在范围内。如果是负数而不是负数。如果我搞砸了我的逻辑,请告诉我。感谢。