Как я могу отображать границы для геометрий с UMN-Mapserver только при большом увеличении? - PullRequest
0 голосов
/ 15 апреля 2009

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

1 Ответ

1 голос
/ 17 апреля 2009

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

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

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

...