L'interface de tampon de protocole dans semantictileapi.proto
est utilisée par le SDK Unity pour récupérer les ressources d'éléments géographiques et de tuiles de relief. Un service de remplacement doit implémenter cette API. Un exemple de serveur Python est inclus pour montrer comment les paramètres sont transmis par le SDK et comment la réponse doit être formée pour assurer la compatibilité avec le SDK.
L'archive contient les fichiers suivants :
semantictileapi.proto
est une définition de tampon de protocole utilisée par le SDK Unity pour récupérer les ressources d'éléments géographiques et de tuiles de relief.server.py
est un exemple de serveur qui illustre la sérialisation et la diffusion du tampon de protocole compatibles avec le SDK.BUILD.bazel
etWORKSPACE.bazel
forment ensemble un projet Bazel que vous pouvez utiliser pour générer les liaisons de tampon de protocole pour Python. Consultez la page https://bazel.build/ pour en savoir plus sur l'installation et l'utilisation de Bazel.example_tiles.py
montre comment créerFeatureTiles
etTerrainTiles
à l'aide de Python.
Fonctionnement
Après avoir installé Bazel, vous pouvez simplement exécuter la commande suivante pour compiler et démarrer le serveur:
> bazel run server
Si vous ne souhaitez pas installer Bazel, vous pouvez également créer la bibliothèque de tampon de protocole Python à l'aide de Protoc. Consultez la page Protocol Buffer Basics: Python pour en savoir plus sur l'utilisation de l'outil protoc. Toutefois, nous vous recommandons d'utiliser Bazel pour créer cet exemple.
Vous pouvez envoyer une requête au serveur en cours d'exécution avec 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 vous voulez afficher un format lisible, utilisez alt=json
.
> curl 'localhost:8000/featuretiles/@120588,78656,17z?alt=json'
Pour en savoir plus sur les formats de tuiles d'éléments géographiques et de relief, consultez les commentaires de semantictileapi.proto
.