SASGIS

Веб-картография и навигация

SAS.Wiki

Веб-картография и навигация

Инструменты пользователя

Инструменты сайта


zmp

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

zmp [25/01/2021 12:09]
radioxoma Логическая последовательность
zmp [05/07/2023 09:20] (текущий)
138.199.27.248 MemCacheClearStrategy
Строка 1: Строка 1:
 ====== Формат zmp и создание карт ====== ====== Формат zmp и создание карт ======
  
-Каждый картографический сервис в SASPlanet описывается в "​zmp"​. Это zip-архив ​или папка ​с расширением ''​.zmp'',​ в которой хранится текстовое описание сервиса в особом формате. Один "​zmp"​ соответствует одной карте и независим от других. Сама аббревиатура является производным от слов: **z**ip **m**a**p**.+Каждый картографический сервис в SASPlanet описывается в "​zmp"​. Это ​папка или ​zip-архив с расширением ''​.zmp'',​ в котором хранится текстовое описание сервиса в особом формате. Один "​zmp"​ соответствует одной карте и независим от других. Сама аббревиатура является производным от слов: **z**ip **m**a**p**.
  
-Готовые zmp распространятся через [[основной_репозиторий|основной]] и [[плюсовой_репозиторий|плюсовой]] репозитории. ​SASPlanet ​по умолчанию поставляется с основным ​набором карт.+Коллекция zmp расположена ​в подпапках ''​Maps''​ в виде дерева каталогов и распространяется через [[основной_репозиторий|git-репозитарий]] отдельно от SAS.Planet. В прошлом в программе использовались только zip-архивы с расширением ''​.zmp''​. Сразу ​после установки программы ​обновите ​набор ​zmp.
  
-===== Основные ​принципы ===== +===== Общий ​принцип ===== 
-Наша конечная цель - скачать [[тайл|тайлы]] с сервера и сохранить их в кеш ​SASPlanet. В zmp описывается как формируется ссылка на тайл и особенности HTTP-запроса на скачивание с конкретного сервера.+SAS.Planet ​скачивает [[тайл|тайлы]] с сервера и сохраняет их в тайловый ​кеш. В zmp описываетсякак формируется ссылка на конкретный ​тайл и особенности HTTP-запроса на скачивание с конкретного сервера. При создании zmp чаще всего копируют поведение браузера при просмотре online-карт. Удобно пользоваться встроенными в браузер инструментами веб-разработчика,​ так, для Firefox нажмите //F12//, после чего откройте веб-страницу с картой.
  
-Основными параметрами [[тайл|тайла]] являются масштаб и координаты по осям x и y. В программе приняты следующие обозначения: масштаб обозначается переменной ''​GetZ'',​ координаты по осям ''​x''​ и ''​y''​ - соответственно переменными ''​GetX''​ и ''​GetY''​. Эти переменные привязаны к тайловой сетке, принятой на Google Maps. На других картсервисах могут быть приняты иные абсолютные значения указанных переменных. Наша задача - преобразовать рассчитанные программой значения ''​GetX'',​ ''​GetY''​ и ''​GetZ''​ в форму, понятную для сервера,​ с которым мы собираемся работать.+Обучающие примеры:
  
-Нам нужно сформировать такой текст запроса,​ в ответ на который сервер пришлёт нам конкретный,​ нужный нам тайл. Такие запросы уже посылает браузер,​ когда мы просматриваем в нём карту или снимок. Имеет смысл научиться формированию запросов у него. 
- 
-  * Команды,​ доступные в скриптах 
   * [[Простой пример]]   * [[Простой пример]]
   * [[Простой пример с плейсхолдерами]]   * [[Простой пример с плейсхолдерами]]
 +  * [[Пример порезки на тайлы]]
 +  * [[Описание Паскаль скриптов]] (GetUrlScript.txt)
 +  * [[Как скачивать нужные масштабы и не скачивать ненужные]]
   * Сложный пример (подключение dll)   * Сложный пример (подключение dll)
