対応 iPad 11世代 / 10世代 ガラスフィルム (2025/2022モデル) ガイド枠付き 【2枚セット-日本旭硝子素材】対応 iPad第10世代 2022 iPad第11世代A16 10.9インチ 保護フィルム iPad10 iPad11 フィルム 強化ガラス スマートタブレット 第11世代2025 第10世代2022 液晶保護フィルム ガイド枠 { 全面保護 2.5D 硬度9 H 耐衝撃 飛散防止 貼り付け簡単 自動吸着 気泡ゼロ 指紋防止 ラウンドエッジ加工 超薄0.26mm 超高質感 スマートタブレット SENTM-2IP10D-1
¥998 (2025年4月25日 13:07 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)
はじめに
BBOX Serverオープンソースのコンポーザブルな空間情報サービスであり、OGC API規格に準拠したFeature、Map、Tile、Asset、Processes、Routingなど、複数のコンポーネントを提供します。高性能なHTTPサーバーを内蔵しているため、静的および動的な位置情報データを効率的に処理できます。また、従来構築に手間がかかっていたQGIS Serverが、簡単に利用できる形で実装されています。データソースはさまざまなフォーマットに対応し、PostgreSQL(PostGIS)の利用も可能です。
(https://zenn.dev/mierune/articles/try-116-bbox-server より引用)
BBOX Serverを使用することで、PostGISをデータソースにしたAPIを構築したり、MBTilesのような静的タイルファイルを提供するAPIを簡単に作成できます。特に、Docker環境で簡単に実行できるため、クラウド環境でのデプロイメントが非常に容易です。
本記事では、BBOX Serverを使用して、AWS Lambdaのサーバーレス環境でPostGISから地物データを配信するAPIを構築する方法を紹介します。
BBOX Serverの特徴
BBOX Serverの特徴的な機能をいくつか紹介します。
コンポーザブルなサービス
BBOX Serverは、OGC APIの規格に準拠し、Feature、Map、Tile、Asset、Processes、Routingなどの異なるコンポーネントを提供します。
静的・動的データ処理
高性能なHTTPサーバーを内蔵しており、静的なMBTilesや動的なPostGISなど、異なる形式の地理データを効率的に処理できます。
簡単なデプロイ
Docker環境で動作するため、コンテナ化されたBBOX ServerをAWSや他のクラウド環境に簡単にデプロイできます。
PostGISサポート
PostGISをデータソースにした地物データの検索やタイル配信が簡単に行えます。
API構築の流れ
1. BBOX Serverの設定
APIを構築するには、まずbbox.tomlという設定ファイルを準備します。このファイルでPostGISなどのデータソースを設定し、APIの動作をカスタマイズします。
例えば、以下の設定ではsaunadbというPostGISのテーブルをデータソースとして使用するAPIを作成します。
[webserver]
server_addr="0.0.0.0:8080"
loglevel="Debug"
[[datasource]]
name="saunadb"
[datasource.postgis]
url="postgresql://username:password@database-endpoint.ap-northeast-1.rds.amazonaws.com:5432/database"
[[collection]]
name="sauna"
title="saunaapi"
description="Sauna API For MIERUNE CTO"
[collection.postgis]
datasource="saunadb"
table_name="sauna_location"
geometry_field="geom"
fid_field="id"
queryable_fields=["name","address"]
この設定では、sauna_locationというテーブルからgeomフィールド(座標情報)を使って地物を取得できるAPIを提供します。
2. Lambdaでのデプロイ
BBOX ServerはDockerで実行できるため、AWS Lambdaでもコンテナとして実行できます。LambdaでAPIを動作させるためには、AWS Lambda Adapterをコンテナ内に組み込む必要があります。以下のようなDockerfileを作成し、ECRにプッシュしてLambdaで実行します。
FROM sourcepole/bbox-server-qgis:latest
COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.4 /lambda-adapter /opt/extensions/lambda-adapter
ENV READINESS_CHECK_PATH=/
COPY ./bbox.toml /var/www/bbox.toml
これにより、AWS Lambdaがコンテナを実行するために必要な設定が整います。
APIの利用方法
LambdaにデプロイしたAPIは、指定されたURLを使って利用することができます。例えば、地物情報を取得するために以下のようなURLにリクエストを送ります。
/collections/sauna/items: saunaコレクション内の全ての地物を取得
/collections/sauna/items?bbox=…&limit=2: 指定した範囲(bbox)内で2件の地物を取得
リクエスト例:
GET https://your-lambda-url.lambda-url.ap-northeast-1.on.aws/collections/sauna/items?bbox=139.75657574846093,35.676942841919384,139.76762426699804,35.6859571545813&limit=2
ここで、bboxは検索範囲、limitは取得する地物の数を指定するパラメータです。
結論
BBOX Serverは、そのコンテナ化された設計により、非常に簡単にサーバーレスでの空間情報APIの構築を可能にします。PostGISなどのデータソースを活用し、AWS Lambda環境でのデプロイが容易で、エンジニアが効率的にAPIを提供できる点が大きな魅力です。今後、さらに開発が進むことで、複雑なクエリの対応や他の機能が強化されることが期待されると思われます