OSMTileProxy est un proxy de mise en cache pour les tuiles cartographiques d'Openstreetmap ou d'un autre fournisseur de tuiles cartographiques.
Il expose le point de terminaison /tiles/{provider}/{level:int}/{x:int}/{y:int} renvoyant une image pour les coordonnées de tuile données. Il charge d'abord une vignette du fournisseur, la stocke dans le cache disque, puis utilise cette image jusqu'à son expiration.
Tiles
de la section de configuration dans appsettings.json
contiennent tout ce qui est requis pour le proxy et la mise en cache.
"Tiles": {
"Cache": "/var/www/tiles",
"Providers": [
{
"Id": "osm",
"Url": "https://tile.openstreetmap.org/{0}/{1}/{2}.png",
"UserAgent": "Your-user-agent",
"ContentType": "image/png",
"UseWebp": false,
"MinZoom": 1,
"MaxZoom": 19
}
]
}
Vous trouverez ci-dessous l'explication des paramètres de la section.
Cache
- dossier dans lequel les tuiles sont mises en cache, dans la configuration de développement appsettings.Development.json
il s'agit de c:temptiles, assurez-vous que c:temp existe ou spécifiez un autre emplacement.
Providers
- tableau de paramètres du fournisseur.
Providers:[i]:Id
- identifiant arbitraire du fournisseur, utilisé dans le point de terminaison, par exemple /osm/2/1/1.
Providers:[i]:Url
- modèle de point de terminaison du fournisseur, où {0} est le niveau (zoom de la carte), {1} - coordonnée x d'une vignette, {2} - coordonnée y d'une vignette.
Providers:[i]:UserAgent
- est obligatoire pour le service Openstreetmap, spécifiez votre User-Agent unique.
Providers:[i]:ContentType
- valeur de l'en-tête Content-Type en réponse, lorsque UseWebp
(voir ci-dessous) est true
cet en-tête est toujours défini sur image/webp.
Providers:[i]:UseWebp
- paramètre facultatif (la valeur par défaut est false
). Lorsque true
, OSMTileProxy convertit les images de tuiles au format webp.
Providers:[i]:MinZoom
- paramètre facultatif (la valeur par défaut est 1). Spécifie le niveau de zoom minimum pour le fournisseur de tuiles, utilisé pour la validation.
Providers:[i]:MaxZoom
- paramètre facultatif (la valeur par défaut est 19). Spécifie le niveau de zoom maximum pour le fournisseur de tuiles, utilisé pour la validation.
S'il est déployé en tant que conteneur Docker, liez le répertoire de cache à votre conteneur, par exemple
docker run -p 8080:8080 --name osmtileproxy -v /var/www/tiles:/var/www/tiles -d osmtileproxy:latest