📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

ST_HILBERT



GEOMETRY または GEOGRAPHY オブジェクトを Hilbert 曲線インデックスにエンコードします。この関数は、エンコードする点としてジオメトリのバウンディングボックスの中心を使用します。bounds が指定されている場合、エンコード前にその点は指定されたバウンディングボックス内に正規化されます。

構文

ST_HILBERT(<geometry_or_geography>) ST_HILBERT(<geometry_or_geography>, <bounds>)

引数

引数説明
<geometry_or_geography>引数は GEOMETRY または GEOGRAPHY 型の式である必要があります。
<bounds>オプション。エンコード前に点を正規化するために使用する配列 [xmin, ymin, xmax, ymax] です。

戻り値の型

UInt64。

例

GEOMETRY の例

SELECT ST_HILBERT(TO_GEOMETRY('POINT(1 2)')) AS hilbert1, ST_HILBERT(TO_GEOMETRY('POINT(5 5)')) AS hilbert2; ╭───────────────────────────╮ │ hilbert1 │ hilbert2 │ ├─────────────┼─────────────┤ │ 3355443200 │ 2155872256 │ ╰───────────────────────────╯ SELECT ST_HILBERT(TO_GEOMETRY('POINT(1 2)'), [0, 0, 1, 1]) AS hilbert1, ST_HILBERT(TO_GEOMETRY('POINT(5 5)'), [0, 0, 5, 5]) AS hilbert2; ╭───────────────────────────╮ │ hilbert1 │ hilbert2 │ ├─────────────┼─────────────┤ │ 2863311530 │ 2863311530 │ ╰───────────────────────────╯

GEOGRAPHY の例

SELECT ST_HILBERT(TO_GEOGRAPHY('POINT(113.15 23.06)')) AS hilbert1, ST_HILBERT(TO_GEOGRAPHY('POINT(116.25 39.54)')) AS hilbert2; ╭───────────────────────────╮ │ hilbert1 │ hilbert2 │ ├─────────────┼─────────────┤ │ 3070259060 │ 3033451300 │ ╰───────────────────────────╯ SELECT ST_HILBERT(TO_GEOGRAPHY('POINT(113.15 23.06)'), [73, 4, 135, 53]) AS hilbert1, ST_HILBERT(TO_GEOGRAPHY('POINT(116.25 39.54)'), [73, 4, 135, 53]) AS hilbert2; ╭───────────────────────────╮ │ hilbert1 │ hilbert2 │ ├─────────────┼─────────────┤ │ 3533607194 │ 2330429279 │ ╰───────────────────────────╯

このページは役に立ちましたか?