OSMTileProxy は、Openstreetmap または別のマップ タイル プロバイダーのマップ タイルのキャッシュ プロキシです。
これは、指定されたタイル座標の画像を返すエンドポイント /tiles/{provider}/{level:int}/{x:int}/{y:int} を公開します。まず、プロバイダーからタイルを読み込み、それをディスク キャッシュに保存し、有効期限が切れるまでこのイメージを使用します。
appsettings.jsonの構成セクションTilesには、プロキシとキャッシュに必要なすべてが含まれています。
"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
}
]
}
以下にセクションパラメータの説明を示します。
Cache - タイルがキャッシュされるフォルダー。開発構成appsettings.Development.jsonでは c:temptiles です。c:temp が存在することを確認するか、別の場所を指定します。
Providers - プロバイダー パラメーターの配列。
Providers:[i]:Id - エンドポイントで使用されるプロバイダーの任意の識別子 (/osm/2/1/1 など)。
Providers:[i]:Url - プロバイダーのエンドポイント パターン。ここで、{0} はレベル (マップ ズーム)、{1} - タイルの x 座標、{2} - タイルの y 座標です。
Providers:[i]:UserAgent - Openstreetmap サービスには必須です。一意の User-Agent を指定します。
Providers:[i]:ContentType - 応答の Content-Type ヘッダーの値UseWebp (以下を参照) がtrueの場合、このヘッダーは常に image/webp に設定されます。
Providers:[i]:UseWebp - オプションのパラメータ (デフォルト値はfalse )。 trueの場合、OSMtileProxy はタイル イメージを WebP 形式に変換します。
Providers:[i]:MinZoom - オプションのパラメータ (デフォルト値は 1)。検証に使用されるタイル プロバイダーの最小ズーム レベルを指定します。
Providers:[i]:MaxZoom - オプションのパラメータ (デフォルト値は 19)。検証に使用されるタイル プロバイダーの最大ズーム レベルを指定します。
Docker コンテナとしてデプロイされている場合は、キャッシュ ディレクトリをコンテナにバインドします。たとえば、
docker run -p 8080:8080 --name osmtileproxy -v /var/www/tiles:/var/www/tiles -d osmtileproxy:latest