メインコンテンツへスキップ

データセット

この Foursquare のデータセットは、ダウンロードして Apache 2.0 ライセンスのもとで無料で利用できます。 店舗、レストラン、公園、遊び場、記念碑などの商業施設やスポット (POI) に関する 1億件を超えるレコードが含まれています。さらに、それらの場所に関する追加のメタデータとして、 カテゴリやソーシャルメディア情報も含まれています。

データの探索

データを探索するには、小規模なコマンドラインツールである clickhouse-local を使用します。これは ClickHouse engine の全機能を利用できますが、ClickHouse Cloud、clickhouse-client、あるいは chDB を使用することもできます。 データが保存されている S3 バケットからデータを取得するには、次のクエリを実行します。
Query
Response
かなり多くのフィールドが ᴺᵁᴸᴸ になっていることがわかるので、クエリに追加の条件を 加えて、より使いやすいデータを取得できます。
Query
次のクエリを実行し、DESCRIBE を使用してデータから自動的に推論されたスキーマを確認します:
Query
Response

データを ClickHouse に読み込む

データをディスクに永続化する場合は、clickhouse-server または ClickHouse Cloud を使用できます。 テーブルを作成するには、次のコマンドを実行します。
Query
LowCardinality データ型が複数のカラムで使用されている点に注目してください。これにより、これらのデータ型の内部表現は 辞書エンコード形式に変わります。辞書エンコードされたデータを扱うことで、多くのアプリケーションで SELECT クエリの性能が 大幅に向上します。 さらに、2 つの UInt32 MATERIALIZED カラム mercator_xmercator_y が作成されます。 これらは、地図をタイルに分割しやすくするために、緯度・経度の座標を Web Mercator projection にマッピングするものです:
上で何が行われているのかを、各カラムごとに見ていきましょう。 mercator_x このカラムは、経度の値をメルカトル図法での X 座標に変換します。
  • longitude + 180 は、経度の範囲を [-180, 180] から [0, 360] にシフトします
  • 360 で割ることで、これを 0 から 1 の間の値に正規化します
  • 0xFFFFFFFF (32 ビット符号なし整数の最大値を表す 16 進数) を掛けることで、この正規化された値を 32 ビット整数の全範囲にスケーリングします
mercator_y このカラムは、緯度の値をメルカトル図法での Y 座標に変換します。
  • latitude + 90 は、緯度の範囲を [-90, 90] から [0, 180] にシフトします
  • 360 で割ってから pi() を掛けることで、三角関数で使うラジアンに変換します
  • log(tan(...)) の部分が、メルカトル図法の数式の中核です
  • 0xFFFFFFFF を掛けることで、32 ビット整数の全範囲にスケーリングします
MATERIALIZED を指定すると、ClickHouse はデータを INSERT するときにこれらの カラムの値を計算します。これにより、元のデータスキーマに含まれていないこれらのカラムを `INSERTステートメントで指定する必要がなくなります。 このテーブルは mortonEncode(mercator_x, mercator_y) で順序付けされており、 これによって mercator_xmercator_y の Z オーダー空間充填曲線が生成され、 地理空間クエリのクエリパフォーマンスが大幅に向上します。この Z オーダー曲線による並び順により、 データは空間的な近接性に基づいて物理的に配置されます。
検索を高速化するために、minmax インデックスも 2 つ作成されます。
ご覧のとおり、ClickHouse にはリアルタイムの マッピングアプリケーションに必要な機能がすべて揃っています! データを読み込むには、次のクエリを実行します。

データの可視化

このデータセットで何ができるのかを確認するには、adsb.exposed をご覧ください。 adsb.exposed はもともと、共同創業者兼 CTO の Alexey Milovidov が、これより 1000 倍大規模な ADS-B (Automatic Dependent Surveillance-Broadcast) の飛行データを可視化するために構築したものです。社内ハッカソンで、Alexey はこのツールに Foursquare のデータを追加しました。 以下では、特におすすめの可視化をいくつかご紹介します。
最終更新日 2026年6月12日