セマンティック タイルのプロトコルとサンプル サーバー

semantictileapi.proto のプロトコル バッファ インターフェースは、Unity SDK による対象物や地形のタイルリソースの取得に使用されます。この API は代替サービスが実装します。これには、Python のサンプル サーバーが含まれており、SDK によるパラメータの受け渡し方法や、SDK との互換性を確保するためのレスポンスの作成方法が示されています。

アーカイブをダウンロードする

アーカイブには次のファイルが含まれています。

  • semantictileapi.proto は、Unity SDK で使用されるプロトコル バッファの定義で、対象物や地形のタイルリソースの取得に用いられます。

  • server.py は、プロトコル バッファによるシリアル化と、SDK との互換性の確保を例示するためのサンプル サーバーです。

  • BUILD.bazelWORKSPACE.bazel は合わせて、Python 用のプロトコル バッファ バインディングの生成に使用できる Bazel プロジェクトで構成されています。Bazel のインストール方法と使用方法について詳しくは、https://bazel.build/ をご覧ください。

  • example_tiles.py は、python を使用して FeatureTilesTerrainTiles を作成する方法をいくつか示しています。

実行方法

Bazel をインストールした後、次のコマンドを実行してサーバーをビルドし、起動します。

> bazel run server

Bazel をインストールしたくない場合は、Protoc を使用して Python プロトコル バッファ ライブラリをビルドすることもできます。protoc ツールの使用方法については、プロトコル バッファの基本: Python をご覧ください。ただし、今回の例では、Bazel を使用してビルドすることをおすすめします。

cURL で、実行中のサーバーにリクエストを送信します。

> curl 'localhost:8000/featuretiles/@120588,78656,17z?alt=proto' --output test_feature
> curl 'localhost:8000/terraintiles/@120588,78656,17z?alt=proto' --output test_terrain

人が判読できる形式にしたい場合は、alt=json を使用します。

> curl 'localhost:8000/featuretiles/@120588,78656,17z?alt=json'

対象物と地形タイルの形式の詳細については、semantictileapi.proto のコメントをご覧ください。