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