Комбинированный стиль в map-файле

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Alt
Интересующийся
Сообщения: 25
Зарегистрирован: 11 фев 2009, 21:32
Репутация: 0

Комбинированный стиль в map-файле

Сообщение Alt »

Здравствуйте.
Есть слой полигонов Postgis с двумя атрибутивными полями.
Цвет заливки определяется по значению одного поля.

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

 CLASS
  EXPRESSION ([field1]=1)
  STYLE
    COLOR 192 192 192
    OUTLINECOLOR 32 32 32
    WIDTH 3
  END
...
 CLASS
  EXPRESSION ([field1]=2)
....

Подскажите как описать классы, чтобы в дополнение к цвету заливки цвет контура (OUTLINECOLOR) определялся по полю field2. Или придется описать все сочетания полей field1 и field2 отдельными классами ?

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

Re: Комбинированный стиль в map-файле

Сообщение Mavka »

Судя по документации это возможно. Выглядеть это должно так:

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

CLASS
  STYLE
    COLOR [field1]
    OUTLINECOLOR [field2]
    WIDTH 3
  END
END
Вот только не понятен формат данных. "DBF has a field named “MYCOLOR” that holds color values for each record" и дальше дают ссылку на MS RFC 19 "Style & Label attribute binding".

Судя по mapfile.c (loadColor), поле должно быть текстовым, со значениями вида "#aa2246". Т.е. hex, но в виде строки.
лангольеры под окном жрали время ом-ном-ном
Alt
Интересующийся
Сообщения: 25
Зарегистрирован: 11 фев 2009, 21:32
Репутация: 0

Re: Комбинированный стиль в map-файле

Сообщение Alt »

Т.е. если в поле указан внешний ключ справочника, то нужно будет вместо этого слоя Postgis создавать представление с соответствующим текстовым полем цвета. А в более сложных случаях, когда стиль определяется выражением лучше предварительно готовить представления с уже посчитанными стилевыми полями ?
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Комбинированный стиль в map-файле

Сообщение Mavka »

Да. А CLASS в MapServer нужно воспринимать в первую очередь как фильтр.
лангольеры под окном жрали время ом-ном-ном
Ответить

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость