Подписи в OpenLayers+MapServer

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
dravig
Участник
Сообщения: 54
Зарегистрирован: 18 мар 2010, 16:58
Репутация: 0

Подписи в OpenLayers+MapServer

Сообщение dravig » 03 сен 2010, 12:08

Столкнулся с такой проблемой: при отображении map-файла через openlayers отрисовка происходит большими квадратами. И если подпись попадает на границу квадратов - она дублируется при каждом следующем увеличении масштаба... Каким образом можно это убрать? Заранее спасибо.

Аватара пользователя
dobeer
Активный участник
Сообщения: 199
Зарегистрирован: 25 дек 2009, 21:54
Репутация: 1
Откуда: Чита
Контактная информация:

Re: Подписи в OpenLayers+MapServer

Сообщение dobeer » 03 сен 2010, 12:31

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

PROCESSING "LABEL_NO_CLIP=1" 
в описаниии слоя...как вариант.

dravig
Участник
Сообщения: 54
Зарегистрирован: 18 мар 2010, 16:58
Репутация: 0

Re: Подписи в OpenLayers+MapServer

Сообщение dravig » 03 сен 2010, 14:50

Однако, работает, Спасибо.

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Подписи в OpenLayers+MapServer

Сообщение Mavka » 06 сен 2010, 21:28

А вообще то ситуация довольно странная. Есть как минимум 3 опции на разных уровнях:
  • WEB: "labelcache_map_edge_buffer" "-10" (размер полей в пикселях)
  • LAYER: PROCESSING "LABEL_NO_CLIP=ON" (как вариант - "LABEL_NO_CLIP=1")
  • LABEL: PARTIALS TRUE
Если с конца, то на PARTIALS есть нормальная документация.

Про PROCESSING только размыто сказано "директивы бывают разные". Вопрос на форуме уже поднимали. Поскольку у меня нет под рукой исходных кодов, то сделаю предположение, что директивы обработки передаются напрямую или драйверу (пример) или рендеру (пример). (Поправка. Драйвер/рендер при желании сам спрашивает - а мне никаких указаний не оставляли?)

Для создания полей вокруг тайла можно использовать "labelcache_map_edge_buffer" (пример конфигурации). Он отодвигает все надписи внутрь на указанное число пикселей. Что делает он в разделе WEB METADATA и почему отсутствует в документации? См. на трэкере #1353.
Последний раз редактировалось Mavka 07 сен 2010, 09:56, всего редактировалось 1 раз.
лангольеры под окном жрали время ом-ном-ном

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Подписи в OpenLayers+MapServer

Сообщение Mavka » 07 сен 2010, 09:49

Как я и предполагал, опция LABEL_NO_CLIP зафиксирована в файле mapdraw.c. Поскольку это функции общего порядка, то должно работать и со всеми специализированными рендерами.

Больше недокументированных опций processing в коде я не обнаружил.
лангольеры под окном жрали время ом-ном-ном

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и 11 гостей