SAS.Wiki

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

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

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


описания_формата_пользовательских_карт_zmp

Различия

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

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

описания_формата_пользовательских_карт_zmp [04/03/2014 05:15]
127.0.0.1 внешнее изменение
описания_формата_пользовательских_карт_zmp [13/02/2020 22:55] (текущий)
nnngrach поправил опечатку
Строка 8: Строка 8:
  
   *  **params.txt** (обязательно) — параметры карты;   *  **params.txt** (обязательно) — параметры карты;
-  *  **[[описание_паскаль_скриптов|GetUrlScript.txt]]** (обязательно) — скрипт,​ отвечающий за формирование ссылки на тайл карты и пользовательских заголовков;​+  *  **[[описание_паскаль_скриптов|GetUrlScript.txt]]** (обязательно, если не используется [[простой_пример_с_плейсхолдерами|упрощенное добавление карт]]) — скрипт,​ отвечающий за формирование ссылки на тайл карты и пользовательских заголовков;​
   *  **info.txt** — информация о карте;   *  **info.txt** — информация о карте;
   * графические файлы, ссылка на которые размещена в info.txt (например,​ легенда карты);​   * графические файлы, ссылка на которые размещена в info.txt (например,​ легенда карты);​
Строка 24: Строка 24:
   *  **asLayer** — если равно 1, карта используется как слой, накладываемый поверх основной карты.   *  **asLayer** — если равно 1, карта используется как слой, накладываемый поверх основной карты.
   *  **pnum** — порядковый номер карты в меню.   *  **pnum** — порядковый номер карты в меню.
-  *  **GUID** — уникальный идентификационный номер карты (генераторы GUID можно найти в Интернете,​ например [[http://valeev.org.ru/software/​1.html|тут]]).+  *  **GUID** — уникальный идентификационный номер карты (генераторы GUID можно найти в Интернете,​ например [[http://www.guidgen.com/​|тут]]).
   *  **ParentSubMenu** — название пункта родительского меню для данной карты на русском языке.   *  **ParentSubMenu** — название пункта родительского меню для данной карты на русском языке.
   *  **ParentSubMenu_en** — название пункта родительского меню для данной карты на английском языке.   *  **ParentSubMenu_en** — название пункта родительского меню для данной карты на английском языке.
Строка 32: Строка 32:
   *  **name_en** — имя карты на английском языке.   *  **name_en** — имя карты на английском языке.
   *  **name_uk** — имя карты на украинском языке.   *  **name_uk** — имя карты на украинском языке.
-  *  **CacheType** — тип кэша, в который будут записываться тайлы данной карты0 — по умолчанию1 — GoogleMV2 — SAS.Planet3 — EarthSlicer4 — GlobalMapper Tiles (GMT)5 — Google Earth6 — BerkeleyDB (база данных Беркли)7 — DBMS (СУБД)8 — GeoCacher9 — RAM (на диск не записываются). +  *  **CacheType** — тип кэша, в который будут записываться тайлы данной карты
-  *  **DefURLBase** — неизменная часть адреса ссылки на тайлы карты. ​+    * 0 — по умолчанию 
 +    *  — GoogleMV ​ 
 +    *  — SAS.Planet ​ 
 +    *  — EarthSlicer ​1.95  
 +    *  — GlobalMapper Tiles (GMT)  
 +    * 41 — GlobalMapper Aux  
 +    * 42 — GlobalMapper Bing 
 +    * 43 — Mobile Atlas Creator (MOBAC) 
 +    * 44 — OsmAnd+ Tiles 
 +    * 45 — Tile Map Service (TMS) 
 +    *  — Google Earth 
 +    * 51 — GoogleEarth Terrain  
 +    *  — BerkeleyDB 
 +    * 61 — BerkeleyDB (Versioned 
 +    *  — DBMS (СУБД) ​ 
 +    * 71 — SQLite3  
 +    *  — GeoCacher ​ 
 +    *  — RAM (на диск не записываются) 
 +  *  **DefURLBase** — неизменная часть адреса ссылки на тайлы карты. Или шаблон URL адреса в случае [[простой_пример_с_плейсхолдерами|упрощенного добавления карт]].
   *  **[[epsg_код_проекции|projection]]** — проекция карты. 1 — Меркатор на сфероид,​ 2 — Меркатор на эллипсоид,​ 3 — широта/​долгота.   *  **[[epsg_код_проекции|projection]]** — проекция карты. 1 — Меркатор на сфероид,​ 2 — Меркатор на эллипсоид,​ 3 — широта/​долгота.
   *  **[[epsg_код_проекции|sradiusa]]** — радиус большой полуоси эллипсоида.   *  **[[epsg_код_проекции|sradiusa]]** — радиус большой полуоси эллипсоида.
Строка 46: Строка 64:
   *  **ContentType** — тип загружаемых данных (например,​ image/jpeg, image/png). Можно использовать одновременно несколько типов.   *  **ContentType** — тип загружаемых данных (например,​ image/jpeg, image/png). Можно использовать одновременно несколько типов.
   *  **DefaultContentType** — тип, который будет использоваться,​ если сервер не вернул никакого типа или если стоит игнорирование типа, возвращаемого сервером. ​   *  **DefaultContentType** — тип, который будет использоваться,​ если сервер не вернул никакого типа или если стоит игнорирование типа, возвращаемого сервером. ​
-  *  **IgnoreContentType** — игнорирование типа, возвращаемого сервером. ​+  *  **IgnoreContentType** — игнорирование типа, возвращаемого сервером. 
 +  *  **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, он ещё и растягивается или сжимается до этого размера.
Строка 60: Строка 79:
   *  **MemCacheClearStrategy** - стратегия очистки (по TTL) кэшируемых в память тайлов. Принимает значения:​ 0 - удалять ВСЕ тайлы из мем-кэша,​ если истёк TTL у самого СТАРОГО тайла; 1 - удалять ВСЕ тайлы из мем-кэша,​ если истёк TTL у самого МОЛОДОГО тайла; 2 - удалять только те тайлы, у которых истёк TTL. По-умолчанию включён режим 1.   *  **MemCacheClearStrategy** - стратегия очистки (по TTL) кэшируемых в память тайлов. Принимает значения:​ 0 - удалять ВСЕ тайлы из мем-кэша,​ если истёк TTL у самого СТАРОГО тайла; 1 - удалять ВСЕ тайлы из мем-кэша,​ если истёк TTL у самого МОЛОДОГО тайла; 2 - удалять только те тайлы, у которых истёк TTL. По-умолчанию включён режим 1.
   *  **RestartDownloadOnMemCacheTTL** - автоматически перезакачивать тайлы в пределах видимой области экрана при очистке мем-кэша (работает только если UseMemCache=1). По-умолчанию отключено.   *  **RestartDownloadOnMemCacheTTL** - автоматически перезакачивать тайлы в пределах видимой области экрана при очистке мем-кэша (работает только если UseMemCache=1). По-умолчанию отключено.
- ​[[Пример_Порезки_на_тайлы|Порезка на тайлы]]+  * **License=©** - текст лицензии,​ который будет выводиться в левом верхнем углу карты. Требуется для соблюдения условий распространения некоторых карт.  
 +  * **LayerZOrder** -  порядок отображения слоёв, по умолчанию 0. Слои с большим значением будут отображаться поверх слоев с меньшим значением 
 +  * **IsReadOnly=1** - использовать кэш в режиме "​Только чтение"​ 
 + 
 +  * **IteratorSubRectSize** -  размеры по вертикали и горизонтали,​ измеряемые в стандартных тайлах (256х256 пикселей) при скачивании так называемых "​мегатайлов",​ то есть тайлов с размерами более чем 256х256 пикселей. (Только в SACS) 
 +  * **IteratorSubRectAlign** - если 0 - всё по умолчанию,​ если не 0 (1 или 2), то осуществляется точная привязка к размеру мегатайла. Если же не 1, а 2 - то будет дополнительно увеличен размер просматриваемой области,​ чтобы возможно было скачать даже, например,​ один левый верхний тайл в режиме кэш+интернет при сдвиге окна влево и вверх. Толкование малопонятное,​ интересующимся смотреть [[http://​www.sasgis.org/​mantis/​view.php?​id=1659|здесь]].(Только в SACS) 
 +  
 + 
 +[[Пример_Порезки_на_тайлы|Порезка на тайлы]]
   * **CutCountX=0** (число кусков по X, необязательный параметр)   * **CutCountX=0** (число кусков по X, необязательный параметр)
   * **CutCountY=0** (соответственно по Y)   * **CutCountY=0** (соответственно по Y)
Строка 79: Строка 106:
  
   * **[[epsg_код_проекции|EPSG]]** — код проекции карты при выводе на экран.   * **[[epsg_код_проекции|EPSG]]** — код проекции карты при выводе на экран.
 +
 +В ночных версиях появилась возможность использовать более продвинутый хоть и медленный парсер kml, c поддержкой чтения оформления меток, линий и полигонов или принудительно задать свои настройки для конкретного zmp. Для того что бы включить и настроить эти функции используются следующие разделы:​
 +
 +Раздел **[PARAMS_Vector]**
 +  *  **UseAppearance** — если равно 1, то включается использование оформления из zmp и загруженных векторных тайлов
 +
 +Раздел **[PARAMS_Vector_Point]**
 +Настройки оформления точек.
 +  *  **IconName** —  имя иконки по-умолчанию
 +  *  **IsForceIconName** ​ — если равно 1 (это значение по-умолчанию),​ то будет принудительно использовать заданную в параметре **IconName**,​ даже если парсер смог считать имя иконки из праметров точки
 +  *  **IconSize** — размер иконки по-умолчанию
 +  *  **IsForceIconSize** — если равно 1 (это значение по-умолчанию),​ то будет принудительно использовать размер иконки заданный в **IconSize**,​ даже если парсер смог считать размер из праметров точки
 +
 +
 +Раздел **[PARAMS_Vector_Line]**
 +Настройки оформления линий
 +  *  **LineColor** —  цвет линии по-умолчанию
 +  *  **IsForceLineColor** ​ — если равно 1 (это значение по-умолчанию),​ то будет принудительно использовать цвет из **LineColor**,​ даже если парсер смог считать настройки из параметров линии
 +  *  **LineWidth** — толщина линии по-умолчанию
 +  *  **IsForceLineWidth** — если равно 1 (это значение по-умолчанию),​ то будет принудительно использовать толщину линии заданную в **LineWidth**,​ даже если парсер смог считать настройки из параметров линии
 +
 +Раздел **[PARAMS_Vector_Poly]**
 +Настройки оформления полигонов
 +  *  **LineColor** —  цвет границы полигона по-умолчанию
 +  *  **IsForceLineColor** ​ — если равно 1 (это значение по-умолчанию),​ то будет принудительно использовать цвет из **LineColor**,​ даже если парсер смог считать настройки из параметров полигона
 +  *  **LineWidth** — толщина границы полигона по-умолчанию
 +  *  **IsForceLineWidth** — если равно 1 (это значение по-умолчанию),​ то будет принудительно использовать толщину линии заданную в **LineWidth**,​ даже если парсер смог считать настройки из параметров полигона
 +  *  **FillColor** —  цвет заливки полигона по-умолчанию
 +  *  **IsForceFillColor** ​ — если равно 1 (это значение по-умолчанию),​ то будет принудительно использовать цвет из **FillColor**,​ даже если парсер смог считать настройки из параметров полигона