Прототип семантической плитки и пример сервера

Интерфейс буфера протокола в semantictileapi.proto используется Unity SDK для получения ресурсов объектов и тайлов ландшафта. Служба замены должна реализовать этот API. Включен пример сервера Python, чтобы продемонстрировать, как параметры передаются SDK и как должен формироваться ответ для совместимости с SDK.

Скачать архив

В архиве находятся следующие файлы:

  • semantictileapi.proto — это определение буфера протокола, используемое Unity SDK для получения ресурсов объектов и тайлов ландшафта.

  • server.py — это пример сервера, демонстрирующий сериализацию буфера протокола и его обслуживание, совместимое с SDK.

  • BUILD.bazel и WORKSPACE.bazel вместе составляют проект Bazel, который можно использовать для создания привязок буфера протокола для Python. См. https://bazel.build/ для получения дополнительной информации о том, как установить и использовать Bazel.

  • example_tiles.py показывает несколько примеров того, как создавать FeatureTiles и TerrainTiles с помощью Python.

Как бежать

После установки Bazel вы можете просто запустить следующую команду для сборки и запуска сервера:

> bazel run server

Если вы не хотите устанавливать Bazel, вы также можете собрать библиотеку буферов протокола Python с помощью Protoc. Информацию о том, как использовать инструмент 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 .