Сортировка таблицы атрибутов.
- 
				Vahit ogli
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 30 сен 2014, 02:14
- Репутация: 0
							 Сортировка таблицы атрибутов.
						Сортировка таблицы атрибутов.
		
													
							
						
			
			
			
			
			Всем привет. Сразу скажу, что я ламер. Возникла необходимость в сортировке населенных пунктов РФ по численности населения. Я пытаюсь использовать фильтр вида ""POPULATION"  > 5000", но в результате фильтруются те населенные пункты, где число населения начинается до 5 (например, 494567). Я заметил, что при сортировке таблицы атрибутов колонка Population принимает вид , т.е числа идут не в прямом порядке возрастания(например,1 100 2 21 2154 22). Насколько я понял данная проблема не зависит от ПО, так как она повторялась у меня и в Map 3d, и в QGISе. Не подскажите как мне это исправить?
			
			
									
						
										
						- 
				trir
- Гуру
- Сообщения: 5362
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Сортировка таблицы атрибутов.
Какой тип данных столбца?
			
			
									
						
										
						- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Сортировка таблицы атрибутов.
Ага, поменяйте тип данных на числовой.
			
			
									
						
							___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
			
						- 
				Vahit ogli
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 30 сен 2014, 02:14
- Репутация: 0
Re: Сортировка таблицы атрибутов.
Мммм, а как это сделать? 
			
			
									
						
										
						
- 
				Ariki
- Гуру
- Сообщения: 731
- Зарегистрирован: 12 янв 2011, 22:40
- Репутация: 304
- Ваше звание: ∀
Re: Сортировка таблицы атрибутов.
По логике, конечно, поле должно быть числовым. Но если по каким-либо причинам тип поля поменять неудобно или нежелательно, можно преобразовать на лету прямо в выражении:
Чтобы поменять тип поля, можно добавить новое поле нужного типа и использовать калькулятор полей, чтобы перенести в него значения из старого.
			
			
									
						
										
						Код: Выделить всё
toint("POPULATION") > 5000- 
				Vahit ogli
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 30 сен 2014, 02:14
- Репутация: 0
							 Re: Сортировка таблицы атрибутов.
						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
			
						- 
				trir
- Гуру
- Сообщения: 5362
- Зарегистрирован: 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
			
						- 
				Vahit ogli
- Новоприбывший
- Сообщения: 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" >= 5000The purpose of computing is insight, not numbers
			
						Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей

