Відповіді:
Ось ще один спосіб, як ви можете це зробити. Цей спосіб передбачає використання одного шару з виразами в кожному класі. Трохи дорожче зробити це таким чином, оскільки воно включає логічні вирази, але ви, можливо, ніколи не помітите різниці, якщо не потрапите на справді ситуації з високим навантаженням.
Кожен клас має вираз із двох частин. Обидві частини виразу повинні бути правдивими для рис, які можна намалювати. Перша частина виразу вибирає функції, які повинні потрапити до цього класу на основі атрибута у вашому файлі форм. Друга частина виразу оцінює значення змінної, переданої через URL. Не має значення, як ви називаєте змінну у своєму URL-адресі (не використовуйте жодних зарезервованих слів, таких як "шар"), вона просто повинна відповідати імені змінної у вашому вираженні.
Ось кілька зразків шарів:
LAYER
NAME "watersheds"
STATUS DEFAULT
DATA 'majclip'
TYPE POLYGON
CLASS
NAME "water"
EXPRESSION ([MAJOR] < 42 AND '%wanted%' = 'water')
STYLE
COLOR 0 0 255
END
END
CLASS
NAME "wood"
EXPRESSION ([MAJOR] >= 42 AND '%wanted%' = 'wood')
STYLE
COLOR 0 255 0
END
END
END
Щоб намалювати лише функції води, ви використовуєте такий запит URL-адреси: http: //localhost/cgi-bin/mapserv.exe? Map = / ms4w / apps / mymapfile.map & mode = map & want = wood
Оскільки це третій дійсний спосіб досягнення вашої мети, ви дійсно хочете подумати над тим, які ваші цілі. Якщо ваші дані часто змінюються, ви можете скористатися цією опцією. Якщо ваші дані не змінюються так часто, я особисто перейду на два шари. Я міг би навіть розділити файл файлів на декілька форм-файлів за типом використання землі, якщо це підвищило продуктивність. (Можливо, фільтри шарів досить ефективні). За допомогою веб-картографування, чим більше ви попередньо оптимізуєте свої дані, тим краще.
У вашому випадку ви повинні мати два шари, один для дерева та один для води. Ви можете мати два шари, використовуючи один і той самий профіль форми ..
Потім ви можете вибрати, які шари візуалізувати безпосередньо в запиті, за допомогою параметра LAYERS. Класи представляють лише різні частини даних (наприклад, як мають бути надані дані в цих шарах).
Якщо вам справді дуже потрібні всі в один шар, ви можете використовувати Named Styles для цього. Дивіться тут для більш детальної інформації. Однак, пропозиція Петра про кілька шарів є багато в чому набагато простішим підходом.