Отображение подписи
-
- Участник
- Сообщения: 63
- Зарегистрирован: 18 янв 2011, 07:28
- Репутация: 0
- Откуда: г.Пермь
- Контактная информация:
Отображение подписи
Друзья, подскажите!
Есть в Мапинфо слой, в таблице этого слоя, есть столбец в котором указана площадь полигонов (например: 121,5 или 50,6 и т.д.). Этот столбец имеет тип данных "вещественное" (но я пробовал и с символьным, и с десятичным..."). Мне нужно подписать лейблы только тех полигонов у которых площадь больше 10-ти?
Когда я захожу в Управление Слоями и вывожу выражение "Площадь>10" у меня подписываются только буквы "T"-true или "F"-false.
Как сделать что бы выводились значения?
П.С. Способ сделать отдельную выборку с площадью>10 и из неё показывать значения не катит, ибо мне перед значением площади нужно вывести ещё адрес участка. То есть моё выражение для отображение подписи выглядит сейчас так: Адрес+"-"+Площадь>10... всё бы хорошо только цифры площади не отображаются(((
Помогите советом?!
Есть в Мапинфо слой, в таблице этого слоя, есть столбец в котором указана площадь полигонов (например: 121,5 или 50,6 и т.д.). Этот столбец имеет тип данных "вещественное" (но я пробовал и с символьным, и с десятичным..."). Мне нужно подписать лейблы только тех полигонов у которых площадь больше 10-ти?
Когда я захожу в Управление Слоями и вывожу выражение "Площадь>10" у меня подписываются только буквы "T"-true или "F"-false.
Как сделать что бы выводились значения?
П.С. Способ сделать отдельную выборку с площадью>10 и из неё показывать значения не катит, ибо мне перед значением площади нужно вывести ещё адрес участка. То есть моё выражение для отображение подписи выглядит сейчас так: Адрес+"-"+Площадь>10... всё бы хорошо только цифры площади не отображаются(((
Помогите советом?!
-
- Гуру
- Сообщения: 5355
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Отображение подписи
select Адрес+"-"+Площадь where Площадь>10
-
- Участник
- Сообщения: 63
- Зарегистрирован: 18 янв 2011, 07:28
- Репутация: 0
- Откуда: г.Пермь
- Контактная информация:
Re: Отображение подписи
в SQL-select это понятно, а вот именно в управлении слоями->Подписи->Из колонки->Выражения, я так не могу написать.
- Пётр Дубоделов
- Завсегдатай
- Сообщения: 271
- Зарегистрирован: 21 апр 2009, 13:58
- Репутация: 12
- Откуда: Бурашево
- Контактная информация:
Re: Отображение подписи
измени в предыдущем запросе как-то так ...select from table where area>10 into label_10
и добавь эту именованную выборку (label_10) на карту (новый слой), сохрани рабочий набор и при каждом открытии программа будет её перевычислять, на случай изменения данных.
и добавь эту именованную выборку (label_10) на карту (новый слой), сохрани рабочий набор и при каждом открытии программа будет её перевычислять, на случай изменения данных.
"Если карта не соответствует местности, доверяй местности."
-
- Участник
- Сообщения: 63
- Зарегистрирован: 18 янв 2011, 07:28
- Репутация: 0
- Откуда: г.Пермь
- Контактная информация:
Re: Отображение подписи
нет не подходит .. ибо так он выберет площади больше 10, и выведет их на экран лейблами. А мне в лейблах нужны ещё и адреса, соответственно я должен брать адрес и площадь из одного слоя, а не из выборки ибо в выборке будут не все адреса.
- Пётр Дубоделов
- Завсегдатай
- Сообщения: 271
- Зарегистрирован: 21 апр 2009, 13:58
- Репутация: 12
- Откуда: Бурашево
- Контактная информация:
Re: Отображение подписи
адреса для всех, и еще площади для крупных? или адреса и площади только для крупных? ведь колонка Адрес останется и в выборке.
как вариант, можно создать дополнительное строковое поле ("Площадь_подпись", как-то так), куда выбрать только большие площади (select from ... into s; update s set ...), + еще и название единиц или тире и т.п. можно... а остальные пустыми останутся (в подпись пойдёт без отображения).
соотв такой вот костыль, который придётся перевычислять в случае изменений... или дописать вычисления руками/скопировать вывод mapbasic в набор.
как вариант, можно создать дополнительное строковое поле ("Площадь_подпись", как-то так), куда выбрать только большие площади (select from ... into s; update s set ...), + еще и название единиц или тире и т.п. можно... а остальные пустыми останутся (в подпись пойдёт без отображения).
соотв такой вот костыль, который придётся перевычислять в случае изменений... или дописать вычисления руками/скопировать вывод mapbasic в набор.
"Если карта не соответствует местности, доверяй местности."
-
- Участник
- Сообщения: 63
- Зарегистрирован: 18 янв 2011, 07:28
- Репутация: 0
- Откуда: г.Пермь
- Контактная информация:
Re: Отображение подписи
да всё верно: адреса для всех, а площади только для крупных.
как вариант ... да так и сделал дополнительное поле пока временно, дальше буду разбираться почему всё таки так происходит... всё таки это как то странно!
как вариант ... да так и сделал дополнительное поле пока временно, дальше буду разбираться почему всё таки так происходит... всё таки это как то странно!
- Пётр Дубоделов
- Завсегдатай
- Сообщения: 271
- Зарегистрирован: 21 апр 2009, 13:58
- Репутация: 12
- Откуда: Бурашево
- Контактная информация:
Re: Отображение подписи
а по-моему очень даже логично. вводим в подписи проверку условия и программа выдаёт ответ да/нет.
"Если карта не соответствует местности, доверяй местности."
- ginpetr
- Завсегдатай
- Сообщения: 385
- Зарегистрирован: 21 июн 2011, 12:07
- Репутация: 140
- Откуда: Орск
- Контактная информация:
Re: Отображение подписи
я бы написал такое выражение в подписи:
left$(format(str$(площадь),"0.##"),10*int(площадь>10))
не помню точно пишется format или format$
[ Сообщение с мобильного устройства ]
left$(format(str$(площадь),"0.##"),10*int(площадь>10))
не помню точно пишется format или format$
[ Сообщение с мобильного устройства ]
- ginpetr
- Завсегдатай
- Сообщения: 385
- Зарегистрирован: 21 июн 2011, 12:07
- Репутация: 140
- Откуда: Орск
- Контактная информация:
Re: Отображение подписи
забыл
адрес добавить плюсом до или после выражения
...+chr$(10)+... или ...+" "+...
[ Сообщение с мобильного устройства ]
адрес добавить плюсом до или после выражения
...+chr$(10)+... или ...+" "+...
[ Сообщение с мобильного устройства ]
- ginpetr
- Завсегдатай
- Сообщения: 385
- Зарегистрирован: 21 июн 2011, 12:07
- Репутация: 140
- Откуда: Орск
- Контактная информация:
Re: Отображение подписи
итого:
left$(адрес+chr$(10)+format$(str$(площадь),"0.##"),100*int(площадь>10))
или
адрес+chr$(10)+left$(format$(str$(площадь),"0.##"),100*int(площадь>10))
извините, что так длинно получилось
[ Сообщение с мобильного устройства ]
left$(адрес+chr$(10)+format$(str$(площадь),"0.##"),100*int(площадь>10))
или
адрес+chr$(10)+left$(format$(str$(площадь),"0.##"),100*int(площадь>10))
извините, что так длинно получилось
[ Сообщение с мобильного устройства ]
Кто сейчас на конференции
Сейчас этот форум просматривают: Ahrefs [Bot] и 6 гостей