Для кэширования спутниковых данных необходимо:
- Запустить контейнер:
docker compose --profile mapcache up -d |
- Настроить слой спутниковой карты в CToolUI (где <ip> адрес машины, где развернуто ПО РТЛС):
http://<ip>:8181/tiles/satellite/webmercator/{z}/{x}/{y}.png |

После этого все тайлы, которые будут подгружаться на клиенте будут кэшироваться на машине с ПО РТЛС.
Чтобы заранее закэшировать определенный участок глобальной карты необходимо:
- Открыть файл:
compose/mapproxy/seed.yaml |
- Внутри файла найти блок с coverages и изменить bbox на желаемый участок:
coverages:
requiredcoverage:
bbox: [55, 72, 69, 73]
srs: 'EPSG:4326' |
- Можно также изменить уровни зума, которые будут закэшированы (каждый добавленный уровень зума будет увеличивать количестов загруженных тайлов примерно в четыре раза):
# Change which zoom levels to cache
# Each zoom level doubles number of chached tiles
levels:
from: 3
to: 13 |
- Запустить процедуру кэширования можно командой:
docker exec -ti rtls-mapproxy-1 mapproxy-seed -f /mapproxy/mapproxy.yaml -s /mapproxy/seed.yaml --concurrency 8 |
- Concurrency в команде запуска кэширования рекомендуется ставить в соответствии с количеством ядер/ЦПУ на машины с ПО РТЛС.
Если на машине с ПО РТЛС планируется отключать доступ к сети интернет, рекомендуется изменить настройки, чтобы MapProxy не пытался подгружать незакэшированные тайлы, для этого необходимо:
- Открыть файл:
compose/mapproxy/mapproxy.yaml |
- Изменить satellite_cache, убрав из него sources, другими словами поменять
caches:
satellite_cache:
grids: [webmercator]
sources: [satellite_source]
cache:
type: file
directory_layout: tc |
на
caches:
satellite_cache:
grids: [webmercator]
sources: []
cache:
type: file
directory_layout: tc |