Глюки калькулятора полей

Здесь нужно сообщать об ошибках в QGIS, с подробным описанием шагов и версии ПО.
Ответить
bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

Глюки калькулятора полей

Сообщение bolotoved » 01 фев 2012, 07:39

Берем слой полигональный admin из геосемпла.
Перепроецируем его в UTM44N-WGS84.
Пытаемся рассчитать площадь с помощью калькулятора полей.
Задаем тип поля "целое число" (зачем нам дробная часть, если точность шейпа не позволяет считать с субметровой точностью?). Сталкиваемся с ограничением на размер целочисленного поля в 10 значащих чисел. А даже для региональных расчетов, каковым является расчет площади для границ областей, нужно 11-13 значащих цифр (а вообще-то надо, минимум 15 -- для глобальных расчетов, с учетом площади Земного Шара).
Ставим максимальный размер (10) считаем, сохраняем изменения в шейпе. На выходе получаются какие-то странные значения:

Код: Выделить всё

Area
1028191323
1519683487
-192719678
-178811190
Откуда отрицательные значения?
---------------------------------------------------------
Далее. Считаем площадь выбрав тип поля "Десятичное число". Размер укажем 13 (на самом деле там в admin максимальное число имеет 12 знаков). Точность поставим = 0.
Считаем, сохраняем изменения в шейпе. Получаются следующие отрицательные одинаковые значения:

Код: Выделить всё

Area
-2147483648
-2147483648
-2147483648
-2147483648
---------------------------------------------------------
И только с третьей попытки, выбрав в качестве типа поля "Десятичное число", указав размер = 13 и точность =1, получаем искомое:

Код: Выделить всё

Area
92701168602.5
95517471835.3
177613342623
169871495057
---------------------------------------------------------

Проверьте, пожалуйста, это только у меня такое?
Win XP SP3, QGIS 1.9.90-Alpha cbef41c

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Глюки калькулятора полей

Сообщение Voltron » 01 фев 2012, 11:34

Отрицательные значения получаются в результатет целочисленного переполненния. Где-то на форуме уже была подобная тема...

bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

Re: Глюки калькулятора полей

Сообщение bolotoved » 01 фев 2012, 13:33

Voltron писал(а):Отрицательные значения получаются в результатет целочисленного переполненния
Можно для слоя admin геосемпла в UTM44-WGS84 задать поле (десятичное число) с заведомо большим количеством разрядов, чем нужно, например 15, а точность установить = 0. Результаты будут отрицательными. Т.е. ошибка возникает всякий раз, когда мы ставим точность = 0.

Ответить

Вернуться в «Ошибки QGIS»

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

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