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