
2026/02/03 1:40
72,000,000 件の観光スポット(Points of Interest)
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
概要:
オーバーチュアは、2026年1月時点で 72 444 739件のレコード を含むグローバルなポイント・オブ・インタレスト(POI)データセットをリリースしました。データは毎月AWS S3に公開され、各リリースには合計約 7.2 GB の複数のParquetファイルが含まれます(例:2026‑01‑21.0 リリースでは8つのファイル)。
近年、オーバーチュアは新しいスキーマフィールドを追加しました:運営状況と信頼度(9月)、基本カテゴリ(10月)、および分類体系(12月)。データセットには 7200万件以上 のPOIが含まれ、住所・ジオメトリ・連絡先情報・ブランド・カテゴリ・信頼スコア・ソーシャルリンクなどの詳細属性が揃っています。
主要統計は次のとおりです:
- カテゴリ: 「restaurant」(約4.8 M)、「specialty_store」(約2.9 M)と398種類のユニークな基本カテゴリ。
- 運営状況: 72 443 934件がオープン、785件がクローズ、20件が一時的にクローズ。
- バージョン: 最も頻繁に使用されるのはバージョン5(ズーム‑5で137 824ヘキサゴン)。バージョンは1から8まで存在。
- ブランド: 約4 M件がブランド情報を持ち、主要ブランドにはCitibank、Wildberries、Western Union、Shell、およびMcDonald’s(42 K店舗)があります。
- 分類階層: 例として [food_and_drink, restaurant](約2 M)、[lifestyle_services, beauty_service, beauty_salon](約600k)。
- 海洋POI: 約29.6 百万件のPOIがオープンオーシャン/シー上に位置し、H3‑6ヘキサゴンはMarine Regionsポリゴンと交差。
- 信頼度分布: 大多数が0.3–1.0の範囲で、最も頻繁な値は1.0(36 231 092件)。
リリースは60日後に自動的に削除されるため、ユーザーはローカルコピーを最新状態に保つ必要があります。この包括的POIリソースは、ビジネスや開発者が大規模でマッピング・分析・位置情報サービスを提供する際の基盤となります。
本文
Overture Map の Places データセットは、毎月更新とともにリリースされます。
Places は「ポイント・オブ・インタレスト(POI)」です;2024 年 1 月時点で全世界で 7200 万件を超える POI が含まれています。
例 – エストニア、タリン市 Viru Street
各 POI は「主な名前」と「基本カテゴリ」を角括弧で表示し、ポイントの色はその POI の基本カテゴリに対応しています。
最近の改善点
| 月 | 追加プロパティ |
|---|---|
| 9 月 | , |
| 10 月 | |
| 12 月 | |
本稿では最新リリース(2026‑01‑21.0)をレビューします。
私のワークステーション
- CPU: AMD Ryzen 9 9950X、5.7 GHz、16 コア / 32 スレッド
- キャッシュ: L1 = 1.2 MB, L2 = 16 MB, L3 = 64 MB
- 冷却: リキッドクーラー。Cooler Master HAF‑700 ケースに収容
- RAM: 96 GB DDR5 @ 4,800 MT/s
- ストレージ: Crucial T700 4 TB NVMe M.2 SSD(12,400 MB/s 読み込み)、ヒートシンク付き
- 電源: Corsair 1,200‑W モジュラー PSU、ASRock X870E Nova‑90 マザーボード
- OS: Ubuntu 24 LTS を Microsoft の Windows Subsystem for Linux 上で Windows 11 Pro で実行(GPU: NVIDIA GTX 1080 – ドライバサポートが優れており ArcGIS Pro は Windows でのみ動作)
前提ソフトウェアのインストール
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install jq python3-pip python3.12-venv # Python 仮想環境 python3 -m venv ~/.pois source ~/.pois/bin/activate # Parquet デバッグツール git clone https://github.com/marklit/pqview ~/pqview pip install -r ~/pqview/requirements.txt # AWS CLI pip install awscli # DuckDB 1.4.3(拡張機能付き) cd ~ wget -c https://github.com/duckdb/duckdb/releases/download/v1.4.3/duckdb_cli-linux-amd64.zip unzip -j duckdb_cli-linux-amd64.zip chmod +x duckdb ./duckdb # 起動時に拡張機能をロード .timer on .width 180 LOAD h3; LOAD lindel; LOAD json; LOAD parquet; LOAD spatial;
地図は QGIS 3.44(Tile+ と HCMGIS プラグインで Bing/Esri ベースマップ)で描画しました。
Overture の Places をダウンロード
curl https://labs.overturemaps.org/data/releases.json # 最新: 2026-01-21.0 aws s3 --no-sign-request sync \ s3://overturemaps-us-west-2/release/2026-01-21.0/theme=places/type=place/ \ ~/places
8 個の Parquet ファイル、約 7.2 GB。
データフルエンシー
総レコード数: 72,444,739
SELECT COUNT(*) FROM 'places/part*.parquet'; -- 72444739
POI 密度ヒートマップ(H3 zoom‑3)
CREATE OR REPLACE TABLE h3_3_stats AS SELECT H3_LATLNG_TO_CELL(bbox.ymin, bbox.xmin, 3) AS h3_3, COUNT(*) AS num_pois FROM 'places/part*.parquet' GROUP BY h3_3; COPY ( SELECT ST_ASWKB(H3_CELL_TO_BOUNDARY_WKT(h3_3)::geometry), num_pois FROM h3_3_stats WHERE ST_XMIN(geom) BETWEEN -179 AND 179 AND ST_XMAX(geom) BETWEEN -179 AND 179 ) TO 'num_pois.h3_3_stats.parquet' (FORMAT PARQUET, CODEC ZSTD, COMPRESSION_LEVEL 22, ROW_GROUP_SIZE 15000);
サンプルレコード(チリの Starbucks)
SELECT * EXCLUDE(addresses,bbox,brand,categories,names,taxonomy,sources), addresses::JSON AS addresses, bbox::JSON AS bbox, brand::JSON AS brand, categories::JSON AS categories, names::JSON AS names, taxonomy::JSON AS taxonomy, sources::JSON AS sources FROM 'places/part*.parquet' WHERE brand.names.primary = 'Starbucks' LIMIT 1;
列ごとの空き容量(ファイル単位)
python3 ~/pqview/main.py types --html places/part-00000-faac29ab-3031-41b7-836a-26e1193347c0-c000.zstd.parquet > places.types.html
ソース
SELECT COUNT(*), a.dataset FROM (SELECT UNNEST(sources) a FROM 'places/part*.parquet') GROUP BY dataset ORDER BY 1 DESC; -- Overture, meta, Foursquare, Microsoft, AllThePlaces, DAC, PinMeTo, RenderSEO, Krick
基本カテゴリ
SELECT COUNT(DISTINCT basic_category) FROM 'places/part*.parquet'; -- 398 種類のユニークカテゴリ
上位 100 件(抜粋):
| Count | Category |
|---|---|
| 4,809,112 | restaurant |
| 2,941,235 | specialty_store |
| 1,816,052 | beauty_salon |
| … | … |
各 H3 zoom‑3 六角形ごとの最頻カテゴリは、密度ヒートマップと同様に算出しました。
Operating Status
SELECT COUNT(*), operating_status FROM 'places/part*.parquet' GROUP BY operating_status ORDER BY 1 DESC; -- open: 72,443,934; closed: 785; temporarily closed: 20
バージョン分布
SELECT version, COUNT(*) FROM 'version.h3_5_stats.parquet' GROUP BY version ORDER BY 1; -- 最頻バージョン: 5 (137 824 件)
ブランド名
SELECT COUNT(*), brand.names.primary FROM 'places/part*.parquet' GROUP BY brand.names.primary ORDER BY 1 DESC LIMIT 25; -- NULL が圧倒的(68 001 883 件);次に Citibank, Wildberries, Western Union 等
タクソノミー階層
SELECT COUNT(*), taxonomy.hierarchy FROM 'places/part*.parquet' GROUP BY taxonomy.hierarchy ORDER BY 1 DESC LIMIT 25; -- 例: [food_and_drink, restaurant], [lifestyle_services, beauty_service, beauty_salon] 等
海上 POI
7 個の Marine Regions GeoPackage ファイルを DuckDB にインポートしました:
CREATE OR REPLACE TABLE marineregions (name VARCHAR, geom GEOMETRY); INSERT INTO marineregions SELECT name, geom FROM ST_READ('~/marineregions_org/High_Seas_v1.gpkg'); -- 各 GPKG ファイルについて同様に実行
海面上の POI 数:
CREATE OR REPLACE TABLE h3_stats AS SELECT H3_LATLNG_TO_CELL(bbox.ymin, bbox.xmin, 6) AS hexagon, COUNT(*) AS num_pois FROM 'places/part*.parquet' GROUP BY hexagon; SELECT SUM(num_pois) FROM h3_stats a JOIN marineregions b ON ST_Overlaps(H3_CELL_TO_BOUNDARY_WKT(a.hexagon)::GEOMETRY, b.geom) WHERE b.name IS NOT NULL; -- 29,590,753 POI(約 2,900 万件)が海洋・沿岸に存在
Marine Regions のポリゴンは将来使用のため Parquet にエクスポートしました。
Confidence
SELECT COUNT(*), (confidence*10)::INT/10 AS conf_bucket FROM 'places/part*.parquet' GROUP BY conf_bucket ORDER BY 2; -- 最頻バケット: 1.0(36 231 092 件)
最も一般的な confidence を H3 zoom‑5 と zoom‑3 六角形で可視化したマップを作成しました。
締めくくり
ご覧いただきありがとうございます。北米・ヨーロッパにてコンサルティングおよび実務開発サービスを提供しております。
私のサービスが貴社のお役に立つ方法について話し合いたい場合は、LinkedIn からご連絡ください。