Кто-нибудь знает, есть ли способ установить пространственный фильтр в файле карты для использования с обычными запросами, а не только с WMS или WFS? Мне нужно, чтобы этот пространственный фильтр был любым видом многоугольника, а не просто прямоугольником, потому что эти фильтры в нашей системе являются динамическими: пользователям разрешено рисовать многоугольники или выбирать их из слоев многоугольников. Это система, в которой пользователи используют устаревшее настольное приложение без возможностей карты, а только запрашивают у Mapserver изображения, поэтому я должен выполнить эту фильтрацию на стороне Mapserver
Проще говоря, приведем пример: у пользователей есть слои с данными, такими как названия улиц (обозначенные точки) и районы (полигоны). Одна из них может захотеть видеть только те улицы, которые попадают в район номер два, поэтому я хочу, чтобы Mapserver генерировал изображения, скрывающие остальные улицы. Конечно, в слое улиц нет информации о том, в каком районе находится улица
Некоторые вещи, которые помогут вам задать этот вопрос:
- Запросы - это cgi, а не WMS, но я могу изменить это, если это поможет
- Я не использую Mapscript и ни один клиент, такой как OpenLayers или uDig
- Слои не имеют и не будут иметь атрибутных отношений
- Я знаю о параметре FILTER в секции LAYER, но это только для фильтрации атрибутов
- Я читал о «Фильтре кодирования» (входит в SLD), но не могу заставить его работать, и, похоже, только для WFS
- Я видел CQL, но он не поддерживается в Mapserver напрямую, только через SLD
Как вы делаете пространственную фильтрацию для генерации изображений в Mapserver?
Спасибо