Страница 1 из 1
Отображение подписи
Добавлено: 01 окт 2013, 10:28
Grace2
Друзья, подскажите!
Есть в Мапинфо слой, в таблице этого слоя, есть столбец в котором указана площадь полигонов (например: 121,5 или 50,6 и т.д.). Этот столбец имеет тип данных "вещественное" (но я пробовал и с символьным, и с десятичным..."). Мне нужно подписать лейблы только тех полигонов у которых площадь больше 10-ти?
Когда я захожу в Управление Слоями и вывожу выражение "Площадь>10" у меня подписываются только буквы "T"-true или "F"-false.
Как сделать что бы выводились значения?
П.С. Способ сделать отдельную выборку с площадью>10 и из неё показывать значения не катит, ибо мне перед значением площади нужно вывести ещё адрес участка. То есть моё выражение для отображение подписи выглядит сейчас так: Адрес+"-"+Площадь>10... всё бы хорошо только цифры площади не отображаются(((
Помогите советом?!
Re: Отображение подписи
Добавлено: 01 окт 2013, 10:30
trir
select Адрес+"-"+Площадь where Площадь>10
Re: Отображение подписи
Добавлено: 01 окт 2013, 10:39
Grace2
в SQL-select это понятно, а вот именно в управлении слоями->Подписи->Из колонки->Выражения, я так не могу написать.
Re: Отображение подписи
Добавлено: 01 окт 2013, 11:04
Пётр Дубоделов
измени в предыдущем запросе как-то так ...select from table where area>10 into label_10
и добавь эту именованную выборку (label_10) на карту (новый слой), сохрани рабочий набор и при каждом открытии программа будет её перевычислять, на случай изменения данных.
Re: Отображение подписи
Добавлено: 01 окт 2013, 11:18
Grace2
нет не подходит .. ибо так он выберет площади больше 10, и выведет их на экран лейблами. А мне в лейблах нужны ещё и адреса, соответственно я должен брать адрес и площадь из одного слоя, а не из выборки ибо в выборке будут не все адреса.
Re: Отображение подписи
Добавлено: 01 окт 2013, 11:19
Пётр Дубоделов
адреса для всех, и еще площади для крупных? или адреса и площади только для крупных? ведь колонка Адрес останется и в выборке.
как вариант, можно создать дополнительное строковое поле ("Площадь_подпись", как-то так), куда выбрать только большие площади (select from ... into s; update s set ...), + еще и название единиц или тире и т.п. можно... а остальные пустыми останутся (в подпись пойдёт без отображения).
соотв такой вот костыль, который придётся перевычислять в случае изменений... или дописать вычисления руками/скопировать вывод mapbasic в набор.
Re: Отображение подписи
Добавлено: 01 окт 2013, 12:21
Grace2
да всё верно: адреса для всех, а площади только для крупных.
как вариант ... да так и сделал дополнительное поле пока временно, дальше буду разбираться почему всё таки так происходит... всё таки это как то странно!
Re: Отображение подписи
Добавлено: 01 окт 2013, 12:41
Пётр Дубоделов
а по-моему очень даже логично. вводим в подписи проверку условия и программа выдаёт ответ да/нет.
Re: Отображение подписи
Добавлено: 03 окт 2013, 13:58
ginpetr
я бы написал такое выражение в подписи:
left$(format(str$(площадь),"0.##"),10*int(площадь>10))
не помню точно пишется format или format$
[ Сообщение с мобильного устройства ]
Re: Отображение подписи
Добавлено: 03 окт 2013, 14:02
ginpetr
забыл
адрес добавить плюсом до или после выражения
...+chr$(10)+... или ...+" "+...
[ Сообщение с мобильного устройства ]
Re: Отображение подписи
Добавлено: 03 окт 2013, 14:11
ginpetr
итого:
left$(адрес+chr$(10)+format$(str$(площадь),"0.##"),100*int(площадь>10))
или
адрес+chr$(10)+left$(format$(str$(площадь),"0.##"),100*int(площадь>10))
извините, что так длинно получилось
[ Сообщение с мобильного устройства ]