次の方法で共有


geo_point_in_circle()

適用対象: ✅Microsoft FabricAzure データ エクスプローラーAzure MonitorMicrosoft Sentinel

地理空間座標が地球の円の内側にあるかどうかを計算します。

構文

geo_point_in_circle(p_longitude, p_latitude, pc_longitude, pc_latitude, c_radius)

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
p_longitude real ✔️ 地理空間座標の経度値 (度単位)。 有効な値は実数で、[-180, +180] の範囲です。
p_latitude real ✔️ 地理空間座標の緯度の値 (度単位)。 有効な値は実数で、[-90, +90] の範囲です。
pc_longitude real ✔️ 円中心地理空間座標経度値 (度単位)。 有効な値は実数で、[-180, +180] の範囲です。
pc_latitude real ✔️ 円の中心の地理空間座標の緯度の値を度単位で指定します。 有効な値は実数で、[-90, +90] の範囲です。
c_radius real ✔️ 円の半径 (メートル単位)。 有効な値は正の整数で指定する必要があります。

返品

地理空間座標が円の内部にあるかどうかを示します。 座標または円が無効な場合、クエリは null 結果を生成します。

Note

  • 地理空間座標は、WGS-84 座標参照系によって表されるものとして解釈されます。
  • 地球上での距離の測定に使う測地原点は、球体となっています。
  • 円は地球の球キャップです。 キャップの半径は球の表面に沿って測定されます。

次の例では、[-122.317404, 47.609119] 座標の中心である半径 18 km の円で定義されている領域内のすべての場所を検索します。

シアトルから 18 km 圏内の場所を含むマップのスクリーンショット。

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

出力

場所
シアトル
Kirkland
Redmond

次の例では、オーランドで Storm イベントを検索します。 イベントは、オーランド州の座標内100 kmによってフィルター処理され、イベントの種類とハッシュによって集計されます。

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

出力

マップ上に円グラフポイントが表示されたオーランドの嵐のイベントのスクリーンショット。

次の例は、特定の場所から 10 メートル以内のニューヨーク市のタクシー乗車を示しています。 関連するピックアップは、ハッシュによって集計されます。

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)

出力

クエリで定義されている、近くのニューヨーク市のタクシー乗車を示すレンダリングされたマップのスクリーンショット。

次の例では、true が返されます。

print in_circle = geo_point_in_circle(-122.143564, 47.535677, -122.100896, 47.527351, 3500)

出力

in_circle
true

次の例では、false が返されます。

print in_circle = geo_point_in_circle(-122.137575, 47.630683, -122.100896, 47.527351, 3500)

出力

in_circle
false

次の例では、座標入力が無効なため、null 値の結果が返されます。

print in_circle = geo_point_in_circle(200, 1, 1, 1, 1)

出力

in_circle

次の例では、無効な円の半径入力が原因で null 結果が返されます。

print in_circle = geo_point_in_circle(1, 1, 1, 1, -1)

出力

in_circle