跳至主要内容

Overture Maps + kepler.gl

在這個範例中,我們將查詢 Overture Maps 的建築主題並下載指定 bounding box 的資料。然後,我們會將資料載入到 kepler.gl 中,這是一個開源工具,用於處理大型地圖資料集,並按資料來源可視化建築資料: OpenStreetMapMicrosoft ML Building FootprintsGoogle Open Buildings

最低要求:如果您想使用 Athena,您需要一個 AWS 帳戶和對 S3 儲存貯體的訪問權限。如果您使用 DuckDB(我們推薦版本 0.10.0),則需要安裝和加載空間和 S3 或 Azure 擴展。您不需要在 kepler.gl 上擁有帳戶。

在 AWS Athena 中查詢資料

根據 Amazon Athena 中執行設定查詢的說明。可以在 Athena query console 中執行以下查詢:

SELECT
id,
theme,
class,
sources[1].dataset AS primary_source,
names.primary AS primary_name,
ST_GeomFromBinary(geometry) AS geometry
FROM overture.release.v2024_07_22_0
WHERE theme='buildings'
AND type='building'
AND bbox.xmin > 78.383144
AND bbox.xmax < 78.565011
AND bbox.ymin > 17.30199
AND bbox.ymax < 17.423426

這會輸出大約 106,000 座建築的表格視圖,可以將其下載為 CSV 檔案。

使用 DuckDB 查詢資料

這是一個在 DuckDB SQL 版本中的類似查詢,它會輸出 GeoJSON 檔案。

LOAD spatial;
LOAD httpfs;

COPY (
SELECT
id,
level,
height,
names.primary AS primary_name,
sources[1].dataset AS primary_source,
ST_GeomFromWkb(geometry) AS geometry
FROM read_parquet('s3://overturemaps-us-west-2/release/2024-07-22.0/theme=buildings/type=*/*', filename=true, hive_partitioning=1)
WHERE
bbox.xmin > 78.4194
AND bbox.xmax < 78.5129
AND bbox.ymin > 17.3427
AND bbox.ymax < 17.4192
) TO 'buildings_hyderabad.geojson'
WITH (FORMAT GDAL, DRIVER 'GeoJSON');

在 kepler.gl 中探索資料

將 CSV 或 GeoJSON 檔案拖放到 kepler.gl 中。根據 primary_source 欄位選擇不同顏色來設定特徵圖層樣式。然後,您可以探索 Overture Maps 合併創建建築主題的資料來源。

kepler.gl 範例

kepler.gl gif