OSMTileProxy es un proxy de almacenamiento en caché para mosaicos de mapas de Openstreetmap u otro proveedor de mosaicos de mapas.
Expone el punto final /tiles/{provider}/{level:int}/{x:int}/{y:int} devolviendo una imagen para las coordenadas de mosaico dadas. Primero carga un mosaico del proveedor, lo almacena en la memoria caché del disco y luego usa esta imagen hasta que caduque.
La sección de configuración Tiles
en appsettings.json
contiene todo lo necesario para el proxy y el almacenamiento en caché.
"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
}
]
}
A continuación se muestra la explicación de los parámetros de la sección.
Cache
: carpeta donde se almacenan en caché los mosaicos, en la configuración de desarrollo appsettings.Development.json
es c:temptiles, asegúrese de que c:temp exista o especifique otra ubicación.
Providers
: conjunto de parámetros de proveedores.
Providers:[i]:Id
: identificador arbitrario del proveedor, utilizado en el punto final, por ejemplo /osm/2/1/1.
Providers:[i]:Url
: patrón de punto final de los proveedores, donde {0} es el nivel (zoom del mapa), {1}: coordenada x de un mosaico, {2}: coordenada y de un mosaico.
Providers:[i]:UserAgent
: es obligatorio para el servicio Openstreetmap, especifique su User-Agent exclusivo.
Providers:[i]:ContentType
: valor del encabezado Content-Type en respuesta, cuando UseWebp
(ver a continuación) es true
este encabezado siempre se establece en image/webp.
Providers:[i]:UseWebp
: parámetro opcional (el valor predeterminado es false
). Cuando es true
, OSMTileProxy convierte imágenes de mosaicos al formato webp.
Providers:[i]:MinZoom
: parámetro opcional (el valor predeterminado es 1). Especifica el nivel de zoom mínimo para el proveedor de mosaicos, utilizado para la validación.
Providers:[i]:MaxZoom
: parámetro opcional (el valor predeterminado es 19). Especifica el nivel de zoom máximo para el proveedor de mosaicos, utilizado para la validación.
Si se implementa como contenedor acoplable, vincule el directorio de caché a su contenedor, por ejemplo
docker run -p 8080:8080 --name osmtileproxy -v /var/www/tiles:/var/www/tiles -d osmtileproxy:latest