Точність просторових даних

Досягнення більш високої точності при зберіганні координат об'єктів карти

"Яким чином можна отримати більш високий рівень точності в MapInfo Professional?". Зазвичай за цим питанням слід: "Чому б не використати 64-розрядну точність даних, як в деяких інших системах?". Для того щоб отримати відповіді на ці питання, спочатку необхідно зрозуміти як MapInfo здійснює зберігання просторових даних.

Ви можете припустити, що в файл просто записуються такі числа, як 153.34125 і -26.21435. Цей метод спрацює, але він буде дуже неефективним і повільним. Що робить MapInfo Professional - вона зберігає всі дані, записані в файл в єдиному форматі точності, вираженому в 32-розрядних цілих числах. 32-розрядний ціле число може містити цілі значення від 0 до більше 2 мільярдів. Коли таблиця зчитується, MapInfo Professional перетворює ці дані, виражені в цілих числах, назад в їх реальні координати і зберігає їх в пам'яті як 64-розрядні числа з плаваючою комою. Може це виглядає, як дуже трудомісткий процес, але насправді саме таким чином функціонують системи, яким доводиться оперувати великими числами.

Точність просторових даних

В даній ситуації слід запам'ятати, що ця система координат використовується за умовчанням. Нижче буде описано метод, який є в арсеналі MapInfo Professional, який дозволяє підвищити рівень точності. Дуже невеликій кількості додатків ГІС коли-небудь було потрібно отримувати координати земної кулі з субміліметрової точністю. Зазвичай користувачі ГІС працюють з набагато меншими територіями, такими як області, райони і навіть окремі міста. Ми називаємо це "обмеженими координатами" (bounded coordinates).

Всі верстви просторових даних MapInfo є обмеженими. Як було показано вище, стандартна проекція Миру обмежена діапазоном +/- тисячі. Це називається "неявним обмеженням", оскільки немає жодної вказівки на діапазон координат. Все проекції мають неявні обмеження.

Точність просторових даних

Розглянемо картографічну сітку Австралії: MGA (UTM проекція, яка зазвичай використовується в Австралії). Це смуги шириною 6 градусів, які обгортають весь глобус. При виборі проекції з діалогу, ви вибираєте конкретну зону (шириною 6 градусів) для північного або південного півкулі. Кордонами в даному випадку будуть 10,000,000 м на північ (Екватор) і 0 м на 80 градусів південної широти. Проекція також має ширину 1,000,000 метрів з центром на 500,000 м.

Використовуючи той же метод, що був описаний вище, дана проекція має числовий діапазон 10,000,000. Розділивши на 2 мільярди, отримуємо точність 0.005 метра (півсантиметра).

Початкові дані

Для отримання більш високої точності MapInfo Professional також підтримує "явне обмеження", при якому користувач може вручну задати кордону координат. Прикладом може служити створення План-схеми, коли потрібно задати мінімальні і максимальні значення координат. "Явна обмеження" також може використовуватися для будь-яких стандартних проекцій. Коли ви робите це, ви задаєте менший діапазон для своїх координат. Чим менше діапазон, тим вище точність. наприклад,

Точність просторових даних

• Брісбен, Австралія обмежений UTM координатами 7,000,000 (Північ), 6,930,000 (Південь), 470,000 (Захід) і 530,000 (Схід). Максимальний діапазон тут становить 70,000 м. Розділіть це на 2 мільярди і отримаєте точність 0.000035 метра. Це точність 0.035 міліметра. Застосувавши обмеження тим же способом для всієї території Австралії, ми отримаємо точність приблизно в 2.5 міліметра.

Ви завжди можете використовувати явне обмеження, якщо необхідно зберегти просторові дані в форматі більш високої точності. Тим не менш, ви не можете додати кордону до існуючого шару і очікувати при цьому, що дані стануть точнішими. Після того, як ви додасте кордону, на місці залишаться ті ж самі координати. Тільки після додавання нових даних або редагуванні існуючих ви зможете отримати і використовувати більш високий рівень точності.

послідовність процесу

Навіть якщо ви розсунете кордону шару на 100 км, то все одно отримаєте набагато вищий рівень точності координат, ніж який, можливо був потрібний. Якщо роботи виконуються в державному масштабі, то можна використовувати проекцію Широта / Довгота з межами, лише ледь виходять за межі реальних.

Далі ви створюєте таблиці як зазвичай, встановлюючи бажану проекцію. Для застосування кордонів в таблиці запустіть додаток MapBasic з меню Інструменти> Каталог програм - CoordSys Bounds Manager (Межі рамки карти). Ця програма покаже список вже відкритих шарів. Межі обраного шару, як показано на малюнку нижче.

Точність просторових даних

Ви можете вручну ввести кордони або використовувати кнопку Optimise CoordSys Bound (Оптимізувати рамку), щоб автоматично вважати необхідні кордону з шару. Потім, ви зберігаєте нову копію таблиці. Хороший підхід - створити нову порожню таблицю з явно встановленими межами. Згодом при створенні нових таблиць використовуйте копію цього порожнього файлу (використовуйте команду "Нова таблиця").

32-розрядні проти 64-розрядних цілих чисел

