chnav
У вас накопилось довольно много вопросов. Давайте разберем их по порядку.
Пост №1
Понятия node, way, relation в Мапсерфере нет. Исключительно ОСМовские типы данных конвертируются в геометрические объекты типа Point, Linestring, Polygon и т.д. Реализация CartoCSS совместима с той, что определена в Tilemill, поэтому присутствует возможность фильтровать данные по типу используя мапниковский синтаксис
[‘mapnik::geometry_type’ = 1]
В настоящий момент реализованна поддержка только тех геометрических преобразований, которые определены в спецификации CartoCSS, т.е. line-simplify, polygon-simplify, line-offset и т.д.
В следующей версии Мапрсерфера появится возможность определять геом. преобразования через line-geometry-transformation: “GeometryTransformations.MBRLongestAxis([geom_field])” с любым уровнем вложенности.
На сегодняшний день, в фильтрах CartoCSS выражения поддерживаются довольно скудно. Однако, значения текстового поля могут задаваться используя синтаксис указанный на приведенной вами странице.
Расширение возможностей фильтров, например [“Math.Abs([fieldName])” > 0] будет добавлено в следующем релизе.
В выражениях можно использовать любую статическую функцию статического класса приведенного на указанной вами странице. Например https://msdn.microsoft.com/en-us//library/system.math(v=vs.110).aspx
(экспоненты, возведение в степень и т.д.) → Math.Sin(0.5)
Такой функции пока нет, но она появится. Это можно будет сделать примерно так
landuse[“GeometryTransformations.ViewTransformation([geom], [ViewTransformation]).Area” > 2000]
{
text-size: 12;
}
или используя площадь объекта в метрах
landuse[“[geom].Area” > 2000000]
{
text-size: 12;
}
В том билде, что доступен сейчас для скачивания этой возможности нет.
Попробуйте установить следующий билд https://drive.google.com/file/d/0BwKq40HTyJ0LbFd4OThadUp0eWc/view?usp=sharing
В нем добавлена возможность использования определеных констант в фильтрах.
Пост №2
В указанном выше билде эта ошибка устранена.