Справка:Карты

Версия от 09:00, 17 августа 2014; poster>Cucuzapl (1 версия: WikiLeaflet)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Шаблон:TOC RightВ русской энциклопедии «Традиция» существует возможность размещения в статьях интерактивных географических карт.

Картографическая информация поступает из баз данных OpenStreetMap, Osmosnimki и др. и отображается на страницах «Традиции» при помощи движка WikiLeaflet, в свою очередь использующего библиотеку Leaflet.

Авторы статей вики, однако же, полностью ограждены от этих технических подробностей: для них публикация карт сводится к употреблению шаблона {{wl}}, а также, возможно, его модифицированной версии — {{карта в рамке}}.

Вы находитесь на справочной странице «Справка:Карты», где оформление карт объясняется подробно и на примерах. (Существенно более краткую справку по параметрам шаблонов {{wl}} и {{карта в рамке}} вы можете найти на страницах самих шаблонов.)

Первоначальное создание карты

Чтобы поместить карту на какой-либо странице в Традиции, достаточно вызвать шаблон {{wl}} без параметров:

{{wl}}

Результат применения шаблона будет таков:

    Загружается карта…
 

Свойства по умолчанию

Когда шаблон не имеет параметров, тогда многие свойства такой карты определяются значениями по умолчанию:

  • Высота карты составляет 500 пикселов.
  • Уровень увеличения равен тринадцати. (Понятие «уровень увеличения» имеет отношение к масштабу карты: на нулевом уровне увеличения карта всей планеты помещается внутрь квадрата размером 256×256 пикселов, а каждый последующий уровень сопровождается двукратным ростом масштаба, то есть удвоением размера карты.)
  • Используется та же раскраска карты, что и на сайте OpenStreetMap.

По ширине карта занимает всё доступное ей пространство страницы, но не более того (то есть не накладывается на предшествующие ей иллюстрации или оглавление, когда те прижаты к правому или левому краю страницы).

Интерактивность карт

Все созданные шаблоном {{wl}} географические карты обладают интерактивностью, то есть читатель (или автор) энциклопедии может управлять ими:

  • Ухватив карту мышью (то есть подведя к карте курсор мыши и нажав левую клавишу, а затем не отпуская её), можно таскать карту в произвольном направлении (север, юг, восток, запад…), открывая новые части карты, соседствующие с изображённою. Пользователи мобильных устройств (у которых нет мыши, но есть сенсорный экран) могут таскать карту пальцем.
  • В левом верхнем углу карты нарисованы кнопки «плюс» и «минус», позволяющие увеличивать или уменьшать уровень увеличения.
  • Дважды ткнув какую-либо точку карты (мышью или пальцем), можно увеличить уровень увеличения и одновременно поместить эту точку в центр карты — этим приёмом пользуются при необходимости рассмотреть именно это место поподробнее.

Управление параметрами карты (на примере высоты)

Чтобы изменить установленные по умолчанию параметры карты, внутри основного (внешнего) шаблона {{wl}} помещают дополнительные (внутренние) шаблоны {{wl}}, и желаемые параметры карты указывают в качестве параметров этих внутренних шаблонов.

Так, например, чтобы изменить высоту карты, используется внутренний шаблон {{wl}}, первым параметром которого является слово «высота», а вторым — значение высоты (число пикселей).

Вот пример кода, уменьшающего высоту карты до 250 пикселов:

{{wl|1=
{{wl|высота|250}}
}}

Результат применения этого кода будет таков:

    Загружается карта…
 
250

Как видите, эта карта по высоте вдвое меньше, чем предыдущая.

Внутренний шаблон {{wl}} является частью первого параметра внешнего шаблона {{wl}}, причём номер параметра («1=») указан в явном виде, чтобы дать подсказку механизму шаблонов. (Подробности об этом — в подразделе «Неопределённые и пустые параметры» справочной страницы «Механизм шаблонов».)

Указание центра карты и уровня увеличения

Чтобы указать центр карты (то есть основной отображаемый объект) и задать желаемый уровень увеличения, используется внутренний шаблон {{wl}}, первым параметром которого является слово «центр», а затем следуют значения координат (географической широты и долготы) центра карты и желаемое значение увеличения.

Вот пример кода, показывающего карту Московской области:

{{wl|1=
{{wl|центр|55.63|37.5|7}}
{{wl|высота|450}}
}}

Результат применения этого кода будет таков:

    Загружается карта…
 
55.6337.57 450

В этом примере мы также изменяем и высоту карты (для закрепления сведений, изложенных в предыдущем абзаце).

