流分析地理空间功能的使用

时间:2019-01-11 08:00:38

标签: azure azure-stream-analytics stream-analytics

我想通过使用纬度/经度数据(通过Azure IoTHub发送)和目标纬度/经度或多边形数据(来自参考输入)来使用Stream Analytics地理空间功能。

我知道我们可以在查询中连接流和引用输入,但是有可能实现一种解决方案,因为我们没有任何数据可以在流和引用输入之间进行连接,并且仍然可以计算使用ST_DISTANCE的点之间的距离?

样本参考输入数据:

"points":[
{
    "point": {
    "type" : "Point",
    "coordinates" : [0.0, 10.0] } 
},
{
    "point": {
    "type" : "Point",
    "coordinates" : [0.0, 0.0] }
},
{
    "point": {
    "type" : "Point",
    "coordinates" : [0.0, -5.0] }
}]

上面的数据将有更多的分数,因此在查询中手动输入分数将不是一个好的解决方案。

我希望输出包含比较的点及其距离。

1 个答案:

答案 0 :(得分:1)

在使用SQL查询后,我发现CROSS JOIN实际上在Stream Analytics中可用,但在文档中却没有。所以使用类似的东西:

SELECT ST_DISTANCE(CreatePoint(input.Lat, input.Lon), CreatePoint(ref.Lat, ref.Lon)) 
INTO output FROM inputStream input 
CROSS JOIN reference ref

有效。