Формулы в Expression в QGIS

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Формулы в Expression в QGIS

Сообщение Natalia Novoselova » 12 сен 2017, 15:55

Не мог бы кто-то помог разобраться? Пытаюсь скопировать значение из одного числового поля ("Area" в примере) в новое числовое поле. Путем задания выражения Field + 0. Или же (другая частая задача) просто прибавить какое-то число к существующему полю.
В приложении – пример данных.

Почему-то когда задаю выражение
0 + ID_circle
– софт ее видит и считает в новом поле это значение. А когда задаю выражение
0 + Area

(ровно такое же по своей сути!!) он не видит и не считает. Говорит:
Parser Error:
syntax error, unexpected $end, expecting '('

Eval Error:
No root node! Parsing failed?
При этом для "Area" я задаю выходные параметры Decimal number (real), outout field length 8, precision 7. И разные комбинации пробую – не видит. :cry: И аналогично он так не видит "Distance" и видит поле "Radius_m".

Почему к одному полю он прибавляет, а к другим не хочет, ведь все точно также делаю?


И к этому вопрос- как СКОПИРОВАТЬ в новое поле значение из другого поля (когда это число – можно прибавить «0», хотя сейчас не могу и этого сделать. А когда текстовое как это сделать?) Может быть, что-то не так в написании названий полей Area и Distance? И если их скопироать под другим названием софт их будет видеть?
Вложения
example.zip
(2.22 КБ) 223 скачивания

5Nap
Участник
Сообщения: 85
Зарегистрирован: 21 ноя 2010, 17:36
Репутация: 31

Re: Формулы в Expression в QGIS

Сообщение 5Nap » 12 сен 2017, 16:02

0+"Area" ...

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Формулы в Expression в QGIS

Сообщение Игорь Белов » 12 сен 2017, 16:05

Ну так area и distance - имена функций. Всегда берите названия полей в двойные кавычки. И не надо к числовым полям прибавлять ноль.
The purpose of computing is insight, not numbers

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Формулы в Expression в QGIS

Сообщение Natalia Novoselova » 12 сен 2017, 16:14

Игорь Белов писал(а):
12 сен 2017, 16:05
Ну так area и distance - имена функций. Всегда берите названия полей в двойные кавычки. И не надо к числовым полям прибавлять ноль.
Ясно, - по ID_circle (которое не функция) оно и без кавычек считает, вот и не догадалась.

И понятно отсюда, как копировать поля - просто указать выражение нужного поля в кавычках в Expression.

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Формулы в Expression в QGIS

Сообщение Natalia Novoselova » 20 сен 2017, 18:06

Подскажите, пож-та, как в QGIS новом созданном текстовом поле внести везде одно значение?

Есть таблица из объектов. Создаю новое поле в type - Text (string). И как теперь внести во все графы одно название (штат Sau Paulo, например)? Всё простое перепробовала. Какая-то особая формула нужна?

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Формулы в Expression в QGIS

Сообщение Natalia Novoselova » 20 сен 2017, 18:37

Natalia Novoselova писал(а):
20 сен 2017, 18:06
Подскажите, пож-та, как в QGIS новом созданном текстовом поле внести везде одно значение?

Есть таблица из объектов. Создаю новое поле в type - Text (string). И как теперь внести во все графы одно название (штат Sau Paulo, например)? Всё простое перепробовала. Какая-то особая формула нужна?
Нашла
title( 'Sau Paulo')

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: Формулы в Expression в QGIS

Сообщение Ariki » 20 сен 2017, 19:10

А просто 'Sau Paulo' не работает? Функция title() используется для преобразования первой буквы каждого слова в заглавную, но у вас они и так заглавные.

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Формулы в Expression в QGIS

Сообщение Natalia Novoselova » 29 сен 2017, 20:38

Подскажите, пож-та, как в новом поле сделать порядковый номер? Все хелпы не помогают. Какое выражение тут нужно?
'$id'?
'UG_' || ($id + 1)
https://gis.stackexchange.com/questions ... or-postgis
???


Ответить

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

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

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