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

Подписи точек

СообщениеДобавлено: Пн мар 17, 2014 11:44 am
tuapsekad
Доброго времени суток!
После выполнения операции "Создать точки и границы" - точки создаются в таблице "msk"."tochka" (слой МСК.Точка), а границы в "msk"."granica" (Слой МСК.Граница)
По умолчанию в свойствах у Точек в разделе Подписи стоит галочка "Подписывать объекты значениями поля и стоит вырожение "prefiks_nomera" || tostring( "nomer" )

Вопрос: Почему не отображаются на карте подписи точек?

Точки отображаются, надписи нет!

Для границ работает, для точек нет! Ну всё перепробовал! Где зарыто не отображение точек не могу понять.
При ручном добавлении слоя Postgis таблицы "msk"."tochka" подписи работают!!!

Установлено: Qgis 2.2.0 - Valmiera, модуль openLand 0.2.9 от 11.03.2014, версия базы данных 17 от 16.12.2013

При открытии проекта в Qgis 2.0.1 - Dufor - точки и подписи отображаются!

С Уважением к Вам!

Re: Подписи точек

СообщениеДобавлено: Пн мар 17, 2014 3:06 pm
dab
Валерий, доброго дня.
Как Вы правильно заметили - это особенность QGIS 2.2.0 - Valmiera.
Для точек есть атрибуты podpis_x, podpis_y.
До Valmiera, если значения этих атрибутов NULL - подписи расставлялись автоматически. Если не NULL - соответственно указанным в атрибутах координатам.
В Valmiera, если значения этих атрибутов NULL - подписи не отображаются. :cry: Если не NULL - соответственно указанным в атрибутах координатам.
Пока не знаю что с этим делать. Как вариант - можете удалить переопределение свойств в проекте.

Re: Подписи точек

СообщениеДобавлено: Пн мар 17, 2014 4:07 pm
tuapsekad
Спасибо Дмитрий!
Так вот где собачка зарыта!
Я не знаю прав, я или нет и можно ли так делать, но подставив в "Переопределении свойств" выражение для X соответственно tostring("podpis_x") и для Y соответственно tostring("podpis_y") всё заработало!

С Уважением!

Re: Подписи точек

СообщениеДобавлено: Пн мар 17, 2014 4:30 pm
dab
Да, спасибо за решение проблемы!
tostring("podpis_x") - tostring("podpis_y") работает и в Dufour и в Valmiera
Проверил в Windows и в Ubuntu

Re: Подписи точек

СообщениеДобавлено: Пн мар 17, 2014 5:23 pm
tuapsekad
И Вам спасибо!

Re: Подписи точек

СообщениеДобавлено: Пт апр 11, 2014 4:04 pm
dab
И всё таки проблема осталась в Valmiera. :(
toString() решает вопрос отображения подписей, но, увы, не позволяет вручную двигать подписи - соответствующая кнопка недоступна.

Re: Подписи точек

СообщениеДобавлено: Пт апр 11, 2014 5:10 pm
dab
Вопрос решается так
Код: Выделить всё
ALTER TABLE msk.tochka
  ALTER COLUMN podpis_x TYPE CHAR(17)
    USING cast(cast(podpis_x as INTEGER) as CHARACTER(17));

ALTER TABLE msk.tochka
  ALTER COLUMN podpis_y TYPE CHAR(17)
    USING cast(cast(podpis_y as INTEGER) as CHARACTER(17));

ALTER TABLE msk.uchastok
  ALTER COLUMN podpis_x TYPE CHAR(17)
    USING cast(cast(podpis_x as INTEGER) as CHARACTER(17));

ALTER TABLE msk.uchastok
  ALTER COLUMN podpis_y TYPE CHAR(17)
    USING cast(cast(podpis_y as INTEGER) as CHARACTER(17));

После чего, в проекте можно убрать toString()
Это изменение включу в следующее обновление базы данных до версии 18.