Геометрия из таблицы

Назначение

Модуль позволяет сохранять координаты узлов объектов в табличном виде, а также, наоборот, считать подготовленные таким образом данные и создать геометрические объекты Аксиомы.

Файл, который используется для импорта и экспорта информации об узлах (внешний файл), может быть стандартной таблицей Аксиомы, но вы можете использовать и другие форматы: XLSX и CSV. Инструмент позволяет сохранять структуру графических объектов и воссоздавать их из файлов, содержащих записи об узловых точках.

Модуль поддерживает два инструмента в ленте Таблица:

Создать из узлов - импорт координат из внешнего файла и создание на их основе геометрических объектов.

Сохранить как узлы - экспорт геометрий из таблицы Аксиомы во внешний файл. Инструмент может применяться к временным таблицам (выборкам и запросам).

Формат файла импорта-экспорта

Для хранения информации об узлах объектов Аксиомы, используются следующие форматы:

Процедуры импорта-экспорта поддерживают два вида представления данных об узлах:

  1. Координаты всех точек геометрии.
  2. Первая точка задается координатами. Для каждой следующей точки вносятся направление (азимут) и расстояние от предыдущей точки в метрах.

Значения координат точек могут быть представлены в одной из следующих форм:

  1. В виде десятичного числа.
  2. В виде градусов/минут/секунд. Значение представляется в формате dd°mm'ss,zz".
  3. Также в виде градусов/минут/секунд, только в качестве разделителя выступает дефис: dd-mm-ss,zz.

Направление может быть задано либо в градусах, либо в румбах.

Таблица в файле экспорта-импорта координат узлов, должна содержать следующие поля:

Наименование Тип Краткое описание Имя, создаваемое при экспорте
Номер геометрии Целый Идентификатор, по которому определяется принадлежность элементов одному геометрическом объекту id_feature
Номер части геометрии Целый Для случая, если геометрия состоит из нескольких элементов id_geometry
Номер точки Целый Порядковый номер точки в геометрии. Нужен для корректной сортировки точек d_point
Первое значение Вещественный или в виде градусов-минут-секунд В зависимости от типа представления данных содержит либо X-координату, либо расстояние до следующей точки в метрах v1
Второе значение Вещественный или в виде градусов-минут-секунд В зависимости от типа представления данных содержит либо Y-координату, либо направление до следующей точки в градусах v2

Примеры файлов с координатами узлов

Пример хранения узлов полилинии и полигона в виде координат точек:

id_feature id_geometry id_point v1 v2
0 0 0 -8194000 6039000
0 0 1 -6645000 8439000
0 0 2 -4400000 8013000
0 0 3 -2581000 6039000
0 0 4 -4052000 3561000
0 0 5 -6606000 3677000
1 0 0 2297000 2091000
1 0 1 5045000 813000
1 0 2 6477000 -2090000
1 0 3 2374000 -1974000
1 0 4 1019000 39000
1 0 5 2297000 2091000

Пример формата хранения в виде координат точек в форме градусов:

id_feature id_geometry id_point v1 v2
0 0 0 -56°10'48" 40°11'24"
0 0 1 -27°52'48" -2°49'48"
1 0 0 -6°39'0" 40°28'12"

Пример хранения узлов полилинии в форме расстояния и направления:

id_feature id_geometry id_point v1 v2
0 0 0 -8194000 6039000
0 0 1 2856466.52352167 57.1611277872651
0 0 2 2285060.39307498 349.255581274055
0 0 3 2684294.50694219 312.659924251394
0 0 4 2881722.57512759 239.305619962062
0 0 5 2556632.94197661 177.399473026951

Импорт данных

1. Откройте таблицу, из которой будут загружаться данные. Если данные хранятся в файлах XLSX или CSV, то создайте для них TAB-файл средствами Аксиомы.

2. Нажмите на кнопку Создать из узлов в ленте Таблица.

Откроется диалоговое окно с режимами импорта узлов.

3. Выберите таблицу из списка Таблица.

(Таблица, из которой будут загружаться данные, должна быть предварительно открыта.)

Поля в этой таблице должны содержать информацию об узловых точках и (см. выше раздел "Формат файла импорта-экспорта").

4. В списке Тип данных выберите форму представления данных:

5. Выберите в списках Номер... поля из таблицы импорта, описывающие последовательность узловых точек, чтобы при импорте воспроизводились исходный состав и форма объектов.

Значения в этих списках могут быть пустыми (в списке для этого нужно выбрать пустое поле).

Если не задано значение Номер геометрии, то Аксиома использует вместо него номер записи в таблице.

Если не задано значение Номер части геометрии, то при импорте теряется информация о том, какие объекты составлены из нескольких элементов.

Если не задано значение Номер точки, то при импорте Аксиома не может корректно создать форму объекта.

Таким образом, пустые значения в списках Номер... допустимы в простых случаях, например, если вы импортируете информацию о точечных объектах.

6. Выберите колонки с X- и Y-координатами в одноименных списках. Информация в этих колонках в исходном файле должна соответствовать правилам, описанным выше в разделе "Формат файла импорта-экспорта".

7. Если исходные данные были заданы в определенной системе координат, то выберите эту систему в одноименном списке.

8. В процессе создания объектов при импорте образуются как замкнутые, так и незамкнутые полилинии. При этом может случиться так, что координаты первого и последнего узла некой незамкнутой полилинии совпадут и внешне она не будет отличаться от замкнутой, хотя в последней будет на один узел меньше. Сочетания флажков Создавать полигоны для замкнутых линий и Замыкать линии при дублировании первой точки позволяют выбрать один из вариантов создаваемых в этом случае объектов:

9. Выберите, в какое окно поместить результат импорта:

Кнопка Закрыть отменяет импорт и закрывает диалог.

Экспорт данных

1. Нажмите кнопку Сохранить как узлы в ленте Таблица.

2. В диалоге Сохранение данных выберите таблицу из списка открытых в Аксиоме таблиц и запросов.
Если в окне карты есть выборка, то можно ее экспортировать, выбрав в списке таблиц Выборка.

3. Выберите форму представления данных (координаты или координаты-азимут-расстояние) в списке Тип данных.

4. Выберите форму представления координат (десятичным числом или градусами) в списке Формат координат.

5. Нажмите OK.

6. Откроется диалог сохранения файла. Задайте в нем файла и его тип (TAB, XLSX или CSV).

7. Нажмите OK.

В результате создается файл с структурой, описанной выше в раздел "Формат файла импорта-экспорта".