Megosztás a következőn keresztül:


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