Передача динамических параметров из openlayers на mapsever с помощью тайла кеша

Я создаю картографическое приложение, где формы и цвета идут по этому пути:

PostGIS> Mapserver> TileChache> OpenLayers

Все работает нормально, когда все параметры жестко заданы. Но мне нужно, чтобы пользователи могли изменять параметры, например, выбирать объекты с населением, превышающим "X", и область под "Y".

Я предполагаю, что параметры могут быть переданы в Mapserver как запрос, прикрепленный к mapfile, например:

.../mapfile.map?area=123&population=456

Но я не могу найти способ передать это через TileCache. На данный момент - единственный обходной путь, который я вижу, - это определить отдельный слой для любой возможной комбинации X и Y в файле tilechache.cfg, что, кажется, не является хорошим способом. И должно быть некоторое ограничение на количество слоев, определенных в tilechache.cfg

Какие-либо решения?

1 ответ

Вам, вероятно, нужно переосмыслить то, что вы делаете здесь. Tilecache для статических плиток. Если вы рендерили тайл и поместили его в тайл кеш, и вы изменили аргумент url, что вы ожидаете? Что если два пользователя запрашивают одну и ту же плитку с разными параметрами URL?

Если у вас есть небольшое количество допустимых параметров и вы хотите сгенерировать несколько копий своего кэша по одной для каждого возможного уникального набора комбинаций параметров, которые может выбрать пользователь, тогда вы можете настроить tilecache с атрибутами.

Скорее всего, вы захотите сделать что-то вроде создания тайла кеша для статической базовой карты, а затем с использованием дополнительных слоев OpenLayers визуализировать накладываемые наложения по требованию, передавая их непосредственно на mapserver и передавая тайлкэш.

Другие вопросы по тегам