gis@smartms.org
59° 58’ 25’’N 30° 20’ 01’’E

Data Interoperability: когда и зачем применять

Форматы данных
При работе с геоданными наличие разного вида информации - обычное дело. Различия могут заключаться:
  • в формате данных: кто-то создает пространственные объекты в ГИС-пакетах, а кто-то - в САПР-системах. Есть те, кто формирует данные в поле - в формате GPS-треков, и есть те, кто всё собирает в таблицы. Также повсеместно применяются данные дистанционного зондирования и всё чаще используются данные реального времени;
  • в структуре данных: один и тот же параметр может иметь разный тип данных (например, кто-то номер дома напишет как число, а кто-то - как текст), разное наименование (где-то понятие существующего и проектируемого объекта будет называться статус, а где-то - тип или комментарий);
  • в системах координат: часть данных вы получаете в глобальных координатах, часть - в местных системах координат, и ещё часть легко может оказаться вообще в условной системе координат;
  • в точности данных: один источник оперирует данными уровня области, другой - уровня городского квартала.
Глядя на такое многообразие, всегда возникает вопрос: как их совместить в ту модель данных, которая будет решать именно ваши задачи?
Здесь на помощь приходят ETL-приложения. ETL означает “Extract, Transform, Load” (Извлечь, Трансформировать, Загрузить). С помощью такого инструментария вы можете извлечь данные из входных датасетов, преобразовать их нужным образом и загрузить в свою модель данных. 
У себя мы используем модуль для ArcGIS - Data Interoperability (версия продукта FME от компании Safe Software для платформы ArcGIS). Он часто помогает нам работать даже с теми данными, которые невозможно напрямую обработать стандартными средствами пакета ArcGIS.

Данный модуль удобен тем, что он прост в освоении: нет необходимости писать свои алгоритмы в виде программного кода - у него есть визуальный редактор моделей обработки. Так что тем, кто ни в какую не хочет изучать языки программирования или ищет способ быстро собрать прототип модели обработки, этот продукт будет весьма полезен.
примеры сокращения времени на обработку: "до" и "после" автоматизации

Есть несколько причин для использования модуля.
  • Вам нужно подключиться к нестандартному источнику данных: для работы доступно несколько сотен форматов данных. И хотя не все из них с возможностью записи, это редко становится проблемой, так как часто стоит задача “увидеть” содержимое, чтобы далее записать в принятом в компании виде. Также не все читаемые типы несут геопространственную составляющую. Этот модуль прекрасно может использоваться для обогащения ваших геоданных информацией из непространственных источников.
  • Вам требуется провести разовые манипуляции с данными: например, внезапно часть исходных данных передали в формате MapInfo и необходимо преобразовать их для работы в AutoCAD.
  • Есть понимание, что задача обработки стала регулярного характера и её надо автоматизировать. В этом случае можно сделать унифицированный инструмент, который будут использовать ваши сотрудники. У нас таким примером стала загрузка результатов топографической съемки местности из dwg-файлов в формат базы геоданных. Обе модели, входная и итоговая, обладают понятной структурой. Поэтому создание инструмента трансформации не повлекло больших изменений в организацию работ. Зато это принесло существенную экономию времени (сокращение с 2-5 дней до 5-30 минут) и дало возможность поделиться данными съемки с бóльшим количеством сотрудников через веб-приложение. В итоге мы упростили коммуникацию между руководством, исполнителями и подрядчиками и сделали её более оперативной.
пример настройки алгоритма конвертации из dwg-файла, где учитываются особенности dwg-данных и геоданных

О ещё одном примере нашего внедрения ETL можно прочитать в статье об использовании мобильной ГИС для задач подеревной съемки.
  • Нужна автоматизация обработки информации 24/7. У вас есть регулярный приток данных. Вы четко понимаете, что из себя представляют эти данные и какие операции с ними нужно проводить. Но вы хотите перестать выполнять эти манипуляции руками своих сотрудников. В этом случае можно сделать сервисы обработки, которые будут запускаться сами либо по определенному расписанию, либо при возникновении определенных событий (например, на сервер был загружен обновленный датасет).

Резюмируя наш краткий рассказ, сформулируем выгоды от использования ETL-приложений:
  • уменьшаем влияние человеческого фактора - как правило, люди устают от рутины и начинают совершать ошибки,
  • ускоряем процессы - время обработки может сокращаться не просто в разы, а на несколько порядков,
  • можно распараллелить работы - всё зависит лишь от ресурсов ваших рабочих станций или серверов.

Нужны ли вам такие результаты? Ответ на этот вопрос может стать поводом для оптимизационного проекта или, как минимум, интересной дискуссии. У нас есть одно из мнений о внедрении алгоритмов искусственного интеллекта, которые также могут рассматриваться как часть ETL-инструментов.

Заинтересовал проект?
Сделаем такой же для вас!