geo_point_in_circle()
Menghitung apakah koordinat geospasial berada di dalam lingkaran di Bumi.
Sintaks
geo_point_in_circle(
,
c_radius pc_latitude ,
pc_longitude p_latitude p_latitude p_longitude,
,
)
Pelajari selengkapnya tentang konvensi sintaksis.
Parameter
Nama | Tipe | Wajib | Deskripsi |
---|---|---|---|
p_longitude | real |
✔️ | Nilai bujur koordinat geospasial dalam derajat. Nilai valid adalah bilangan real dan dalam rentang [-180, +180]. |
p_latitude | real |
✔️ | Nilai lintang koordinat geospasial dalam derajat. Nilai valid adalah bilangan real dan dalam rentang [-90, +90]. |
pc_longitude | real |
✔️ | Nilai bujur koordinat geospasial pusat lingkaran dalam derajat. Nilai valid adalah bilangan real dan dalam rentang [-180, +180]. |
pc_latitude | real |
✔️ | nilai lintang koordinat geospasial pusat lingkaran dalam derajat. Nilai valid adalah bilangan real dan dalam rentang [-90, +90]. |
c_radius | real |
✔️ | Radius lingkaran dalam meter. Nilai valid harus positif. |
Mengembalikan
Menunjukkan apakah koordinat geospasial berada di dalam lingkaran. Jika koordinat atau lingkaran tidak valid, kueri menghasilkan hasil null.
Catatan
- Koordinat geospasial diinterpretasikan sebagaimana diwakili oleh sistem referensi koordinat WGS-84.
- Datum geodetik yang digunakan untuk mengukur jarak di Bumi adalah bola.
- Lingkaran adalah tutup bulat di Bumi. Radius tutup diukur di sepanjang permukaan bola.
Contoh
Contoh berikut menemukan semua tempat di area yang ditentukan oleh lingkaran berikut: Radius 18 km, tengah di koordinat [-122.317404, 47.609119].
datatable(longitude:real, latitude:real, place:string)
[
real(-122.317404), 47.609119, 'Seattle', // In circle
real(-123.497688), 47.458098, 'Olympic National Forest', // In exterior of circle
real(-122.201741), 47.677084, 'Kirkland', // In circle
real(-122.443663), 47.247092, 'Tacoma', // In exterior of circle
real(-122.121975), 47.671345, 'Redmond', // In circle
]
| where geo_point_in_circle(longitude, latitude, -122.317404, 47.609119, 18000)
| project place
Hasil
tempat |
---|
Seattle |
Kirkland |
Jakarta |
Contoh berikut menemukan peristiwa badai di Orlando. Peristiwa difilter menurut 100 km dalam koordinat Orlando, dan diagregasi berdasarkan jenis peristiwa dan hash.
StormEvents
| project BeginLon, BeginLat, EventType
| where geo_point_in_circle(BeginLon, BeginLat, real(-81.3891), 28.5346, 1000 * 100)
| summarize count() by EventType, hash = geo_point_to_s2cell(BeginLon, BeginLat)
| project geo_s2cell_to_central_point(hash), EventType, count_
| render piechart with (kind=map) // map pie rendering available in Kusto Explorer desktop
Hasil
Contoh berikut menunjukkan pengambilan taksi kota New York dalam jarak 10 meter dari lokasi tertentu. Pickup yang relevan diagregasi dengan hash.
nyc_taxi
| project pickup_longitude, pickup_latitude
| where geo_point_in_circle( pickup_longitude, pickup_latitude, real(-73.9928), 40.7429, 10)
| summarize by hash = geo_point_to_s2cell(pickup_longitude, pickup_latitude, 22)
| project geo_s2cell_to_central_point(hash)
| render scatterchart with (kind = map)
Hasil
Contoh berikut akan mengembalikan true
.
print in_circle = geo_point_in_circle(-122.143564, 47.535677, -122.100896, 47.527351, 3500)
Hasil
in_circle |
---|
benar |
Contoh berikut akan mengembalikan false
.
print in_circle = geo_point_in_circle(-122.137575, 47.630683, -122.100896, 47.527351, 3500)
Hasil
in_circle |
---|
salah |
Contoh berikut menampilkan hasil null karena input koordinat yang tidak valid.
print in_circle = geo_point_in_circle(200, 1, 1, 1, 1)
Hasil
in_circle |
---|
Contoh berikut mengembalikan hasil null karena input radius lingkaran yang tidak valid.
print in_circle = geo_point_in_circle(1, 1, 1, 1, -1)
Hasil
in_circle |
---|
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk