Импорт/Экспорт данных
На платформе предусмотрено несколько способов импортирования новых данных.
Находясь внутри карты, можно нажать на кнопку и в выпадающем меню выбрать пункт . После этого откроется окно файлового проводника пользователя. При выборе файла и его последующей загрузке, открывается окно «Менеджер импорта данных», в котором можно отслеживать этапы обработки файла и соответствующей задачи импорта. Загрузка файлов таким способом позволяет создавать только новые слои в карте.
ZIP
-архивах. В одном архиве может содержаться сразу несколько слоёв.
Импорт данных также доступен при помощи drag-n-drop. При перетаскивании файла в текущее окно для выбора типа загрузки доступны 2 области:
- Загрузить файлы в текущий слой – изменяет данные в тех слоях, коды которых совпадают с названиям файлов или их внутренними метаданными;
- Загрузить файлы в дерево слоев – создает только новые слои для загружаемых файлов.
Импорт в слой доступен при выборе пункта в контекстном меню таблицы. В данном случае открывается окно файлового проводника пользователя, и после выбора файла отображется окно «Менеджер импорта данных» для отслеживания этапов выполнения загрузки. Импорт в слой позволяет обновлять данные объектов, сохраняя нетронутыми все объекты, с которыми не нашлось сопоставление в файле импорта.
Особенности обновления данных посредством импорта:
- Если в слое есть колонка, а в файле её нет – указанная колонка остаётся;
- Если в слое нет колонки, а в файле есть – она добавляется в конец структуры;
- Если в слое есть колонка, а в файле она другого типа – импорт отменяется, новые данные не добавляются.
Менеджер импорта
При нажатии на значок открывается окно «Менеджер импорта данных». В данном окне списком постранично отображаются задачи импорта, характеризующиеся:
- Названием файла;
- Количеством сущностей, полученных из файла импорта;
- Датой и временем импорта;
- Идентификатором карты, в которую был выполнен импорт;
- Статусом импорта.
Каждую задачу можно развернуть нажатием на элемент стрелочки слева от названия задачи. В развернутой задаче отображаются:
- Название сущности;
- Код сущности – код сущности из файла;
- Драйвер, который используется в ходе обработке импорта файла;
- Входной SRS – проекция входных данных, полученная их файла;
- Выходной srid – идентификатор целевой проекции, по умолчанию совпадает с проекцией карты для импорта;
- Статус задачи импорта – может отличаться от статуса самого импорта.
Постановка задачи импорта начинается с предварительного процесса загрузки файла в систему.
При необходимости возможно отменить загрузку файлов при нажатии на иконку рядом с линией процента загрузки файла. Для загруженных файлов далее формируются задачи импорта, у которых в приложении используется следующий набор статусов в интерфейсе:
- В процессе;
- Выполнен;
- Конфликт;
- Ошибка.
Импорт данных с настройками
В ORBISmap3 доступен расширенный по функционалу импорт файлов в приложение.
При нажатии на кнопку открывается выпадающее меню, в котором доступен пункт . При выборе данного варианта открывается окно файлового проводника пользователя для выбора необходимого файла.
После загрузки файла в систему в окне «Менеджер импорта данных» отображается информационное окно для указания параметров импортирования файла.
Доступно указание следующих параметров "умного" импорта файлов:
- Код слоя – неиспользованное ранее в данной карте значение кода гарантирует создание нового слоя, задание уже существующего кода связывает задачу импорта с указанной сущностью, при отсутствии значения кода приложение само определяет его по метаданным файла;
-
Режим слоя – задает назначение импорта:
- "---" – режим по умолчанию пытается создать новый слой с уникальным кодом, иначе предлагает перейти к процедуре разрешения конфликтов;
- Новый – принудительно создает новый слой в системе;
- Существующий или новый – при совпадении кода сущностей изменяет данные первоначальной таблицы, иначе добавляет новую таблицу в карту.
-
Режим данных – указывает на способ изменения данных текущих таблиц:
- "---" – режим по умолчанию обновляет данные объектов;
- Обновление данных – обновление информации по объектам;
- Замена данных – удаление всех объектов из таблицы и создание новых по данным из файла импорта.
-
Прямой импорт – содержит варианты Применить и Не применять. Прямой импорт характеризуется процессом получения данных из файла и последующим размещением их в целевой таблице, без создания временной сущности-таблицы. Применение прямого импорта принудительно активирует построчный режим импорта. По умолчанию задается непрямой импорт;
- Построчный импорт – содержит варианты Применить и Не применять. При построчном импорте запускается независимая обработка каждого объекта в отдельности, таким образом при нарушениях конкретный объект пропускается и далее обрабатывается следующий. По умолчанию выполняется непострочный импорт (пакетная вставка).
- Проекция вход – переданная проекция из файла импорта, допускается переопределение проекции входных данных;
- SRID выход – идентификатор целевой проекции, по умолчанию в качестве целевой проекции указывается проекция карты импорта.
Разрешение конфликтов импорта
При выполнении созданной задачи импорта приложение пытается исполнить сценарий по умолчанию — создать в системе новый слой по указанному в метаданных файла коду, который не должен конфликтовать с существующими сущностями в системе. Если нашлось совпадение по коду, то при выполнении задачи импорта возникают конфликты, требующие вмешательства пользователя.
При возникновении конфликта отображается вызвавший проблему код уже существующей таблицы. Пользователю предлагается выбрать один из следующих вариантов разрешения:
- Заменить – данный вариант предполагает удаление текущих данных в таблице и создание новых объектов согласно информации из файла импорта. В таком случае отсутствие объектов в файле импорта гарантирует их последующее удаление в системе;
- Обновить – происходит обновление информации по объектам. Этот путь разрешения конфликта позволяет добавлять новые объекты в таблицу при их указании в файле, но не удаляет из системы отсутствующие в файле сущности;
- Изменить код – при указании нового значения кода и нажатии на данную кнопку происходит перепривязка к другой сущности. Если был указан совершенно новый код, то в результате импорта в карте создается новый слой, в ином случае система предложит решить конфликт с таблицей указанного кода;
- Отмена – прекращает выполнение задачи импорта.
Помимо появления конфликта при совпадении кодов существующей и импортируемой таблицы возможно появление ошибки пакетной вставки. Данная ошибка возникает в случае нарушения ограничений структуры таблицы: в колонку с уникальными значениями передан дубликат, отсутствует значение в обязательной колонке и тд.
В таком случае пользователю будет предложено повторить выполнение задачи импорта (допускается предварительное изменение характеристик целевой таблицы) или перейти в режим построчного импорта.
При повторном запуске пакетная вставка запускается заново без права последующего возникновения конфликта.
При построчном импорте происходит последовательная обработка данных, от одного объекта к другому. При таком варианте импорта допускается нарушение ограничений в импортируемом файле, строки (объекты) с некорректными данными пропускаются и не обрабатываются, процесс загрузки данных переходит к следущему объекту.
Экспорт данных
При выборе в контекстном меню таблицы, виртуальной таблицы или растрового слоя пункта открывается соответствующее окно, в котором отображаются:
- Проекция – код проекционной системы, в которой будут экспортироваться данные;
- Архив – при включении экспортированные данные будут собраны в архив
.zip
; - Формат экспорта – набор функциональных элементов с названиями доступных для экспорта форматов;
- Задачи экспорта – список экспортированных данных с указанием формата.
Загрузка экспортируемых данных начинается при выборе формата экспорта и нажатии на соответствующий элемент.
Список задач экспорта позволяет скачать с сервера ранее созданный файл с экспортированными данными в заданном формате.
Поддерживаемые типы данных
Типы данных для экспорта
Поддерживается экспорт следующих расширений файлов, содержащих векторные данные:
- GeoJSON – (
.geojson
); - ESRI Shapefile – (
.zip
); - ESRI Geodatabase – (
.zip
); - GeoPackage – (
.gpkg
); - Google – (
.kml
); - Google – (
.kmz
); - MapInfo MIF – (
.zip
); - MapInfo TAB – (
.zip
); - Excel – (
.xslx
); - CSV – (
.csv
).
CSV
доступен экспорт только атрибутов. Для формата Excel
допускается экспорт геометрической колонки только типа POINT
.
Для растровых слоев поддерживается экспорт в формате GeoTIFF(.tiff
).
Excel
экспортируются также данные исходных таблиц со справочными значениями.
Типы данных для импорта
Для импорта поддерживаются следующие расширения файлов, содержащих векторные данные:
- GeoJSON – (
.json
,.geojson
); - ESRI Shapefile – (
.shp
); - ESRI Geodatabase – (
.gdb
); - GeoPackage – (
.gpkg
); - Google – (
.kml
,.kmz
); - MapInfo – (
.mif
/.mid
,.tab
); - Microsoft Excel – (
.xslx
); - CSV – (
.csv
).
Для импорта поддерживаются следующие расширения файлов, содержащих растровые данные:
- TIFF – Tagged Image File (
.tiff
,.tif
,.geotiff
,.geotif
); - JPEG – Joint Photographic Experts Group (
.jp2
); - MTD_MSIL2A – оригинальная поставка спутниковых снимков Sentinel-2.
Содержание архива спутниковых снимков Sentinel-2 при импорте должно иметь определенную структуру. Описание структуры представлено на SentiWiki в разделе «Форматы данных» (Data Formats).