我正在尝试使用Stream Analytics从写入Blob存储的一堆对象中创建空间数据。我正在创建Stream Analytics作业,我已将我的blob集合添加为输入。 blob具有规则结构并包含纬度和经度属性。
我想通过始发传感器对传入的记录进行分组(这由一个实际上是主键的字符串标识),并将每个组的坐标集转换为GeoJSON LineString。
我有一个查询:
WITH points AS (
SELECT GeoJSON.CreatePoint(longitude, latitude) as point, sensorId, time
FROM SensorEvents)
SELECT GeoJSON.CreateLineString(???)
INTO youroutputalias
FROM SensorEvents
我必须传递给GeoJSON.CreateLineString
才能让它获取一组点并将其转换为单个LineString?
答案 0 :(得分:0)
1-这个blob信息是参考数据,还是会随着时间而变异?
2-如果这种情况发生变异,则需要指定此聚合将要发生的时间边界。 ASA将按时间和按ID分组,您不能仅按ID进行汇总。 ASA是一个时间引擎。
CreateLineString需要一个静态的点列表来构造对象,这里我们在每次调用CreateLineString时都有一个动态的点数。
•如果blob数据是动态的,那么最好的选择是使用UDF按时间聚合然后按ID分组,并让UDF函数创建geojson线串对象。
•如果blob是静态的,最好的选择是将geojson blob并将其作为字段传递给ASA。