Отображение подписи

MapInfo, MapBasic
Ответить
Grace2
Участник
Сообщения: 63
Зарегистрирован: 18 янв 2011, 07:28
Репутация: 0
Откуда: г.Пермь
Контактная информация:

Отображение подписи

Сообщение Grace2 »

Друзья, подскажите!

Есть в Мапинфо слой, в таблице этого слоя, есть столбец в котором указана площадь полигонов (например: 121,5 или 50,6 и т.д.). Этот столбец имеет тип данных "вещественное" (но я пробовал и с символьным, и с десятичным..."). Мне нужно подписать лейблы только тех полигонов у которых площадь больше 10-ти?

Когда я захожу в Управление Слоями и вывожу выражение "Площадь>10" у меня подписываются только буквы "T"-true или "F"-false.

Как сделать что бы выводились значения?

П.С. Способ сделать отдельную выборку с площадью>10 и из неё показывать значения не катит, ибо мне перед значением площади нужно вывести ещё адрес участка. То есть моё выражение для отображение подписи выглядит сейчас так: Адрес+"-"+Площадь>10... всё бы хорошо только цифры площади не отображаются(((

Помогите советом?!
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Отображение подписи

Сообщение trir »

select Адрес+"-"+Площадь where Площадь>10
Grace2
Участник
Сообщения: 63
Зарегистрирован: 18 янв 2011, 07:28
Репутация: 0
Откуда: г.Пермь
Контактная информация:

Re: Отображение подписи

Сообщение Grace2 »

в SQL-select это понятно, а вот именно в управлении слоями->Подписи->Из колонки->Выражения, я так не могу написать.
Аватара пользователя
Пётр Дубоделов
Завсегдатай
Сообщения: 271
Зарегистрирован: 21 апр 2009, 13:58
Репутация: 12
Откуда: Бурашево
Контактная информация:

Re: Отображение подписи

Сообщение Пётр Дубоделов »

измени в предыдущем запросе как-то так ...select from table where area>10 into label_10
и добавь эту именованную выборку (label_10) на карту (новый слой), сохрани рабочий набор и при каждом открытии программа будет её перевычислять, на случай изменения данных.
"Если карта не соответствует местности, доверяй местности."
Grace2
Участник
Сообщения: 63
Зарегистрирован: 18 янв 2011, 07:28
Репутация: 0
Откуда: г.Пермь
Контактная информация:

Re: Отображение подписи

Сообщение Grace2 »

нет не подходит .. ибо так он выберет площади больше 10, и выведет их на экран лейблами. А мне в лейблах нужны ещё и адреса, соответственно я должен брать адрес и площадь из одного слоя, а не из выборки ибо в выборке будут не все адреса.
Аватара пользователя
Пётр Дубоделов
Завсегдатай
Сообщения: 271
Зарегистрирован: 21 апр 2009, 13:58
Репутация: 12
Откуда: Бурашево
Контактная информация:

Re: Отображение подписи

Сообщение Пётр Дубоделов »

адреса для всех, и еще площади для крупных? или адреса и площади только для крупных? ведь колонка Адрес останется и в выборке.
как вариант, можно создать дополнительное строковое поле ("Площадь_подпись", как-то так), куда выбрать только большие площади (select from ... into s; update s set ...), + еще и название единиц или тире и т.п. можно... а остальные пустыми останутся (в подпись пойдёт без отображения).
соотв такой вот костыль, который придётся перевычислять в случае изменений... или дописать вычисления руками/скопировать вывод mapbasic в набор.
"Если карта не соответствует местности, доверяй местности."
Grace2
Участник
Сообщения: 63
Зарегистрирован: 18 янв 2011, 07:28
Репутация: 0
Откуда: г.Пермь
Контактная информация:

Re: Отображение подписи

Сообщение Grace2 »

да всё верно: адреса для всех, а площади только для крупных.
как вариант ... да так и сделал дополнительное поле пока временно, дальше буду разбираться почему всё таки так происходит... всё таки это как то странно!
Аватара пользователя
Пётр Дубоделов
Завсегдатай
Сообщения: 271
Зарегистрирован: 21 апр 2009, 13:58
Репутация: 12
Откуда: Бурашево
Контактная информация:

Re: Отображение подписи

Сообщение Пётр Дубоделов »

а по-моему очень даже логично. вводим в подписи проверку условия и программа выдаёт ответ да/нет.
"Если карта не соответствует местности, доверяй местности."
Аватара пользователя
ginpetr
Завсегдатай
Сообщения: 385
Зарегистрирован: 21 июн 2011, 12:07
Репутация: 140
Откуда: Орск
Контактная информация:

Re: Отображение подписи

Сообщение ginpetr »

я бы написал такое выражение в подписи:
left$(format(str$(площадь),"0.##"),10*int(площадь>10))
не помню точно пишется format или format$

[ Сообщение с мобильного устройства ]
Аватара пользователя
ginpetr
Завсегдатай
Сообщения: 385
Зарегистрирован: 21 июн 2011, 12:07
Репутация: 140
Откуда: Орск
Контактная информация:

Re: Отображение подписи

Сообщение ginpetr »

забыл
адрес добавить плюсом до или после выражения
...+chr$(10)+... или ...+" "+...

[ Сообщение с мобильного устройства ]
Аватара пользователя
ginpetr
Завсегдатай
Сообщения: 385
Зарегистрирован: 21 июн 2011, 12:07
Репутация: 140
Откуда: Орск
Контактная информация:

Re: Отображение подписи

Сообщение ginpetr »

итого:
left$(адрес+chr$(10)+format$(str$(площадь),"0.##"),100*int(площадь>10))
или
адрес+chr$(10)+left$(format$(str$(площадь),"0.##"),100*int(площадь>10))
извините, что так длинно получилось

[ Сообщение с мобильного устройства ]
Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость