对于where子句中的简单过滤器和比较之类的东西,有没有任何方法来表示位置值?例如,像:有没有办法在查询中表示位置值?
https://data.seattle.gov/rescource/82su-5fxf.json?location='LOCATION (Seattle, 47.612237, -122.290868)'
说明文档中提到的其他地理数据可以表示为已知文本(WKT),你可以使用的东西一样简单的过滤器和比较,但据我可以发现,似乎不存在位置值的WKT表示。
它可能是为用户使用诸如within_circle
之类的东西而不是直接比较值,而且我已经在文档页面上看到该位置是遗留数据类型的注释,所以如果没有办法。
我个人会在应用程序中使用类似within_circle
的东西,但我正在编写haskell SODA绑定库,所以我只是想让它可用(尽管不鼓励),如果可能的话。我不希望绑定阻止有效的调用。
糟糕,我没有意识到这是一个2.0的终点。现在,我环顾四周,实际上我找不到任何具有[数据类型] [位置](https://dev.socrata.com/docs/datatypes/location.html#,)列数据集的2.1数据集。 你也无法做到与点完全平等。我认为我已经成功地尝试过了,但我想我一定是用多面体这样的东西进行了测试并且被误解了。 无论如何,感谢您的快速和有益的答案! – StevenW
其实,在测试一些查询的时候,我发现你实际上可以用一个简单的过滤器使用以下语法完成相等的操作:https://data.cityofchicago.org/resource/6zsd-86xi.json?location='POINT(-87.631046 41.694312)''。我不认为你可以看到这一点,因为我还没有足够的声望。 – StevenW
好的发现StevenW,我也试过,但我一定是做错了什么。 – chrismetcalf