Обсуждение шаблона:Coord/link

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

{{editprotected}} См. тут. Dinamik 22:59, 17 сентября 2008 (UTC)[ответить]

✔ Done by putnik. — Kalan ? 19:37, 7 октября 2008 (UTC)[ответить]

Zoom для OSM[править код]

А почему zoom для OSM вычисляется делением линейного масштаба? Он же логарифмический, каждая следующая ступень вдвое крупнее предыдущей. Mir76 13:55, 19 января 2011 (UTC)[ответить]

  • Потому что код появился неизвестно откуда, а как вычислять их зум логарифмически — не очень понятно. Текущие вставленные значения получены из соответствия zoom у OSM и параметра scale (который линейно преобразуется в spn у гугла\яндекса): 1k=18, 10k=15, 25k=11, где первое число — scale, второе — zoom. Взяв 2 крайних значения, в результате решения системы уравнений получил то, что сейчас в шаблоне. Остальные используемые значения scale в итоге не дают критической погрешности при вычислении zoom и генерации ссылки. Track13 о_0 09:20, 21 января 2011 (UTC)[ответить]
    • Может лучше if-ами сделать? Я в шаблоновой грамматике не силён, но подобрать для средней полосы пары вида "масштаб 1:100 000 -> зум такой-то" тогда остнется просеять запрошенный scale через череду if-ов и подобрать ближайший. Mir76 14:03, 21 января 2011 (UTC)[ответить]
      • Вряд ли. Сейчас по распространённым (+25k, например, в статье Москва) масштабам сильного различия между картами OSM и гугла\яндекса нет, а так шаблон будет усложнён. А сейчас у шаблона >70k включений, ради уменьшения погрешности на пару процентов менять его, наверное, не стоит. Track13 о_0 14:59, 21 января 2011 (UTC)[ответить]
        • да какие пара процентов?! вы же по двум точкам линейной функцией ax+b приблизили экспоненту 2x! Вот вам живой пример: Столбы (заповедник): scale=200000, zoom = -43! Давайте напишем костыль вида:
if {scale<=5 000} zoom = 17
else if (scale<=10 000) zoom = 15
else if (scale<=50 000) zoom = 13
else if (scale<=100 000) zoom = 12
else if (scale<=200 000) zoom = 11
else if (scale<=500 000) zoom = 9
else zoom = 8;
Только цифры надо перепроверить. Mir76 15:50, 21 января 2011 (UTC)[ответить]
Ну да, приблизил. На тех данных, которые у меня были, действительно пару процентов. Про scale 200k я и не знал. Костыль надо будет пересмотреть, при 25k zoom=11. Уже завтра сделаю. Track13 о_0 16:09, 21 января 2011 (UTC)[ответить]
Если 10k=15, то 25k zoom=11 не может быть. Там один зум это в два раза. Если 10k=15 тогда 20k=14, а 40k=13. И еще эти цифры сильно зависят от широты, так как Проекция Меркатора. Предлагаю ориентироваться примерно на широту Москвы :) Mir76 16:36, 21 января 2011 (UTC)[ответить]
Так, это у меня epic fail, а вы правы. В статье Москва 250k, а не 25k. Соответственно все дальнейшие расчёты смысла не имеют. Сегодня уже не буду делать, ибо рискую после рабочего дня так направить… Track13 о_0 16:46, 21 января 2011 (UTC)[ответить]
Сделано. Track13 о_0 17:35, 22 января 2011 (UTC)[ответить]

Указатель на карте OSM[править код]

Если в тексте шаблона вместо

www.openstreetmap.org/index.html?lat={{{1}}}&lon={{{2}}}

написать

www.openstreetmap.org/index.html?mlat={{{1}}}&mlon={{{2}}}

то на результирующей карте на указываемой точке будет маркер. Вот, например Екатерининский дворец с маркером, в вот он же без маркера (т.е. как сейчас). Mir76 15:36, 5 июля 2011 (UTC)[ответить]