Страница 1 из 2

Основы конфигурирования тайловых сеток

Добавлено: 29 мар 2013, 19:25
Denis Rykov
Подготовил небольшую статью. Просьба высказаться кто что думает.

---------------------------------------------------------------------
P.S. Статья опубликована.

Re: Основы конфигурирования тайловых сеток

Добавлено: 29 мар 2013, 21:02
Максим Дубинин
В расчете охвата слоя я бы добавил и версию запроса к локальному шейпу, не только к базе, на случае если нет интернета

Re: Основы конфигурирования тайловых сеток

Добавлено: 29 мар 2013, 22:17
Александр Мурый
Лично мне не хватило общих выводов в конце по применению тайловых сеток "в мирных целях" или что-то в этом духе... Ну и, может быть, добавить какие-то ссылки на полезные материалы для самостоятельного изучения?

Re: Основы конфигурирования тайловых сеток

Добавлено: 30 мар 2013, 06:00
Denis Rykov
Александр Мурый писал(а):Лично мне не хватило общих выводов в конце по применению тайловых сеток "в мирных целях" или что-то в этом духе...
Цель статьи заключается не в том, чтобы показать для чего нужны тайловые сетки. Думаю, что каждый, кто пользовался сервисами типа OpenStreetMap или Google Maps оценил удобство от их использования. Я ставил перед собой цель показать именно с технической стороны, что из себя представляют эти сетки и каким набором параметров они характеризуются. Полученные знания, как показано в статье, можно применять для настройки специального софта для работы с тайловыми сетками (MapProxy), а можно использовать при создании собственного тайлового сервиса. Именно такого плана задачу я хочу описать в одной из своих следующих статей и как раз для этого мне потребовался перевод спецификации TMS и описание основ конфигурирования тайловых сеток.
Александр Мурый писал(а):Ну и, может быть, добавить какие-то ссылки на полезные материалы для самостоятельного изучения?
Добавил несколько ссылок на материалы, которые я просматривал при написании статьи.

Re: Основы конфигурирования тайловых сеток

Добавлено: 30 мар 2013, 06:03
Denis Rykov
Максим Дубинин писал(а):В расчете охвата слоя я бы добавил и версию запроса к локальному шейпу, не только к базе, на случае если нет интернета
Максим, в моём случае с помощью ogrinfo вычисляется не охват слоя, а охват конкретного объекта слоя - Алтайского края с помощью функции PostGIS. Если это можно сделать для шейп-файла (хотя бы в единицах слоя), то покажи, пожалуйста, команду - я добавлю.

Re: Основы конфигурирования тайловых сеток

Добавлено: 30 мар 2013, 06:35
Denis Rykov
Добавил пример расчёта количества тайлов на i-м масштабном уровне.

Re: Основы конфигурирования тайловых сеток

Добавлено: 01 апр 2013, 09:08
yellow-sky
Отличная статья. В закладки. И этот вариант использования mapproxy-util нужно взять на вооружение. Удобно рассчитывать сетки имея только экстент.

P.S.
Теперь я знаю кому писать, если будут проблемы с кэшем :)

Re: Основы конфигурирования тайловых сеток

Добавлено: 03 апр 2013, 07:30
Denis Rykov
Дописал 2 раздела: Подробнее о разрешениях и Понятие масштаба карты. Просьба покритиковать. Ещё к месту пришлась забавная игра, наглядно демонстрирующая как проекция Меркатора искажает площади объектов.

Re: Основы конфигурирования тайловых сеток

Добавлено: 03 апр 2013, 08:28
Александр Мурый
Denis Rykov писал(а): Ещё к месту пришлась забавная игра, наглядно демонстрирующая как проекция Меркатора искажает площади объектов.
Стало ещё интереснее :)
Замечания:
Среди разбросанных полигонов найдите соответствующий Австралии и оцените как изменяется его форма в области полюсов по отношению к форме, получающуюся при рендеринге на своём законном месте:
Насчёт области полюсов — это подсказка? Тогда слишком просто получается… :) Может, сказать правильный ответ ниже карты, перед объяснением проекции?

— К предыдущему: неплохо было бы на карте показать Австралию, раз уж о ней идёт речь. С текущим масштабом её не видно.

— К масштабу: имеется в виду «экранный» масштаб?

Re: Основы конфигурирования тайловых сеток

Добавлено: 03 апр 2013, 08:45
Denis Rykov
1. Нет, это не подсказка. Цель данной штуки показать как изменяется форма объектов в районе полюсов. И то что Австралия по дефолту размещена возле полюса - просто так совпало, а если это кому-то поможет быстрее найти её - это даже хорошо, в конце концов если хочется поотгадывать страны - то там целых 15 полигонов для этого.
2. Изменил размер фрейма, теперь вроде входит.
3. Насчёт масштаба - я привёл формулу, не знаю - это называется "экранный масштаб"? В англоязычных источних никогда не встречал такого термина, просто пишут scale и всё.

Re: Основы конфигурирования тайловых сеток

Добавлено: 03 апр 2013, 09:10
Александр Мурый
Denis Rykov писал(а): 3. Насчёт масштаба - я привёл формулу, не знаю - это называется "экранный масштаб"? В англоязычных источних никогда не встречал такого термина, просто пишут scale и всё.
Ну да, "display scale" относится как к экрану, так и к печатной карте. Поэтому я и взял в кавычки. Но т.к. в формуле считается масштаб именно для экрана, то заголовок "Понятие масштаба карты", по-моему, звучит слишком общо.

Re: Основы конфигурирования тайловых сеток

Добавлено: 03 апр 2013, 09:45
ericsson
Угу, только вот с экранным масштабом такая вот незадача: разрешение экрана - логическая величина, а не физическая. Например, в Windows есть любимая многими настройка "large fonts" которая включает 72dpi вместо 96dpi для экрана. Так что с понятием экранного масштаба - осторожнее.

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

Код: Выделить всё


<html>
<head></head>
<body>
<div style="background-color:black; color:white; width:96px; height:96px; display:block; margin:50px auto; text-align:center;">96px*96px</div>
<div style="background-color:black; font-size:13px; color:white; width:72px; height:72px; display:block; margin:50px auto; text-align:center;">72px*72px</div>
<div style="margin:50px auto; background-color:black; font-size:13px; color:white; width:96px; line-height:1in; text-align:center;">96px*1in</div>
</body>
</html>

Скопируйте код, сохраните в test.html, откройте в browser-е. А теперь линейкой измерьте верхние два квадрата: один из них должен совпасть (в идеале) или быть близким по размеру к одному дюйму (25,4 мм). Этим проверяется физическое разрешение монитора.

А нижний прямоугольник имеет жестко фиксированную ширину 96 пикселей, но высоту, заданную через высоту строки 1 дюйм. Так что если логическое разрешение не 96dpi, то квадрат будет не квадратом.

Re: Основы конфигурирования тайловых сеток

Добавлено: 03 апр 2013, 10:14
Denis Rykov
То есть мне изменить название пункта с "Понятие масштаба карты" на "Понятие экранного масштаба карты"?

Re: Основы конфигурирования тайловых сеток

Добавлено: 03 апр 2013, 10:37
ericsson
Наверное, да - экранного.

А еще есть экраны с удвоенным разрешением (маковская Retina) - там вообще чёрт голову сломит...

Re: Основы конфигурирования тайловых сеток

Добавлено: 03 апр 2013, 11:09
Denis Rykov
Поправил, спасибо за замечания!