-  * Что не получится сделать в картах 
-  * [[Добавление нового кэша к уже существующему]] 
  
  
 ===== Структура ZMP ===== ===== Структура ZMP =====
  
-Коллекция zmp карт располагается ​в подпапках ''​Maps''​ программы. ​Изначально в программе использовались только ​zip-архивы с расширением ''​.zmp'', ​затем появилась возможность ​хранить описание ​в неархивированных папках. Каждый zmp может содержать следующие файлы ​и папки:+Каждый zmp может содержать следующие файлы и папки:​ 
 + 
 +  * **params.txt** — описывает основные параметры ​карты ​или слоя, единственный файл, ​который **является обязательным**;​ 
 +  * **[[описание_паскаль_скриптов|GetUrlScript.txt]]** — скрипт, отвечающий за формирование ​ссылки на тайл карты и пользовательских заголовков;​ не нужен если используется ​[[простой_пример_с_плейсхолдерами|упрощенное добавление карт]]). Скрипты пишутся на обычном Pascal. Основными параметрами [[тайл|тайла]] являются масштаб и координаты по осям ​''​x'' ​и ''​y''​. Масштаб обозначается ​переменной ''​GetZ''​ (начинается с единицы),​ координаты по осям ''​x''​ и ''​y''​ - соответственно переменными ''​GetX''​ и ''​GetY''​Эти переменные привязаны к [[Тайл|тайловой сетке]],​ принятой для [[maps:​Google Maps|Google Maps]]; 
 +  * **24.bmp** — файл иконки,​ отображаемой на панели инструментов. Содержимое этого файла — изображение ​произвольного размера в формате BMP, PNG, ICO и других,​ но имя должно быть ''​24.bmp''​. В ранних версиях ​программы требовались иконки ''​18.bmp''​ (BMP, 18×18 pix, цвет фона RGB(255,​0,​255)) и ''​24.bmp''​ 24×24 pix, цвет фона RGB(255,​0,​255)). 
 +  * **info.txt** — словесное описание карты в подмножестве HTML (в частности,​ абзацы надо разделять тегом <​BR>​). Возможен вывод графических файлов (например, легенды карты), через тег ''<​img src=”path\to\image.bmp”/>''​. Ссылаться можно в т.ч. на изображения в папке zmp. 
 +  * графические файлы, ссылка на которые размещена в ''​info.txt'' ​(напримерлегенда карты); 
 +  * **EmptyTiles** — директория, содержащая образцы файлов, которые отдаёт сервер ​вместо пустых (полностью прозрачных) или отсутствующих тайлов,​ а также в случае бана. Такие тайлы ​не будут сохраняться в SAS.Planet. В некоторых случаях сервер отдаёт нормальные тайлы в одном формате (например //​image/​jpeg//​), ​а «пустышки» в другом (например полностью прозрачный //​image/​png//​). Поскольку SAS.Planet конвертирует все принятые тайлы в формат, указанный в параметре ''​Ext''​ (см. ниже), то в качестве образцов необходимо использовать исходные файлы, отправленные сервером,​ а не брать ​их из кэша программы.
  
-  *  **params.txt** (обязательно) — параметры карты; 
-  *  **[[описание_паскаль_скриптов|GetUrlScript.txt]]** (обязательно,​ если не используется [[простой_пример_с_плейсхолдерами|упрощенное добавление карт]]) — скрипт,​ отвечающий за формирование ссылки на тайл карты и пользовательских заголовков;​ 
-  *  **info.txt** — словесное описание карты в HTML; 
-  * графические файлы, ссылка на которые размещена в info.txt (например,​ легенда карты);​ 
-  * **EmptyTiles** — директория,​ содержащая образцы тайлов,​ которые не будут скачиваться с сервера (например,​ полностью прозрачные тайлы). В некоторых случаях сервер отдаёт «пустышки» в формате,​ отличном от формата обычных тайлов,​ например,​ обычные тайлы — jpg, а «пустышка» — png. SAS.Планета же переписывает все принятые тайлы в формат,​ указанный в параметре Ext (см. ниже). В таких случаях в качестве образцов необходимо использовать исходные файлы, присланные сервером,​ а не брать их из кэша программы. 
-  * **18.bmp** — файл иконки,​ отображаемой в меню программы (BMP, 18×18 pix, цвет фона RGB(255,​0,​255));​ 
-  *  **24.bmp** — файл иконки,​ отображаемой на панели инструментов (BMP, 24×24 pix, цвет фона RGB(255,​0,​255)). 
-В последних версиях программы вместо 18.bmp и 24.bmp можно использовать один файл с именем 24.bmp. Содержимое этого файла — изображение произвольного размера в формате BMP, PNG, ICO и других (но с расширением BMP). 
  
 ===== params.txt ===== ===== params.txt =====
  
-Параметры файла ​**params.txt**:+> Некоторые из параметров карты могут быть изменены внутри программы без редактирования ​файла ​''​params.txt''​. Для этого нужно зайти в //​Параметры->​Параметры карты//​ или нажать //​Ctrl+Alt+P//​. Пользовательские изменения настроек карт сохраняются в файле ''​Maps/​maps.ini''​.
  
 Раздел **[PARAMS]** Раздел **[PARAMS]**
  
   *  **asLayer** — если равно 1, карта используется как слой, накладываемый поверх основной карты.   *  **asLayer** — если равно 1, карта используется как слой, накладываемый поверх основной карты.
-  *  **pnum** — порядковый номер карты в меню. +  *  **pnum** — порядковый номер карты в меню. Не обязателен
-  *  **GUID** — уникальный идентификационный номер ​карты (генераторы GUID можно ​найти в Интернете,​ например ​[[http://​www.guidgen.com/​|тут]]).+  *  **[[GUID]]** — случайный номерможно [[http://​www.guidgen.com/​|сгенерировать онлайн]]
   *  **ParentSubMenu** — название пункта родительского меню для данной карты на русском языке.   *  **ParentSubMenu** — название пункта родительского меню для данной карты на русском языке.
   *  **ParentSubMenu_en** — название пункта родительского меню для данной карты на английском языке.   *  **ParentSubMenu_en** — название пункта родительского меню для данной карты на английском языке.
   *  **ParentSubMenu_uk** — название пункта родительского меню для данной карты на украинском языке.   *  **ParentSubMenu_uk** — название пункта родительского меню для данной карты на украинском языке.
-     ​* ​ существует возможность указать иерархическое меню разделив пункты символом "​\" ​ (например ParentSubMenu=Google\Планеты)+     * существует возможность указать иерархическое меню разделив пункты символом "​\"​ (например ​''​ParentSubMenu=Google\Планеты''​)
   *  **name** — имя карты на русском языке.   *  **name** — имя карты на русском языке.
   *  **name_en** — имя карты на английском языке.   *  **name_en** — имя карты на английском языке.
   *  **name_uk** — имя карты на украинском языке.   *  **name_uk** — имя карты на украинском языке.
-  *  **CacheType** — тип кэша, в который будут записываться тайлы данной карты: +  *  **CacheType** — можно переопределить ​тип кэша ​[[https://​github.com/​sasgis/​sas.planet.src/​blob/​master/​Src/​TileStorage/​c_CacheTypeCodes.pas|из списка в исходном коде]], в который будут записываться тайлы данной карты. NB! Некоторые форматы кеша подходят только для [[Функции программы#​Экспорт карт и спутниковых снимков|экспорта тайлов]]. 
-    ​* ​— по умолчанию + 
-    ​* ​1  ​— GoogleMV  +^ CacheType ^ Название ^ Путь ^ Комментарий ^ 
-    ​* ​2  ​— SAS.Planet  + | По умолчанию ​                 ​| ​                                | Ранее использовался 2, теперь 71 | 
-    ​* ​3  ​— EarthSlicer 1.95  +1  ​GoogleMV ​                     | ''​cache_old/​ /​{z+1}/​{q}.{ext}''​ | [[https://​learn.microsoft.com/​en-us/​bingmaps/​articles/​bing-maps-tile-system|Quadkey]] | 
-    ​* ​4  ​— GlobalMapper Tiles (GMT) ''​cache_gmt/​z{z}/​{x}/​{y}{ext}''​ +2  ​SAS.Planet ​                   | ''​cache/''​ | 
-    ​* ​41 — GlobalMapper Aux +3  ​EarthSlicer 1.95              | ''​cache_es/''​ | 
-    ​* ​42 — GlobalMapper Bing +4  ​GlobalMapper Tiles (GMT)      ​| ​''​cache_gmt/​z{z}/​{x}/​{y}.{ext}'' ​| 
-    ​* ​43 — Mobile Atlas Creator (MOBAC) ''​cache_ma/​{z}/​{x}/​{y}{ext}''​ +41 GlobalMapper Aux              | ''​cache_gmt/''​ | Не используется?​ | 
-    ​* ​44 — OsmAnd+ Tiles +42 GlobalMapper Bing             | ''​cache_gmt/​ /​{z}/​{y}/​{x}.{ext}''​ | [[http://​www.sasgis.org/​mantis/​view.php?​id=780|Тикет 780]] | 
-    ​* 45 — Tile Map Service (TMS) ''​cache_tms/​{z}/​{x}/​{-y}{ext}''​ +43 | **[[https://​mobac.sourceforge.io/​|Mobile Atlas Creator]] (MOBAC)** | ''​cache_ma/​{z}/​{x}/​{y}.{ext}'' ​| [[http://​www.sasgis.org/​mantis/​view.php?​id=1936|Тикет 1936]]. Тип кеша известен как [[https://​wiki.openstreetmap.org/​wiki/​Slippy_map_tilenames|Slippy map]]. Нумерация тайлов используется в [[OpenStreetMap]] и Google. Кеш подключается к QGIS, [[https://​mapproxy.org/​docs/​nightly/​caches.html#​cache-file|MapProxy]]. Для использования с [[https://​josm.openstreetmap.de/​|JOSM]] достаточно:​ 
-    ​* ​5  ​— Google Earth +  ​tms:​file:///​home/​user/​SAS.Planet/​cache_ma/​vesat/​{z}/​{x}/​{y}.jpg ​ # Linux 
-    ​* ​51 — GoogleEarth Terrain  +  tms[18]:​file:///​c:/​SAS.Planet/​cache_ma/​vesat/​{z}/​{x}/​{y}.jpg ​ # Windows 
-    ​* ​6  ​— BerkeleyDB +
-    ​* ​61 — BerkeleyDB (Versioned)  +44 OsmAnd+ Tiles                 | Экспорт ''​{z}/​{x}/​{y}.{ext}.tile''​ | [[http://​www.sasgis.org/​mantis/​view.php?​id=884|Тикет 884]]. Не то же самое что "​OsmAnd (SQLite3)"​ ''​*.sqlitedb''​ ([[http://​www.sasgis.org/​mantis/​view.php?​id=3577|тикет 3577]]) | 
-    ​* ​7  ​— DBMS (СУБД)  +45 | [[https://​wiki.openstreetmap.org/​wiki/​TMS|Tile Map Service]] (TMS) ''​cache_tms/​{z}/​{x}/​{-y}.{ext}'' ​| [[http://​www.sasgis.org/​mantis/​view.php?​id=2848|Тикет 2848]]. ([[https://​wiki.osgeo.org/​wiki/​Tile_Map_Service_Specification|спецификация osgeo.org)]]. | 
-    ​* ​71 — SQLite3  +5  ​Google Earth                  | ''​cache_ge/''​ | 
-    * 8  ​— GeoCacher  +51 GoogleEarth Terrain ​          | 
-    ​* ​9  ​— RAM (на диск не записываются) +6  ​| [[https://​ru.wikipedia.org/​wiki/​Berkeley_DB|BerkeleyDB]] | ''​cache_db/''​ | | 
-  *  **DefURLBase** — неизменная часть адреса ссылки на тайлы карты. Или шаблон URL адреса в случае [[простой_пример_с_плейсхолдерами|упрощенного добавления карт]]. +61 BerkeleyDB (Versioned) ​       | 
-  *  **[[epsg_код_проекции|projection]]** — проекция карты. 1 — Меркатор на сфероид,​ 2 — Меркатор на эллипсоид,​ 3 — широта/​долгота. +7  ​DBMS (СУБД) ​                  | 
-  *  **[[epsg_код_проекции|sradiusa]]** — радиус большой полуоси эллипсоида. +71 SQLite3 ​                      | ''​cache_sqlite/​ /​z{z+1}/​0/​0/​0.0.sqlitedb''​ | [[http://​www.sasgis.org/​mantis/​view.php?​id=1376#​c10961|Тикет 1376]]. Создаётся несколько баз SQLite. | 
-  *  **[[epsg_код_проекции|sradiusb]]** — радиус меньшей полуоси эллипсоида.+| 72 | [[https://​wiki.openstreetmap.org/​wiki/​MBTiles|MBTiles]] | Экспорт ''​*.mbtiles''​ | [[http://​www.sasgis.org/​mantis/​view.php?​id=1376|Тикет 1376]], ([[https://​github.com/​mapbox/​mbtiles-spec|спецификация MapBox]]). Используется одна база SQLite, но формат так ограничен,​ что пригоден только для экспорта. | 
 +8  ​GeoCacher ​                    | 
 +9  ​RAM (на диск не записываются) ​| | [[http://​www.sasgis.org/​mantis/​view.php?​id=1755|Тикет 1755]] | 
 + 
 + 
 +  * **DefURLBase** — неизменная часть адреса ссылки на тайлы карты. Или шаблон URL адреса в случае [[простой_пример_с_плейсхолдерами|упрощенного добавления карт]]. 
 +  * **[[epsg_код_проекции|projection]]** — проекция карты. 1 — меркатор на сфероид,​ 2 — меркатор на эллипсоид,​ 3 — широта/​долгота. 
 +  * **[[epsg_код_проекции|sradiusa]]** — радиус большой полуоси эллипсоида. 
 +  * **[[epsg_код_проекции|sradiusb]]** — радиус меньшей полуоси эллипсоида.
   * **[[epsg_код_проекции|EPSG]]** — код проекции карты.   * **[[epsg_код_проекции|EPSG]]** — код проекции карты.
-  *  **NameInCache** — имя папки в кэше, в которую будут записываться тайлы карты. +  * **NameInCache** — имя папки в кэше, в которую будут записываться тайлы карты. 
-  *  **separator** — разделитель в виде горизонтальной черты, отображаемый в меню после данной карты (1 — отображать,​ 0 — не отображать). +  * **separator** — разделитель в виде горизонтальной черты, отображаемый в меню после данной карты (1 — отображать,​ 0 — не отображать). 
-  *  **Ext** — расширение тайла (.jpg, .png, .bmp, .gif). Задаёт формат,​ в котором принудительно будут сохраняться карты, если ContentType другой.  +  * **Ext** — расширение тайла (.jpg, .png, .bmp, .gif). Задаёт формат,​ в котором принудительно будут сохраняться карты, если ContentType другой. 
-  *  **UseDwn** — если равно 1, то скачивать тайлы карты разрешено. ​+  *  **UseDwn** — если равно 1, то скачивать тайлы карты разрешено.
   *  **Sleep** — величина паузы между загрузками отдельных тайлов в миллисекундах.   *  **Sleep** — величина паузы между загрузками отдельных тайлов в миллисекундах.
-  *  **DefHotKey** — сочетание горячих клавиш для данной карты.  +  *  **DefHotKey** — сочетание горячих клавиш для данной карты. 
-  *  **ContentType** — тип загружаемых данных ​(например,​ image/jpeg, image/​png). ​Можно использовать одновременно несколько типов+  *  **ContentType** — список форматов изображений (например, ​''​ContentType=image/​jpeg,​image/​png''​), которые SAS.Planet ​ожидает ​получить от сервера. При несовпадении формата (например сервер вернул текст, а не картинку) отображается ошибка
-  *  **DefaultContentType** — тип, который будет использоваться,​ если сервер не вернул никакого типа или если стоит игнорирование типа, возвращаемого сервером. ​+  *  **DefaultContentType** — тип, который будет использоваться,​ если сервер не вернул никакого типа или если стоит игнорирование типа, возвращаемого сервером.
   *  **IgnoreContentType** — игнорирование типа, возвращаемого сервером.   *  **IgnoreContentType** — игнорирование типа, возвращаемого сервером.
-  *  **DetectContentType** - если равно 1, то после загрузки тайла будет выполнятся анализ его содержимого и коррекция поля Content-Type в хидерах ответа сервера ​+  *  **DetectContentType** - если равно 1, то после загрузки тайла будет выполнятся анализ его содержимого и коррекция поля ​//Content-Type// в заголовках ответа сервера
   *  **MimeTypeSubst** — подстановка типа загружаемых данных (например,​ «image/​png8bit=image/​png»).   *  **MimeTypeSubst** — подстановка типа загружаемых данных (например,​ «image/​png8bit=image/​png»).
   *  **TILERLEFT,​ TILERRIGHT, TILERTOP, TILERBOTTOM** — параметры для обрезки скачиваемых тайлов соответственно слева, справа,​ сверху и снизу. Если получившийся прямоугольник не совпадает с квадратом 256×256, он ещё и растягивается или сжимается до этого размера.   *  **TILERLEFT,​ TILERRIGHT, TILERTOP, TILERBOTTOM** — параметры для обрезки скачиваемых тайлов соответственно слева, справа,​ сверху и снизу. Если получившийся прямоугольник не совпадает с квадратом 256×256, он ещё и растягивается или сжимается до этого размера.
   *  **UsePreloadPage** — если равно 1, использовать предварительно загружаемую страницу (обязательно следует указать её адрес).   *  **UsePreloadPage** — если равно 1, использовать предварительно загружаемую страницу (обязательно следует указать её адрес).
   *  **PreloadPage** — адрес предварительно загружаемой страницы.   *  **PreloadPage** — адрес предварительно загружаемой страницы.
-  *  **RequestHead** — пользовательские HTTP-заголовки (headers), передаваемые на сервер. Поля должны отделяться символами \r\n (пример:​ RequestHead=Referer:​ maps.kosmosnimki.ru\r\nConnection:​ Keep-Alive). +  *  **RequestHead** — пользовательские HTTP-заголовки (headers), передаваемые на сервер. Поля должны отделяться символами ​''​\r\n'' ​(пример: ​''​RequestHead=Referer:​ maps.kosmosnimki.ru\r\nConnection:​ Keep-Alive''​). 
-  *  **Version** — версия тайлов,​ соответствует переменной Version в GetUrlScript.txt. +  *  **Version** — версия тайлов,​ соответствует переменной Version в ''​GetUrlScript.txt''​
-  *  **MaxConnectToServerCount** — максимальное число потоков. Значение по умолчанию устанавливается в секции [ZmpDefaultParams] файла SASPlanet.ini +  *  **MaxConnectToServerCount** — максимальное число потоков. Значение по умолчанию устанавливается в секции ​**[ZmpDefaultParams]** файла ​''​SASPlanet.ini''​ 
-  *  **IsUseDownloaderInScript=1 ** - использование скачивания внутри скрипта [[http://​sasgis.org/​mantis/​view.php?​id=596|добавить отсюда]]+  *  **IsUseDownloaderInScript=1** - использование скачивания внутри скрипта [[http://​sasgis.org/​mantis/​view.php?​id=596|добавить отсюда]]
   *  **UseMemCache** - использовать кэш в памяти (при CacheType=9 (RAM-кэш) отключение данной опции приведёт к ошибке),​ включено по-умолчанию   *  **UseMemCache** - использовать кэш в памяти (при CacheType=9 (RAM-кэш) отключение данной опции приведёт к ошибке),​ включено по-умолчанию
   *  **MemCacheCapacity** - количество тайлов кэшируемых в память. По-умолчанию = 100   *  **MemCacheCapacity** - количество тайлов кэшируемых в память. По-умолчанию = 100
-  *  **MemCacheTTL** - время жизни тайлов (в миллисекундах),​ кэшируемых в память. По-умолчанию = 60000 мс. (1 мин.+  *  **MemCacheTTL** - время жизни тайлов (в миллисекундах),​ кэшируемых в память. По-умолчанию = 60000 мс. (1 мин) 
-  *  **MemCacheClearStrategy** - стратегия очистки (по TTL) кэшируемых в память тайлов. Принимает значения:​ 0 - удалять ВСЕ тайлы из мем-кэша, если истёк TTL у самого СТАРОГО тайла; 1 - удалять ВСЕ тайлы из мем-кэша, если истёк TTL у самого МОЛОДОГО тайла; 2 - удалять только те тайлы, у которых истёк TTL. Помолчанию включён режим 1+  *  **MemCacheClearStrategy** - стратегия очистки (по TTL) кэшируемых в память тайлов. Принимает значения: ​ 
-  *  **RestartDownloadOnMemCacheTTL** - автоматически перезакачивать тайлы в пределах видимой области экрана при очистке ​мем-кэша (работает только если UseMemCache=1). По-умолчанию отключено.+     ​* ​0 - удалять ВСЕ тайлы из RAM-кэша, если истёк TTL у самого СТАРОГО тайла; ​ 
 +     ​* ​1 - удалять ВСЕ тайлы из RAM-кэша, если истёк TTL у самого МОЛОДОГО тайла ​(включён по-умолчанию) 
 +     ​* ​2 - удалять только те тайлы, у которых истёк TTL
 +     * 3 НЕ удалять тайлы по TTL
 +  *  **RestartDownloadOnMemCacheTTL** - автоматически перезакачивать тайлы в пределах видимой области экрана при очистке ​RAM-кэша (работает только если UseMemCache=1). По-умолчанию отключено.
   * **License=©** - текст лицензии,​ который будет выводиться в левом верхнем углу карты. Требуется для соблюдения условий распространения некоторых карт. ​   * **License=©** - текст лицензии,​ который будет выводиться в левом верхнем углу карты. Требуется для соблюдения условий распространения некоторых карт. ​
   * **LayerZOrder** -  порядок отображения слоёв, по умолчанию 0. Слои с большим значением будут отображаться поверх слоев с меньшим значением   * **LayerZOrder** -  порядок отображения слоёв, по умолчанию 0. Слои с большим значением будут отображаться поверх слоев с меньшим значением
   * **IsReadOnly=1** - использовать кэш в режиме "​Только чтение"​   * **IsReadOnly=1** - использовать кэш в режиме "​Только чтение"​
   * **IteratorSubRectSize** -  размеры по вертикали и горизонтали,​ измеряемые в стандартных тайлах (256х256 пикселей) при скачивании так называемых "​мегатайлов",​ то есть тайлов с размерами более чем 256х256 пикселей. (Только в SACS)   * **IteratorSubRectSize** -  размеры по вертикали и горизонтали,​ измеряемые в стандартных тайлах (256х256 пикселей) при скачивании так называемых "​мегатайлов",​ то есть тайлов с размерами более чем 256х256 пикселей. (Только в SACS)
-  * **IteratorSubRectAlign** - если 0 - всё по умолчанию,​ если не 0 (1 или 2), то осуществляется точная привязка к размеру мегатайла. Если же не 1, а 2 - то будет дополнительно увеличен размер просматриваемой области,​ чтобы возможно было скачать даже, например,​ один левый верхний тайл в режиме кэш+интернет при сдвиге окна влево и вверх. Толкование малопонятное,​ интересующимся смотреть [[http://​www.sasgis.org/​mantis/​view.php?​id=1659|здесь]].(Только в SACS+  * **IteratorSubRectAlign** - если 0 - всё по умолчанию,​ если не 0 (1 или 2), то осуществляется точная привязка к размеру мегатайла. Если же не 1, а 2 - то будет дополнительно увеличен размер просматриваемой области,​ чтобы возможно было скачать даже, например,​ один левый верхний тайл в режиме кэш+интернет при сдвиге окна влево и вверх. Толкование малопонятное,​ интересующимся смотреть [[http://​www.sasgis.org/​mantis/​view.php?​id=1659|здесь]]. Только в SACS.
-  +
- +
-[[Пример_Порезки_на_тайлы|Порезка на тайлы]] +
-  * **CutCountX=0** (число кусков по X, необязательный параметр) +
-  * **CutCountY=0** (соответственно по Y) +
-  * **CutSizeX=0** (размер куска по X, если не задано — берётся 256 из параметров) +
-  * **CutSizeY=0** (соответственно по Y) +
-  * **CutTileX=0** (положение запрошенного тайла в общей картинке по X) +
-  * **CutTileY=0** (соответственно по Y) +
-  * ** CutToSkip=(0,​0),​(0,​-1)** ​ перечень тайлов которые нужно пропускать(относительно CutTileX,​CutTileY). +
- +
- +
- +
- +
- +
  
  
Строка 123: Строка 116:
   * **[[epsg_код_проекции|EPSG]]** — код проекции карты при выводе на экран.   * **[[epsg_код_проекции|EPSG]]** — код проекции карты при выводе на экран.
  
-В ночных версиях появилась возможность использовать более продвинутый хоть и медленный парсер kml, c поддержкой чтения оформления меток, линий и полигонов или принудительно задать свои настройки для конкретного zmp. Для того что бы включить и настроить эти функции используются следующие разделы:​+В ночных версиях появилась возможность использовать более продвинутый хоть и медленный парсер kml, c поддержкой чтения оформления меток, линий и полигонов или принудительно задать свои настройки для конкретного zmp. Для того чтобы включить и настроить эти функции используются следующие разделы:​
  
 Раздел **[PARAMS_Vector]** Раздел **[PARAMS_Vector]**
Строка 151: Строка 144:
   *  **FillColor** —  цвет заливки полигона по-умолчанию   *  **FillColor** —  цвет заливки полигона по-умолчанию
   *  **IsForceFillColor** ​ — если равно 1 (это значение по-умолчанию),​ то будет принудительно использовать цвет из **FillColor**,​ даже если парсер смог считать настройки из параметров полигона   *  **IsForceFillColor** ​ — если равно 1 (это значение по-умолчанию),​ то будет принудительно использовать цвет из **FillColor**,​ даже если парсер смог считать настройки из параметров полигона
- 
- 
-Некоторые из параметров карты могут быть изменены внутри программы без редактирования файла params.txt. Для этого нужно зайти в //​Параметры->​Параметры карты//​ или нажать //​Ctrl+Alt+P//​. Пользовательские изменения настроек карт сохраняются в файле maps/​maps.ini. 
- 
-===== GetUrlScript.txt ===== 
- 
-Файл **[[описание_паскаль_скриптов|GetUrlScript.txt]]** содержит скрипт,​ формирующий полные адреса ссылок на файлы данной карты. Скрипты пишутся на обычном Pascal. 
- 
-===== info.txt ===== 
- 
-Файл **info.txt** содержит текстовую информацию о карте. Используется синтаксис HTML (в частности,​ абзацы надо разделять тегом <​BR>​). 
-Также возможен вывод графических файлов (например,​ легенды карты),​ через тег ''<​img src=”path\to\image.bmp”/>''​. Ссылаться можно в т.ч. на изображения в папке zmp.