Як я можу показати лише деякі класи шару в UMN-сервері?


9

Я візуалізую шар шарів форми на сервері карти. Тепер я хочу зробити деякі запити лише для деяких класів цього шару. Я хочу, наприклад, один запит лише для класів води, а пізніше лише для класів по дереву. Чи можу я зрозуміти це за допомогою сервера на карті?

Відповіді:


7

Ось ще один спосіб, як ви можете це зробити. Цей спосіб передбачає використання одного шару з виразами в кожному класі. Трохи дорожче зробити це таким чином, оскільки воно включає логічні вирази, але ви, можливо, ніколи не помітите різниці, якщо не потрапите на справді ситуації з високим навантаженням.

Кожен клас має вираз із двох частин. Обидві частини виразу повинні бути правдивими для рис, які можна намалювати. Перша частина виразу вибирає функції, які повинні потрапити до цього класу на основі атрибута у вашому файлі форм. Друга частина виразу оцінює значення змінної, переданої через 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

Оскільки це третій дійсний спосіб досягнення вашої мети, ви дійсно хочете подумати над тим, які ваші цілі. Якщо ваші дані часто змінюються, ви можете скористатися цією опцією. Якщо ваші дані не змінюються так часто, я особисто перейду на два шари. Я міг би навіть розділити файл файлів на декілька форм-файлів за типом використання землі, якщо це підвищило продуктивність. (Можливо, фільтри шарів досить ефективні). За допомогою веб-картографування, чим більше ви попередньо оптимізуєте свої дані, тим краще.


7

У вашому випадку ви повинні мати два шари, один для дерева та один для води. Ви можете мати два шари, використовуючи один і той самий профіль форми ..

Потім ви можете вибрати, які шари візуалізувати безпосередньо в запиті, за допомогою параметра LAYERS. Класи представляють лише різні частини даних (наприклад, як мають бути надані дані в цих шарах).


4

Якщо вам справді дуже потрібні всі в один шар, ви можете використовувати Named Styles для цього. Дивіться тут для більш детальної інформації. Однак, пропозиція Петра про кілька шарів є багато в чому набагато простішим підходом.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.