Как я могу отображать границы геометрии с помощью UMN-Mapserver только при большом увеличении?

У меня есть файл карты для UMN, который отображает слой векторов, каждая геометрия имеет разные цвета в зависимости от их атрибутов. Это прекрасно работает. Я также хочу добавить границы вокруг каждой геометрии. Это не проблема, но в представлении, показывающем всю область, в изображении преобладают границы, потому что каждая геометрия состоит всего из нескольких пикселей. Поэтому я хочу показывать границы только на указанном уровне масштабирования. Я могу отключить или включить весь слой в зависимости от масштаба, но я не знаю, как это реализовать только для границ.


person Mnementh    schedule 15.04.2009    source источник


Ответы (1)


Вы можете сделать это по крайней мере двумя способами.
Во-первых, вы можете определить два слоя, один с границами и один без границ. Затем вы можете использовать MINSCALEDENOM и MAXSCALEDENOM для отображения первого или второго в зависимости от уровня масштабирования.

Или вы можете определить один слой с цветной геометрией без границ, который будет отображаться на всех уровнях масштабирования. Затем вы должны определить слой, состоящий только из границ, который будет отображаться поверх первого, но только при указанном уровне масштабирования (опять же с использованием MINSCALE и MAXSCALE). Этот слой использует те же данные, что и обычный слой, но он должен быть типа POLYGON, но без ключевого слова COLOR (необходимо указать только OUTLINECOLOR). Таким образом, будет отображаться только граница многоугольника, и, если вы отобразите ее поверх другой, вы можете создать эффект границ.

Подробное описание ключевых слов можно найти на http://www.mapserver.org/mapfile/layer.html

person Andrea Bertani    schedule 16.04.2009