отрисовка подписей и иконки на полигоне в mapnik

Товарищи!

Задача:
Есть два полигона. Допустим 20x20 метров и 100x100.
Создаю mapnik-конфиг (из mapcss через komap) , чтобы до 13-го масштаба отрисовывалась иконка с текстом, а далее - геометрия с текстом.

На практике получается что на определённом масштабе у полигона 100x100 рисуется текст на полигоне, а у полигона 20x20 - не рисуется ни иконки ни текста. Насколько я понимаю - это логика именно с размерами. Игрался как только мог - и иконки всё время рисовать и так и эдак - то текст на иконках не показывается, то ещё что. Выявил именно закономерность от размера полигона.

Если же те же правила применять на точки (рисовать иконки с текстом на определённых масштабах) - то всё работает “как часы”.

Вопрос: можно ли как-то отключить эту хитрую логику рисования текста на полигоне?

Эвристика проста - если полигон значительно меньше своего текста, то подписывать его не стоит.
Поискать лимиты в коде можно по слову way_area, в параметрах там pixel_size_at_zoom(zoom, число_пикселей)**2 - можно поменять число_пикселей на нужное.

В komap или в mapnik?

Починил, спасибо!

Выставил 0.1 вместо 3:


--- komap.py_def        2013-06-03 15:26:35.000000000 +1100
+++ komap.py    2013-06-03 15:32:41.000000000 +1100
@@ -838,7 +838,7 @@
                       sqlz = """select %s, way
                             from %s%s
                             where (%s) and (%s) and (way_area > %s) and way && ST_Expand(!bbox!,3000) %s way_area desc
-                    """%(itags,libkomapnik.table_prefix,layer_type,ttext,sqlz,pixel_size_at_zoom(zoom,3)**2, order)
+                    """%(itags,libkomapnik.table_prefix,layer_type,ttext,sqlz,pixel_size_at_zoom(zoom,0.1)**2, order)
                     else:
                       sqlz = """select %s, way
                     from (