Pitney Bowes Software воліла використовувати 32-розрядні цілі числа для зовнішнього зберігання замість 64-розрядних, оскільки це дозволяє домогтися гарного співвідношення між ефективністю і точністю. Використання 32-розрядних цілих чисел для зберігання також означає, що просторові дані MapInfo при зберіганні займають в два рази менше місця, ніж такий же еквівалент 64-розрядних даних. Це не тільки більш ефективно, але і дозволяє завантажувати дані і виводити їх на монітор значно швидше.

Відображення даних в режимі високої точності

Далі ви, можливо, захочете подивитися координати в вікні Списку. На цьому етапі багато користувачів стикаються з труднощами. Це відбувається тому що MapInfo Professional завжди відображає поля типу FLOAT округленням до встановленої кількості десяткових розрядів. Це означає, що користувач не побачить все десяткові розряди. Для того, щоб обійти цю проблему, слід використовувати тип DECIMAL для полів з координатами. У діалозі "Перебудова структури таблиці" (Modify Table Structure) ви бачите, як поля Широта / Довгота налаштовані на зберігання 12 цифр з 8-ю після десяткового дробу.

Точність просторових даних

Таблиця з невказаними межами

Таблиця із заданою кордоном

Точність просторових даних

Після того, як структура таблиці була коректно встановлена, необхідно буде оновити ці поля значеннями координат об'єктів. Рекомендується використовувати утиліту "Записати координати об'єкта", яка поставляється разом з MapInfo Professional. Цей інструмент знаходиться в каталозі програм (меню "Інструменти" програми MapInfo Professional). Утиліта дозволяє автоматично оновити дві колонки таблиці наповнивши їх координатами центроїда об'єктів. Під час використання даного інструменту ви маєте можливість визначити, яка система координат буде використовуватися. Це дуже важливий, момент оскільки використовувана для вилучення система координат є обмеженою.

Нижче показано вікно Списку для таблиці з обмеженням, після того, як утиліта "Записати координати об'єкта" була запущена. Зверніть увагу, що координати використовують вісім десяткових розрядів так само, як в попередньому прикладі з використанням інструменту "Вибір".

Альтернативним методом є використання команди "Оновити колонку" (Update table Set column). Ви можете заповнити поля координатами використовуючи функції CentroidX (obj) і CentroidY (obj) об'єкта

Точність просторових даних
Точність просторових даних

Нулі в кінці значень вказують, що не всі доступні десяткові розряди були використані

Цей підхід використовує проекцію сесії MapInfo Professional, а не проекцію таблиці. Для вилучення повних координатних даних необхідно налаштувати проекцію сесії на проекцію таблиці, в якій знаходяться об'єкти. Це можна зробити з діалогу Установки> Режими> Вікно Карти - закладка Проекція або надрукувавши рядок визначення координатної системи в вікні MapBasic (як показано зверху). Вікно Списку (друге) показує результати застосування методу "Оновити колонку" без установки проекції в системі координат з визначеними межами.

Останнім методом відображення координат є SQL запит і відображення координат у тимчасових полях, створених в операторі SQL. Ще раз нагадуємо, що спочатку необхідно побудувати систему координат сесії на обмежену проекцію.

Нижче, показаний діалог SQL Select використовується для отримання координат.

Точність просторових даних

Експорт з високою точністю

MapInfo Professional підтримує кілька форматів експорту даних, що дозволяють використовувати їх в інших системах. Два найбільш поширених формату - це MIF / MID і Autocad DXF. Команда Таблиця> Експорт підтримує точність координат під час їх експорту в MIF / MID. Це показано нижче разом з двома прикладами MIF експорту. У першому наводиться Обмежена таблиця з координатними значеннями високої точності. У другому прикладі представлена ​​Необмежена таблиця, яка містить тільки 6 десяткових розрядів точності.

Точність просторових даних

Точність просторових даних

При експорті в DXF з обмеженою таблиці з використанням команди Таблиця> Експорт (навіть якщо координатна система сесії була встановлена), буде проводиться округлення даних до 6 десяткових розрядів. Замість цього можна використовувати інструмент Універсальний транслятор (Universal Translator в MapInfo Professional v11.5 і нижче, FME Quick Translator в MapInfo Professional v12.0). Оскільки даний інструмент фактично працює за межами MapInfo Professional, він отримує дані координатної системи безпосередньо з таблиці, а не з координатної системи сесії MapInfo. Тут представлені діалоги Універсального транслятора. Нижче - приклад виведення результатів в Блокнот. Зверніть увагу на те, що витягнуті координати мають більш високу точність.

Точність просторових даних
Точність просторових даних

Точність просторових даних

Імпорт з високою точністю

Процес імпорту схожий з експортом в тому, що MapInfo Professional без проблем підтримує формат MIF / MID, але все одно доведеться використовувати Універсальний транслятор для DXF. Важливим моментом в MIF / MID є той факт, що файл вже містить координатну інформацію в розділі заголовка.

Точність просторових даних

Точність просторових даних

Нижче показаний діалог Універсального транслятора, з настройками імпорту формату DXF в MapInfo TAB. Зверніть увагу на кнопку Проекція внизу праворуч у розділі Джерело. Кнопка викликає діалог "Вибір проекції", в якому зараз доступна для вибору Обмежена проекція.

Точність просторових даних
Точність просторових даних

MapInfo Professional може працювати з даними більш високої точності, якщо це потрібно користувачеві. Зберігання даних з більш високим рівнем точності допустимо, тільки якщо вихідні дані поставляються з порівнянним рівнем точності.

Схожі статті