Сортировка таблицы атрибутов.
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 30 сен 2014, 02:14
- Репутация: 0
Сортировка таблицы атрибутов.
Всем привет. Сразу скажу, что я ламер. Возникла необходимость в сортировке населенных пунктов РФ по численности населения. Я пытаюсь использовать фильтр вида ""POPULATION" > 5000", но в результате фильтруются те населенные пункты, где число населения начинается до 5 (например, 494567). Я заметил, что при сортировке таблицы атрибутов колонка Population принимает вид
, т.е числа идут не в прямом порядке возрастания(например,1 100 2 21 2154 22). Насколько я понял данная проблема не зависит от ПО, так как она повторялась у меня и в Map 3d, и в QGISе. Не подскажите как мне это исправить?-
- Гуру
- Сообщения: 5355
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Сортировка таблицы атрибутов.
Какой тип данных столбца?
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Сортировка таблицы атрибутов.
Ага, поменяйте тип данных на числовой.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 30 сен 2014, 02:14
- Репутация: 0
Re: Сортировка таблицы атрибутов.
Мммм, а как это сделать? 

-
- Гуру
- Сообщения: 731
- Зарегистрирован: 12 янв 2011, 22:40
- Репутация: 304
- Ваше звание: ∀
Re: Сортировка таблицы атрибутов.
По логике, конечно, поле должно быть числовым. Но если по каким-либо причинам тип поля поменять неудобно или нежелательно, можно преобразовать на лету прямо в выражении:
Чтобы поменять тип поля, можно добавить новое поле нужного типа и использовать калькулятор полей, чтобы перенести в него значения из старого.
Код: Выделить всё
toint("POPULATION") > 5000
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 30 сен 2014, 02:14
- Репутация: 0
Re: Сортировка таблицы атрибутов.
К сожалению, мне не удается использовать калькулятор полей в QGISе, так как почему то режим редактирования мне недоступен.в калькуляторе в Map 3d, но он выдает ошибку
"Failed to execute Fdo command.
The data type 'FdoDataType_Int64' is not supported by this provider."
Если я использую фильтр то результата просто нет. 
Я пробовал использовать команды Код: Выделить всё
ToInt64 ( POPULATION )
"Failed to execute Fdo command.
The data type 'FdoDataType_Int64' is not supported by this provider."
Если я использую фильтр
Код: Выделить всё
ToInt64(POPULATION) > 5000

- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Сортировка таблицы атрибутов.
Почему слой нередактируемый, неясно. Взятый отсюда редактируется.
Все функции перечислены в меню. Не надо изобретать какое-то ToInt64(), если можно выбрать из списка toint().
Имена полей тоже можно выбрать из списка.
Открывая шейп, укажите явно кодировку UTF-8, а то кириллица не читается.
Все функции перечислены в меню. Не надо изобретать какое-то ToInt64(), если можно выбрать из списка toint().
Имена полей тоже можно выбрать из списка.
Открывая шейп, укажите явно кодировку UTF-8, а то кириллица не читается.
The purpose of computing is insight, not numbers
-
- Гуру
- Сообщения: 5355
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Сортировка таблицы атрибутов.
Странно, Civil 3D 2015 - работают ToInt64() и ToInt32()
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Сортировка таблицы атрибутов.
Кто же спорит? Просто на картинках QGIS.trir писал(а):Странно, Civil 3D 2015 - работают ToInt64() и ToInt32()
The purpose of computing is insight, not numbers
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Сортировка таблицы атрибутов.
Кто же спорит? Просто на картинках QGIS.trir писал(а):Странно, Civil 3D 2015 - работают ToInt64() и ToInt32()
The purpose of computing is insight, not numbers
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Сортировка таблицы атрибутов.
Кто же спорит? Просто на картинках QGIS.trir писал(а):Странно, Civil 3D 2015 - работают ToInt64() и ToInt32()
The purpose of computing is insight, not numbers
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 30 сен 2014, 02:14
- Репутация: 0
Re: Сортировка таблицы атрибутов.
Всем спасибо. Наконец все получилось. Использовал калькулятор полей, преобразовал значения. Не все было гладко, так как в таблице значений были числа вида 1.0 или 2.0, которые пришлось вычистить вручную. После все было ОК.
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Сортировка таблицы атрибутов.
Лишняя работа. Просто надо было использовать функцию toreal() вместо toint().Vahit ogli писал(а):в таблице значений были числа вида 1.0 или 2.0, которые пришлось вычистить вручную
Кроме того, QGIS выполняет неявно преобразования типов, и можно обойтись простым выражением вида
Код: Выделить всё
"POPULATION" >= 5000
The purpose of computing is insight, not numbers
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость