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

MapServer. Создание легенды.

Добавлено: 13 фев 2013, 15:53
Tokha
Решил попробовать легенду в MapServer.
Все хорошо, но столкнулся с непонятками, если цвет объекта задается не явно, а использует значение из базы данных.

Если оставить все, как есть, то в легенде нет картинки с самим объектом (KEY), а только описание (LABEL):

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

		CLASS
				NAME "Подвесной"
				EXPRESSION ("[CablingType]" = "38")

				STYLE
						COLOR [ColorTechBelong]
						SYMBOL "sinus"
						SIZE 6
				END
		END
Но если добавить еще один явный COLOR в стиль, то легенда рисуется корректно и даже на карте после этого ничего не ломается:

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

		CLASS
				NAME "Подвесной"
				EXPRESSION ("[CablingType]" = "38")

				STYLE
						COLOR 0 0 0 # для легенды
						COLOR [ColorTechBelong]
						SYMBOL "sinus"
						SIZE 6
				END
		END
Это недокументированная возможность? И если не так, то как нарисовать легенду в данном случае?
Пока только вижу способ создать еще один такой же слой, только для легенды с указанием явных цветов, но это не удобно для дальнейшей поддержки.


И второй вопрос.
Слои у меня находятся в одной группе:

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

LAYER
	GROUP grGor
...
END
, поэтому, чтобы запросить легенду, достаточно указать только имя этой группы: "LAYER=grGor". В этом случае в легенду попадают все слои, которые входят в эту группу, но поскольку слоев много, то информацию в легенде визуально хочется разбить по названию слоев. Можно это как-то сделать или придется самому разбивать и для каждого слоя запрашивать отдельную легенду?

Re: MapServer. Создание легенды.

Добавлено: 14 фев 2013, 12:03
Denis Rykov
По первому вопросу не подскажу - не сталкивался, а по второму - посмотрите HTML Legends.