Вычисление площадей огромных территорий (Субъектов Федерации)
Что-то подвигло меня заполнить в семантике поле "Площадь" для САМАРСКОЙ ОБЛАСТИ. Думаю - "Проверю, на сколько различаются значения вычисляемые в массовых операциях (с последующим внесением в семантику) и отображаемые на первой закладке окна "Свойств объектов".
Сейчас и Вас поразит результат.
В семантику (вещественное поле) попало значение: -92233720368,5478
На 1-ой закладке вычислена прощадь: 1,071162034E0011
Но ширина ограничена и отображается только: 1,071162034E001
Обращаю внимание на ОТРИЦАТЕЛЬНУЮ ПЛОЩАДЬ.
Неужели чудо, вот она - геометрия нематериальных миров, пространство тёмных материй и мнимых величин.
Увы, банальная ошибка.
Предагаю:
1. Исправить алгоритм вычисления площади.
2. Увеличить ширину значения "Площадь" закладки "Объект" окна свойств объекта для предотвращения недоразумений.
Служба підтримки клієнтів працює на UserEcho
Изначально ИнГео явно не имела в виду таких эпических масштабов. Так, город, максимум - с пригородами Хотя сейчас у нас на карту тоже входит вся Самарская область. К счастью, вычислять ее площадь для нас неактуально. Кстати, одной из причин этой ошибки может быть неучёт в ИнГео сферичности Земли, чем так гордятся адепты Мапинфо. Но не уверен, что овчинка (учёт сферичности) стоит выделки (затрат, издержек и отрицательных побочных эффектов). Да это и не бог весть какая ошибка. Вон намедни одна француженка получила счёт за телефон, который в 6 тысяч раз превосходил годовой бюждет всей Франции. Причём менеджер телефонной компании в жёсткой форме потребовал заплатить...
1. Проверил, семантику заполняет правильно. На 1-ой вкладке "1,071748279E0011". В поле данных "107174827900,235".
2. Поле расширим.
3. В текущей версии ИнГео работает только с топопланами. В пятой версии будет считать с учетом поправок для проекций и с учетом сферы для широты/долготы на эллипсоиде.
спасибо
Изначально пробовал в ИнГЕО 4.4.0.177 с СУБД MS-SQL.
Объект не выходил за границы территории.
В СУБД есть возможность указать количество разрядов числа, но ИнГЕО вроде на даёт пользователю возможности вмешиваться в этот процесс.
По хорошему, в тот момент, когда значение не поместилось, необходимо уведомить пользователя и ничего не делать.
Попробую в последних версиях ИнГЕО.
Уточню: Тип поля в MS SQL "float"? а то там есть "numeric" - это плохой выбор для хранения площади, и ,имхо, плохой выбор вообще для вещественных чисел.