Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sürüm açılan listesini kullanarak hizmetler arasında geçiş yapın. Gezinti hakkında daha fazla bilgi edinin.
Şunlar için geçerlidir: ✅ Microsoft Fabric ✅ Azure Veri Gezgini ✅ Azure İzleyici ✅ Microsoft Sentinel
Jeo-uzamsal görselleştirmeler oluşturmak için Kusto Sorgu Dili'ni (KQL) kullanın. Jeo-uzamsal kümeleme verileri konuma göre düzenler. KQL, birden çok jeo-uzamsal kümeleme yöntemi ve jeo-uzamsal görselleştirme araçları sağlar.
Bu eğitimde şunları öğreniyorsunuz:
- Harita üzerinde noktaları çizme
- Birden çok nokta serisi çizme
- Harita üzerindeki noktaları çizmek için GeoJSON değerlerini kullanma
- Veri noktalarını değişken boyutlu kabarcıklarla temsil eder
- Belirli bir alandaki noktaları görüntüleme
- LineString'de yakındaki noktaları gösterme
- Yakın noktaları çokgende gösterme
- Jeo-uzamsal verilere dayalı anomalileri bulma
Önkoşullar
Sorguları çalıştırmak için örnek verilere erişimi olan bir sorgu ortamına ihtiyacınız vardır. Aşağıdakilerden birini kullanın:
- Yardım kümesinde oturum açmak için Microsoft hesabı veya Microsoft Entra kullanıcı kimliği
- Yardım kümesinde oturum açmak için Microsoft hesabı veya Microsoft Entra kullanıcı kimliği
- Fabric çalışma alanı ile Microsoft Fabric özellikli kapasite
- Microsoft hesabı veya Microsoft Entra kullanıcı kimliği
- Fabric çalışma alanı ile Microsoft Fabric özellikli kapasite
Boylam sütununu ve ardından enlem sütununu seçmek için project kullanın. Haritadaki noktaları göstermek için render kullanın (dağılım grafiği kind olarak map ayarlandığında).
Harita üzerinde noktaları çizme
Boylam sütununu ve ardından enlem sütununu seçmek için project kullanın. Haritadaki noktaları göstermek için render kullanın (dağılım grafiği kind olarak map ayarlandığında).
StormEvents
| take 100
| project BeginLon, BeginLat
| render scatterchart with (kind = map)
Birden çok nokta serisi çizme
Birden çok nokta serisini görselleştirmek için project kullanarak boylam, enlem ve seriyi tanımlayan üçüncü sütunu seçin.
Aşağıdaki sorguda, seri şeklindedir EventType. Noktalar EventType ile farklı renkler kullanır ve seçildiğinde EventType değerini gösterir.
StormEvents
| take 100
| project BeginLon, BeginLat, EventType
| render scatterchart with (kind = map)
Sonuçta boylam, enlem ve seri sütunlarından daha fazla sütun olduğunda, xcolumn (boylam), ycolumn (enlem) ve series belirtimlerini render işlemcisi içinde açıkça belirtebilirsiniz.
StormEvents
| take 100
| render scatterchart with (kind = map, xcolumn = BeginLon, ycolumns = BeginLat, series = EventType)
Harita üzerindeki noktaları çizmek için GeoJSON değerlerini kullanma
Dinamik GeoJSON değerleri sık sık güncelleştirilir ve gerçek zamanlı eşlemede kullanılır. Dinamik GeoJSON değerlerine sahip noktaları eşlemek, düz enlem ve boylamların sağlayamayacağı esneklik ve kontrolü size sunar.
Aşağıdaki sorgu, bir dağılım grafiğindeki fırtına olaylarını eşlemek için geo_point_to_s2cell ve geo_s2cell_to_central_point işlevlerini kullanır.
StormEvents
| project BeginLon, BeginLat
| summarize by hash=geo_point_to_s2cell(BeginLon, BeginLat, 5)
| project point = geo_s2cell_to_central_point(hash)
| project lng = toreal(point.coordinates[0]), lat = toreal(point.coordinates[1])
| render scatterchart with (kind = map)
Değişken boyutlu kabarcıklarla veri noktalarını temsil eder
Her kümeyi toplayarak ve merkezi noktasını çizerek veri dağıtımını görselleştirin.
Örneğin, aşağıdaki sorgu EventType Tornadoolduğu storm olaylarını filtreler. Olayları boylam ve enlem kümeleri halinde gruplandırıyor, her kümedeki olayları sayıyor, her kümenin merkezi noktasını projelendirir ve bir harita işler. En çok kasırgaya sahip bölgeler, daha büyük kabarcık boyutlarıyla dikkat çekiyor.
StormEvents
| where EventType == "Tornado"
| project BeginLon, BeginLat
| where isnotnull(BeginLat) and isnotnull(BeginLon)
| summarize count_summary=count() by hash = geo_point_to_s2cell(BeginLon, BeginLat, 4)
| project geo_s2cell_to_central_point(hash), count_summary
| extend Events = "count"
| render piechart with (kind = map)
Belirli bir alandaki noktaları görüntüleme
Bölgeyi tanımlamak için çokgen ve bu bölgede gerçekleşen olayları filtrelemek için geo_point_in_polygon işlevini kullanın.
Aşağıdaki sorgu, güney California bölgesini temsil eden bir çokgen tanımlar ve bu bölgedeki fırtına olayları için filtreler. Ardından olayları kümeler halinde gruplandırıyor, her kümedeki olay sayısını sayıyor, kümenin merkezi noktasını projelendirir ve kümeleri görselleştirmek için bir harita oluşturur.
let southern_california = dynamic({
"type": "Polygon",
"coordinates": [[[-119.5, 34.5], [-115.5, 34.5], [-115.5, 32.5], [-119.5, 32.5], [-119.5, 34.5]]
]});
StormEvents
| where geo_point_in_polygon(BeginLon, BeginLat, southern_california)
| project BeginLon, BeginLat
| summarize count_summary = count() by hash = geo_point_to_s2cell(BeginLon, BeginLat, 8)
| project geo_s2cell_to_central_point(hash), count_summary
| extend Events = "count"
| render piechart with (kind = map)
LineString'de yakındaki noktaları gösterme
Aşağıdaki sorgu, tanımlı bir yolu temsil eden belirtilen LineString boyunca gerçekleşen yakındaki fırtına olaylarını bulur. Bu durumda LineString, Key West'e giden bir yoldur. geo_distance_point_to_line() işlevi, tanımlanan LineString'e yakınlıklarına göre fırtına olaylarını filtrelemek için kullanılır. Bir olay LineString'e 500 metre mesafedeyse, olay bir haritada işlenir.
let roadToKeyWest = dynamic({
"type":"linestring",
"coordinates":[
[
-81.79595947265625,
24.56461038017685
],
[
-81.595458984375,
24.627044746156027
],
[
-81.52130126953125,
24.666986385216273
],
[
-81.35650634765625,
24.66449040712424
],
[
-81.32354736328125,
24.647017162630366
],
[
-80.8099365234375,
24.821639356846607
],
[
-80.62042236328125,
24.93127614538456
],
[
-80.37872314453125,
25.175116531621764
],
[
-80.42266845703124,
25.19251511519153
],
[
-80.4803466796875,
25.46063471847754
]
]});
StormEvents
| where isnotempty(BeginLat) and isnotempty(BeginLon)
| project BeginLon, BeginLat, EventType
| where geo_distance_point_to_line(BeginLon, BeginLat, roadToKeyWest) < 500
| render scatterchart with (kind=map)
Yakın noktaları çokgende gösterme
Aşağıdaki sorgu, belirtilen çokgen içinde gerçekleşen yakındaki fırtına olaylarını bulur. Bu durumda, çokgen Key West'e giden bir yoldur. geo_distance_point_to_polygon() işlevi, tanımlanan çokgene yakınlıklarına göre fırtına olaylarını filtrelemek için kullanılır. Bir olay çokgenden 500 metre mesafedeyse, olay bir haritada işlenir.
let roadToKeyWest = dynamic({
"type":"polygon",
"coordinates":[
[
[
-80.08209228515625,
25.39117928167583
],
[
-80.4913330078125,
25.517657429994035
],
[
-80.57922363281249,
25.477992320574817
],
[
-82.188720703125,
24.632038149596895
],
[
-82.1942138671875,
24.53712939907993
],
[
-82.13104248046875,
24.412140070651528
],
[
-81.81243896484375,
24.43714786161562
],
[
-80.58746337890625,
24.794214972389486
],
[
-80.08209228515625,
25.39117928167583
]
]
]});
StormEvents
| where isnotempty(BeginLat) and isnotempty(BeginLon)
| project BeginLon, BeginLat, EventType
| where geo_distance_point_to_polygon(BeginLon, BeginLat, roadToKeyWest) < 500
| render scatterchart with (kind=map)
Jeo-uzamsal verilere dayalı anomalileri bulma
Aşağıdaki sorgu, belirli bir durumda gerçekleşen fırtına olaylarının analizini gerçekleştirir. Sorgu, hasar desenlerini araştırmak için S2 hücrelerini ve zamansal toplamayı kullanır. Sonuç, zaman içinde fırtına kaynaklı tahribattaki tüm düzensizlikleri veya sapmaları gösteren ve belirtilen durum sınırları içindeki fırtınaların etkisi hakkında ayrıntılı bir bakış açısı sunan görsel bir anomali grafiğidir.
let stateOfInterest = "Texas";
let statePolygon = materialize(
US_States
| extend name = tostring(features.properties.NAME)
| where name == stateOfInterest
| project geometry=features.geometry);
let stateCoveringS2cells = statePolygon
| project s2Cells = geo_polygon_to_s2cells(geometry, 9);
StormEvents
| extend s2Cell = geo_point_to_s2cell(BeginLon, BeginLat, 9)
| where s2Cell in (stateCoveringS2cells)
| where geo_point_in_polygon(BeginLon, BeginLat, toscalar(statePolygon))
| make-series damage = avg(DamageProperty + DamageCrops) default = double(0.0) on StartTime step 7d
| extend anomalies=series_decompose_anomalies(damage)
| render anomalychart with (anomalycolumns=anomalies)
İlgili içerik
- Jeo-uzamsal kümeleme için kullanım örneğine bakın: Otomotiv test filoları için veri analizi
- Jeo-uzamsal veri işleme ve analiz için Azure mimarisi hakkında bilgi edinin
- Teknik incelemeyi okuyarak Azure Veri Gezgini hakkında kapsamlı bilgi edinin