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

StackOverflow https://stackoverflow.com/questions/751362

Вопрос

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

Это было полезно?

Решение

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top