Географические координаты указываются как числа градусов широты и долготы в форме десятичной дроби (дробная часть отделяется точкою). Положительные числа соответствуют северной широте и восточной долготе, а отрицательные означают южную широту и западную долготу. Указание минут и секунд широты и долготы (то есть шестидесятеричных долей вместо десятичной дроби) не применяется.

Режим считывания координат

Понятно, что довольно хлопотно было бы сперва пытаться угадать координаты и увеличение, а затем долго «на глазок» заниматься их подгонкою, раз за разом внося коррективы в параметры шаблона {{wl|центр|...}} и нажимая кнопку «Предварительный просмотр», чтобы разглядеть, хорошо ли выглядит карта, помеченная этим шаблоном.

Движок WikiLeaflet позволяет существенно ускорить дело: после нажатия кнопки «Предварительный просмотр» карта, показываемая редактору вики, обретает дополнительные возможности и функции, позволяющие непосредственно считывать с неё координаты: сама карта станет подсказывать вид шаблонов, необходимых для указания её координат и увеличения.

На служебных и справочных страницах иногда бывает необходимо, чтобы карта осталась в этом режиме и после сохранения шаблона, а не только при предварительном просмотре. Для этой цели используется внутренний шаблон {{wl}}, первым параметром которого является слово «редактор» или «edit».

Вот пример кода, переводящего карту Московской области (взятую из предыдущего абзаца) в режим считывания координат:

{{wl|1=
{{wl|центр|55.63|37.5|7}}
{{wl|высота|450}}
{{wl|редактор}}
}}

Результат применения этого кода будет таков:

    Загружается карта…
 
55.6337.57

450

 

Как вы можете убедиться на опыте, в этом режиме карта получает следующие возможности:

  • Если таскать карту или изменять уровень её увеличения, то под картою появляется код шаблона {{wl|центр|...}}, все параметры в котором ужé заполнены и соответствуют наблюдаемым параметрам карты. Поэтому остаётся только выделить этот код (в Файерфоксе, например, это делается тройным тычком мыши) и скопировать его в код шаблона карты, чтобы придать карте именно тот центр и именно тот уровень увеличения, которые только что были наглядно достигнуты тасканием карты, увеличением и уменьшением масштаба её.
  • Если ткнуть точку на карте, то на карте появляется код шаблона {{wl|точка|...}}, заполненного координатами этой точки. (В форме {{wl|точка|...}} шаблон служит для создания пометок на карте — мы поговорим об этом далее.)

Нетрудно видеть, что этот инструмент совершенно избавляет от необходимости догадываться о масштабе и о координатах начальной позиции карты: достаточно установить карту в желаемое положение и увеличение, а затем скопировать в код страницы шаблон, описывающий её параметры.

Служебный шаблон {{wl|редактор}} не следует использовать в статьях энциклопедии, потому что итог его действия, то есть вывод кода внутренних шаблонов {{wl}}, отнюдь не будет понятен читателю энциклопедии и обременит его. И без этого внутреннего шаблона при редактировании энциклопедии достаточно нажать кнопку «Предварительный просмотр», чтобы отображаемые в предпросмотре карты перешли в режим считывания координат.

Обрамление карты рамкою, управление шириною

Иногда возникает необходимость поместить карту в рамку и снабдить эту рамку подписью — наподобие того, как выглядят изображения, снабжённые параметром «frame» или «thumb».

Для этой цели основной (внешний) шаблон {{wl}} следует заменить шаблоном {{карта в рамке}} или его синонимом {{mapframe}}; первым параметром этого шаблона является подпись для рамки, а совокупность дополнительных (внутренних) шаблонов {{wl}} становится вторым его параметром.

Так, например, код карты Московской области принимает следующий вид:

{{карта в рамке
|Московская область
|2=
{{wl|центр|55.63|37.5|7}}
{{wl|высота|450}}
}}

Результат применения этого кода будет таков:

Шаблон:Карта в рамке

У шаблона {{карта в рамке}} есть параметр ширина (и его синоним width), позволяющий ограничить ширину карты (значением параметра является число пикселов ширины). В этом случае положение карты подобно положению иллюстрации с параметром «thumb»: карта прижимается к правому краю страницы, а последующий текст статьи обтекает карту слева.

Шаблон:Карта в рамке Вот пример — код карты Московской области с ограниченной шириной (и с пониженным уровнем увеличения, чтобы область поместилась на карте):

{{карта в рамке
|Московская область
|2=
{{wl|центр|55.63|37.5|6}}
{{wl|высота|225}}
|ширина=300
}}

Итог выполнения этого примера см. справа.

Карту можно расположить не справа, а слева от текста, если параметру float придать значение left.

Чтобы разместить карту по центру страницы, достаточно присвоить любое непустое значение параметру центр (значение параметра float при этом игнорируется).

Пример:

{{карта в рамке
|Московская область
|2=
{{wl|центр|55.63|37.5|6}}
{{wl|высота|225}}
|ширина=500
|центр=да
}}

Результат применения этого примера:

Шаблон:Карта в рамке

Центрированием особенно уместно пользоваться в тех случаях, когда по каким-либо причинам текст, оттеснённый картою к правому или к левому краю страницы, выглядел бы некорректно (или вообще не помещался бы). Текст, расположенный после центрированной карты, помещается ниже её.

Галереи карт

Применение шаблона {{строчный блок}} вокруг рамок с ограниченной шириною позволяет создавать своего рода галереи географических карт.

Пример:

{{строчный блок|1={{карта в рамке
|Московская область
|2=
{{wl|центр|55.572|37.419|6}}
{{wl|высота|225}}
|ширина=270
}}}}
{{строчный блок|1={{карта в рамке
|Тульская область
|2=
{{wl|центр|53.69|37.463|6}}
{{wl|высота|225}}
|ширина=150
}}}}
{{строчный блок|1={{карта в рамке
|Ульяновская область
|2=
{{wl|центр|53.56|47.9|6}}
{{wl|высота|225}}
|ширина=230
}}}}

Результат применения этого примера:

Шаблон:Строчный блок Шаблон:Строчный блок Шаблон:Строчный блок

Выбор тайлов

Основная статья: Справка:Выбор тайлов

OpenStreetMap — это открытая база картографических данных, и поэтому существует плюрализм мнений о том, как именно должно выглядеть отображение содержащихся в ней данных. Различные организации и группы частных лиц создают различные рéндереры (программы для отображения картографических данных) и создают с их помощью различные тáйлы (плитки размером 256×256 пикселов, из которых складывается географическая карта), которые предоставляют для более или менее свободного отображения всем желающим.

Движок WikiLeaflet позволяет указать тот сервер тайлов, который будет использоваться при отображении карты. Для этой цели используется внутренний шаблон {{wl}}, первым параметром которого является слово «тайлы», а вторым — ключевое слово, означающее желаемый сервер тайлов.

Вот каковы допустимые значения второго параметра:

osm
Используется основной сервер тайлов OpenStreetMap (рендерер «mapnik»).
Карты имеют совершенно тот же вид, что и на сайте OpenStreetMap по умолчанию.
Уровень увеличения может меняться в пределах от 0 до 18.
local
Тайлы берутся из папки «/tiles/» на сервере вики. (Предполагается, что они скопированы туда заблаговременно с какого-нибудь сервера тайлов OpenStreetMap.)
Этот параметр предусмотрен для употребления или тестирования карт в интранете, закрытом от Интернета. В Традиции он не употребляется.
cycle
Используется сервер тайлов OpenCycleMap (карта для велосипедистов).
Уровень увеличения может меняться в пределах от 0 до 16.
mapquest
Используется сервер тайлов компании MapQuest. Он содержит данные OpenStreetMap, которые для небольших уровней увеличения дополняются элементами физической карты мира).
Уровень увеличения может меняться в пределах от 0 до 18.
openaerial
Используется сервер тайлов MapQuest Open Aerial (данные спутниковой съёмки и аэрофотосъёмки).
Это не картографическая, а фотографическая информация о Земле.
Уровень увеличения может меняться в пределах от 0 до 11.
osmosnimki
Используется сервер тайлов компании Scanex (Kosmosnimki.Ru: данные OpenStreetMap с изменёнными стилями и рендерингом).
Уровень увеличения может меняться в пределах от 0 до 17.
kosmosnimki
Используется сервер тайлов компании Scanex (Kosmosnimki.Ru: данные спутниковой съёмки — базовое покрытие Kosmosnimki.Ru).
Это не картографическая, а фотографическая информация о Земле.
Уровень увеличения может меняться в пределах от 0 до 18.
openmapsurfer
Используется сервер тайлов OpenMapSurfer (данные OpenStreetMap, подготовленные географическим факультетом Гейдельбергского университета в Германии).
Уровень увеличения может меняться в пределах от 0 до 18.

Подробнее о характеристиках некоторых тайловых серверов рассказывает статья в вики OpenStreetMap. (англ.)

Показать различия тайлов можно на нескольких примерах. Так как эти примеры по своей природе изобилуют иллюстрациями, то они были вынесены на отдельную страницу — «Справка:Выбор тайлов».