流分析地理空间功能使用

Posted

技术标签:

【中文标题】流分析地理空间功能使用【英文标题】:Stream analytics geospatial function usage 【发布时间】:2019-01-11 08:00:38 【问题描述】:

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

我知道我们可以在查询中加入流和引用输入,但是是否有可能实现一个解决方案,我们没有任何数据要在流和引用输入之间加入并且仍然计算例如使用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] 
]

上面的数据会有更多的点,所以在查询中手动输入点不是一个好的解决方案。

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

【问题讨论】:

您能否提供一些示例输入数据和您想要的输出?你的意思是你正在使用ST_DISTANCE 方法? 谢谢我编辑了问题 您的意思是计算一个点(来自传入数据流)与参考数据中存在的所有点的列表之间的距离吗?这听起来像是现在流分析中不支持的交叉连接。 【参考方案1】:

在使用 SQL 查询后,我发现实际上 CROSS JOIN 在流分析中可用,但在文档中不可用。所以使用类似的东西:

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

有效。

【讨论】:

我们最近添加了这个功能,文档即将推出。 JS(Azure 流分析)

以上是关于流分析地理空间功能使用的主要内容,如果未能解决你的问题,请参考以下文章

使用 AWS Redshift 进行地理空间分析

地理信息系统功能的数据处理与存储管理

sql 使用地理空间分析

使用Python+Folium实现地理空间可视化效果

python地理空间--概念引入

R语言地理空间分析空间插值