Страница 1 из 1

Как покрасить точки в MapServer?

Добавлено: 24 июн 2011, 23:39
Bertolomych
Доброго времени суток!
В общем, посредством MapServer отображается слой из БД MySQL. Таблица в БД содержит координаты X, Y и атрибут Z. Причем, минимальное и максимальные значения этого атрибута заранее не известны. Дык вот, надо раскрасить эти точки, скажем, от зеленого до красного исходя из значений атрибута.
Поскольку в настольных ГИСах эта операция, в общем-то элементарная, имеется у меня предположение, что в MapServer'е это тоже можно как-то сделать просто через map-файл.
Вопрос: можно ли это сделать просто через map-файл (и как в таком случае), или надо заморачиваться и делать это, скажем через MapScript и т.п.? (сроки горят, всю документацию не осилить...)

Спасибо!

Re: Как покрасить точки в MapServer?

Добавлено: 25 июн 2011, 01:47
Mavka
В UMN готового решения нету. Спросите в гугле про "Heatmap", есть множество вариантов как серверного рендера так и на javascript+canvas.

Re: Как покрасить точки в MapServer?

Добавлено: 25 июн 2011, 22:54
Bertolomych
Mavka, Спасибо за "Heatmap". Никогда бы не додумался, что по-английски это так называется.
Но что-то поискав в google по этому слову все равно не нашел дешевого и сердитого решения. Динамически интервалы без мапскрипта, похоже не вычислишь. Так что пока сделал затычку через EXPRESSION, нарезав по 10. Авось прокатит. =) Типа того:

Код: Выделить всё

CLASS
    NAME "40 -- 50"
    EXPRESSION(([z] > 40) AND ([z] <= 50))
    STYLE
         SYMBOL 'circle'
         SIZE 7
         COLOR 250 100 0
         OUTLINECOLOR 32 32 32
    END
END
(может пригодится кому?)

Re: Как покрасить точки в MapServer?

Добавлено: 27 июн 2011, 12:31
Mavka
Только то что лежало в закладках, но в реальности их сейчас действительно много.
Рендер на клиенте: OpenHeatMap, OLHeatmap
Рендер на сервере: gheat, Acid Maps (плагин к GeoServer и как самостоятельное приложение)
Сторонние сервисы: HeatMapAPI, de/numerics