A Stream Analytics térinformatikai függvényeinek bemutatása
Az Azure Stream Analytics térinformatikai függvényei valós idejű elemzést tesznek lehetővé a streamelt térinformatikai adatokon. Mindössze néhány sornyi kóddal összetett forgatókönyvekhez fejleszthet éles osztályzatú megoldást. Ezek a függvények támogatják az összes WKT-típust, valamint a GeoJSON Point, a Polygon és a LineString típust.
Példák a térinformatikai függvények előnyeire:
- Ride-sharing
- Flottakezelés
- Eszközkövetés
- Geokerítés
- Telefonkövetés a mobilwebhelyeken
A Stream Analytics lekérdezési nyelv hét beépített térinformatikai függvényt nyújt: CreateLineString, CreatePoint, CreatePolygon, ST_DISTANCE, ST_OVERLAPS, ST_INTERSECTS és ST_WITHIN.
CreateLineString
A CreateLineString
függvény pontokat fogad el, és egy GeoJSON LineString értéket ad vissza, amely vonalként ábrázolható a térképen. Legalább két ponttal kell rendelkeznie a LineString létrehozásához. A LineString-pontok sorrendben lesznek csatlakoztatva.
Az alábbi lekérdezés CreateLineString
három pont használatával hoz létre LineStringet. Az első pont a streamelési bemeneti adatokból jön létre, míg a másik kettő manuálisan jön létre.
SELECT
CreateLineString(CreatePoint(input.latitude, input.longitude), CreatePoint(10.0, 10.0), CreatePoint(10.5, 10.5))
FROM input
Példa bevitelre
latitude | Hosszúság |
---|---|
3.0 | -10.2 |
-87.33 | 20.2321 |
Példa kimenetre
{"type" : "LineString", "coordinates" : [ -10.2, 3.0], [10.0, 10.0], [10.5, 10.5] ]}
{"type" : "LineString", "coordinates" : [ [20.2321, -87.33], [10.0, 10.0], [10.5, 10.5] ]}
További információért tekintse meg a CreateLineString referenciát.
CreatePoint
A CreatePoint
függvény szélességet és hosszúságot fogad el, és egy GeoJSON-pontot ad vissza, amely térképen ábrázolható. A szélességeknek és hosszúságoknak lebegőpontos adattípusnak kell lenniük.
Az alábbi példalekérdezés CreatePoint
egy pontot hoz létre a streamelési bemeneti adatokból származó szélességek és hosszúságok használatával.
SELECT
CreatePoint(input.latitude, input.longitude)
FROM input
Példa bevitelre
latitude | Hosszúság |
---|---|
3.0 | -10.2 |
-87.33 | 20.2321 |
Példa kimenetre
{"type" : "Point", "coordinates" : [-10.2, 3.0]}
{"type" : "Point", "coordinates" : [20.2321, -87.33]}
További információért tekintse meg a CreatePoint-referenciát .
CreatePolygon
A CreatePolygon
függvény pontokat fogad el, és geoJSON-sokszögrekordot ad vissza. A pontok sorrendjének a jobb oldali gyűrű tájolását vagy az óramutató járásával ellentétes irányban kell követnie. Képzelje el, hogy az egyik pontról a másikra sétál a deklarált sorrendben. A sokszög középpontja az egész idő alatt a bal oldalon van.
Az alábbi példa lekérdezés CreatePolygon
három pontból hoz létre sokszöget. Az első két pont manuálisan jön létre, az utolsó pont pedig a bemeneti adatokból jön létre.
SELECT
CreatePolygon(CreatePoint(input.latitude, input.longitude), CreatePoint(10.0, 10.0), CreatePoint(10.5, 10.5), CreatePoint(input.latitude, input.longitude))
FROM input
Példa bevitelre
latitude | Hosszúság |
---|---|
3.0 | -10.2 |
-87.33 | 20.2321 |
Példa kimenetre
{"type" : "Polygon", "coordinates" : [[ [-10.2, 3.0], [10.0, 10.0], [10.5, 10.5], [-10.2, 3.0] ]]}
{"type" : "Polygon", "coordinates" : [[ [20.2321, -87.33], [10.0, 10.0], [10.5, 10.5], [20.2321, -87.33] ]]}
További információt a CreatePolygon referenciájában talál.
ST_DISTANCE
A ST_DISTANCE
függvény két mértani geometria távolságát adja vissza méterben.
Az alábbi lekérdezés egy olyan esemény generálására használ ST_DISTANCE
, amikor egy benzinkút kevesebb mint 10 km-re van az autótól.
SELECT Cars.Location, Station.Location
FROM Cars c
JOIN Station s ON ST_DISTANCE(c.Location, s.Location) < 10 * 1000
További információért látogasson el a ST_DISTANCE hivatkozásra.
ST_OVERLAPS
A ST_OVERLAPS
függvény két geometriát hasonlít össze. Ha a geometriák átfedésben vannak, a függvény 1-et ad vissza. A függvény 0 értéket ad vissza, ha a geometriák nem fedik egymást.
Az alábbi lekérdezés egy olyan esemény generálására használ ST_OVERLAPS
, amikor egy épület egy lehetséges elárasztási zónán belül van.
SELECT Building.Polygon, Building.Polygon
FROM Building b
JOIN Flooding f ON ST_OVERLAPS(b.Polygon, b.Polygon)
Az alábbi példa lekérdezés egy eseményt hoz létre, amikor egy vihar egy autó felé tart.
SELECT Cars.Location, Storm.Course
FROM Cars c, Storm s
JOIN Storm s ON ST_OVERLAPS(c.Location, s.Course)
További információért látogasson el a ST_OVERLAPS hivatkozásra.
ST_INTERSECTS
A ST_INTERSECTS
függvény két geometriát hasonlít össze. Ha a geometria metszik egymást, akkor a függvény 1-et ad vissza. A függvény 0 értéket ad vissza, ha a geometriák nem metszik egymást.
Az alábbi példa lekérdezés annak meghatározására használ, ST_INTERSECTS
hogy egy burkolt út keresztez-e egy földutat.
SELECT
ST_INTERSECTS(input.pavedRoad, input.dirtRoad)
FROM input
Példa bevitelre
datacenterArea | stormArea |
---|---|
{"type":"LineString", "coordinates": [-10.0, 0.0], [0.0, 0.0], [10.0, 0.0] ]} | {"type":"LineString", "coordinates": [ [0.0, 10.0], [0.0, 0.0], [0.0, -10.0] ]} |
{"type":"LineString", "coordinates": [-10.0, 0.0], [0.0, 0.0], [10.0, 0.0] ]} | {"type":"LineString", "coordinates": [ -10.0, 10.0], [0.0, 10.0], [10.0, 10.0] ]} |
Példa kimenetre
1
0
További információért látogasson el a ST_INTERSECTS hivatkozásra.
ST_WITHIN
A ST_WITHIN
függvény meghatározza, hogy egy geometria egy másik geometrián belül van-e. Ha az első szerepel az utolsóban, a függvény 1-et ad vissza. A függvény 0 értéket ad vissza, ha az első geometria nem az utolsón belül található.
Az alábbi példa lekérdezés azt határozza ST_WITHIN
meg, hogy a kézbesítési célpont az adott raktári sokszögben van-e.
SELECT
ST_WITHIN(input.deliveryDestination, input.warehouse)
FROM input
Példa bevitelre
deliveryDestination | Raktár |
---|---|
{"type":"Point", "coordinates": [76.6, 10.1]} | {"type":"Polygon", "coordinates": [ [0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0] ]} |
{"type":"Point", "coordinates": [15.0, 15.0]} | {"type":"Polygon", "coordinates": [ [10.0, 10.0], [20.0, 10.0], [20.0, 20.0], [10.0, 20.0], [10.0, 10.0] ]} |
Példa kimenetre
0
1
További információért látogasson el a ST_WITHIN hivatkozásra.
Következő lépések
- Az Azure Stream Analytics bemutatása
- Get started using Azure Stream Analytics (Bevezetés az Azure Stream Analytics használatába)
- Scale Azure Stream Analytics jobs (Azure Stream Analytics-feladatok méretezése)
- Azure Stream Analytics Query Language Reference (Referencia az Azure Stream Analytics lekérdezési nyelvhez)
- Az Azure Stream Analytics felügyeleti REST API referenciája