Proto de tarjeta semántica y servidor de ejemplo

El SDK de Unity usa la interfaz del búfer de protocolo en semantictileapi.proto para recuperar recursos de mosaicos de terreno y funciones. Un servicio de reemplazo debe implementar esta API. Se incluye un servidor de Python de ejemplo para demostrar cómo pasa los parámetros el SDK y cómo se debe formar la respuesta para que sea compatible con el SDK.

Descargar el archivo

El archivo contiene los siguientes archivos:

  • semantictileapi.proto es una definición de búfer de protocolo que usa el SDK de Unity para recuperar recursos de mosaicos de terreno y funciones.

  • server.py es un servidor de ejemplo que muestra la serialización y la entrega del búfer de protocolo que es compatible con el SDK.

  • BUILD.bazel y WORKSPACE.bazel en conjunto componen un proyecto de Bazel que puedes usar a fin de generar las vinculaciones de búfer de protocolo para Python. Consulta https://bazel.build/ para obtener más información sobre cómo instalar y usar Bazel.

  • example_tiles.py muestra algunos ejemplos de cómo crear FeatureTiles y TerrainTiles con Python.

Cómo ejecutarlo

Después de instalar Bazel, puedes ejecutar el siguiente comando para compilar y, luego, iniciar el servidor:

> bazel run server

Si no quieres instalar Bazel, también puedes compilar la biblioteca de búfer de protocolo de Python con Protoc. Consulta Conceptos básicos del búfer de protocolo: Python para obtener información sobre cómo usar la herramienta de protoc, aunque recomendamos usar Bazel para compilar este ejemplo.

Puedes enviar una solicitud al servidor en ejecución con 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

Si quieres ver un formato legible por humanos, usa alt=json

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

Puedes encontrar más información sobre los formatos de mosaicos de terreno y componentes en los comentarios de semantictileapi.proto.