Утилита конвертации GeoJSON в MET-формат (Панорама)
Описание формата MET-файла
Правила формирования текстового файла с координатами создаваемых объектов типа MET: Файл типа MET должен иметь расширение .met, в первой строке файла должно присутствовать служебное поле MET.
Координаты в файле типа XYH могут быть представлены в метрах (на местности), или геодезических координатах (радианы, градусы, градусы – минуты – секунды). Координаты (в метрах) могут быть представлены в правой (X Y) или левой (Y X) системе координат. В файле типа MET может быть описан список координат создаваемых линейных, площадных, точечных (одна точка), векторных (две точки) объектов или объектов – подписей (две точки), а также линейных и площадных объектов – окружностей (одна точка – центр окружности, радиус задается в метрах в строке с полем #CIRCLE, напр. #CIRCLE 2500.5). Описание создаваемых объектов должно начинаться со строки, содержащей поле BEGIN и заканчиваться строкой, содержащей поле END. Описание каждого создаваемого объекта должно начинаться со строки, содержащей символ #.
После строки, содержащей символ #, следуют непосредственно строки, содержащие описание координат точек создаваемых объектов.
После строки, содержащей символ #, может быть записано произвольное количество строк, содержащих поле SEM (семантика создаваемого объекта) и одна строка, содержащая поле TEXT (при создании объектов - подписей). В файле допускается наличие пустых строк и строк-комментариев, начинающихся с символа /. При задании координат в виде чисел с целой и дробной частью допускается использование в качестве разделителя символов «.» или «,» .
В файле могут присутствовать служебные поля:
MET метка начала файла (обязательное поле);
BEGIN метка начала информации (обязательное поле);
# метка начала нового объекта (обязательное поле);
$ метка начала нового подобъекта
END метка конца информации (обязательное поле);
XY Прямоугольные координаты в м. (по умолчанию);
RAD Радианы;
GRAD Градусы (доли градуса);
GMS градусы, минуты, секунды;
WGS84 геодезические координаты представлены в системе WGS84
H Признак трехмерной метрики (после символа #, напр. #H);
R Признак развернутой метрики (Y,X) (после символа #, напр. #R, допускается #RH или #HR);
CIRCLE Создается объект – окружность (после символа #, не допускается совместно с полями H и R, формат #CIRCLE radius, где radius – радиус окружности в м.);
ELLIPSE Создается объект – эллипс (после символа #, не допускается совместно с полями H и R, формат #CIRCLE radius1 radius2 Angle, где radius1 – большой радиус в м.,radius2 – малый радиус в м., Angle – дирекционный угол наклона большой полуоси эллипса в град.);
QUADRO Создается объект – квадрат (после символа #, не допускается совместно с полями H и R, формат # QUADRO radius Angle, где radius – длина стороны в м., Angle – дирекционный угол наклона в град.); Angle- параметр необязательный, при отсутствии принимает значение 0.
ARC Создаётся объект - дуга. Формат строки в текстовом файле следующий:
#ARC
x1 y1 x2 y2 x3 y3
x2 y2 - координаты центра дуги. Точки X1 Y1 и X3 Y3 задают направление построения дуги вверх по часовой стрелке. Для нанесения дуги вниз по часовой стрелке надо поменять местами точки:
#ARC
x3 y3 x2 y2 x1 y1
SEM Семантика объекта (формат SEM code value, где code – код характеристики, value – значение характеристики);
/ строка – комментарий;
TEXT Создается объект – подпись (формат TEXT value, где value – собственно текст подписи).
Служебные поля должны начинаться с первой позиции строки. Метки MET, BEGIN, END являются обязательными ключевыми полями, описание объектов разделено символом #. По умолчанию (или после появления служебного поля XY) объекты создаются в прямоугольной системе координат (после служебного поля # следуют строки, содержащие пары координат точек объекта в м.). После появления служебного поля RAD объекты создаются в геодезической системе координат (после служебного поля # следуют строки, содержащие пары координат точек объекта (B,L) в радианах). После появления служебного поля GRAD объекты создаются в геодезической системе координат (после служебного поля # следуют строки, содержащие пары координат точек объекта (B,L) в долях градуса), например:
# 57.123654 345.576543 58.123654 344.576543
Широта может изменяться от 0 до 90 (северной) и от 0 до -90 (южной). Долгота может изменяться от 0 до 360 градусов (или от 0 до 180 и –180). После появления служебного поля GMS объекты создаются в геодезической системе координат (после служебного поля # следуют строки, содержащие пары координат точек объекта (B,L) в градусах, минутах и секундах), например:
# 7 20 37.123 345 57 54.322 -5 20 37.123 345 57 54.322
Широта может изменяться от 0 до 90 (северной) и от 0 до -90 (южной). Долгота может изменяться от 0 до 360 градусов (или от 0 до 180 и –180). В одном текстовом файле может содержаться информация об объектах в разных системах координат. При создании объекта по прямоугольным координатам необходимо следить за тем, чтобы создаваемые объекты были описаны в той же системе координат (и в той же зоне для топографических карт), что и карта, на которую они наносятся.
По геодезическим координатам можно нанести объект на карту только в том случае, если она создана в проекции, поддерживающей взаимный пересчет между геодезическими и прямоугольными координатами. Это можно проверить, если попытаться изменить текущую систему координат на геодезическую (через пункт меню Параметры). Если у Вас это получилось - смело создавайте объекты по геодезическим координатам.
По описанию в текстовом файле создаются, однотипные объекты. Если у Вас есть необходимость в нанесении на карту по координатам объектов разного типа, рекомендуется разнести их описание по разным текстовым файлам.
Наличие символов #H (вместо #) означает, что координаты объекта записаны в виде трехмерной метрики (X, Y, H).
Наличие символов #R (вместо #) означает, что координаты объекта записаны в повернутой системе координат (Y, X).
С помощью поля SEM можно задать семантику создаваемого объекта. Формат: [SEM code value], где code – код семантики, value – значение семантики. Одним полем SEM можно описать одну семантику. Для описания нескольких семантик следует для объекта указать несколько полей SEM.
Пример текстового файла:
MET
BEGIN
// Создаем точечные объекты в радианах
RAD
#
0.97065938 0.65882652
#
0.97058971 0.65838004
// Создаем точечный объект в градусах
GRAD
#
55.65802244 37.54409293
// Создаем точечный объект в метрах
XY
#
6171257.20 7408038.50
// Создаем точечный объект в метрах (трехмерная метрика)
#H
6171257.20 7408038.50 122.5
// Создаем точечный объект с семантикой АБСОЛЮТНАЯ ВЫСОТА
// и собственным названием
#
SEM 4 122.5
SEM 9 г. Высокая
6171257.20 7408038.50
// Создаем точечный объект с развернутой метрикой (Y, X)
#R
7408038.50 6171257.20
#
61677.20 7407298.50
// Создаем точечный объект (координаты в градусах, минутах и секундах)
GMS
#
55 39 28.88 37 32 38.73
#
55 39 18.96 37 32 20.51
// Создание дуг
#ARC
6199812.13 7457824.33 6199337.10 7458585.68 6200339.22 7458839.41
#ARC
6199252.51 7460759.09 6198764.47 7459789.52 6199545.34 7459919.66
END
Непосредственное нанесение объектов, описанных в текстовом файле, на карту производится с помощью режима Редактора карты Создание объекта (способ создания - По координатам из текстового файла).
Утилита PanoramaMetExport
Утилита PanoramaMetExport позволяет получать из json-файла с геометрией сведения и конвертировать их в формат текстового файла met.
На первом этапе необходимо выбрать папку, в которой находятся файлы формата json. После выбора папки утилита получает сведения о названиях полей атрибутивных данных из всех файлов данной папки. Далее вам необходимо в таблице соответствий внести номера семантик из классификатора карты Панорамы. Снятием галочки можно не включать то или иное поле. Хотя оставление в поле значения 0, так же приведет при создании объектов через текстовый файл в ГИС Панораму к аналогичному результату. Примечательно, что одинаковые поля с именами объединяются. Если вам сложно определится с классификатором, то можно внести значения 40001, 40002, и т.д. для необходимых полей. При таком подходе объекты в любом случае будут нанесены на карту в ГИС Панорама, только семантика (атрибутивные данные) будут с названием *. Это можно затем исправить путем редактирования классификатора данной карты в ГИС Панорама. Заметим еще одну особенность если в разных json название полей разное, а информация в них одинакового характера то им можно присвоить одинаковый номер (код семантики – синим и первая строка).
Для объединения всех json в паке в один met-файл необходимо поставить галочку «Объе±±динить все исходные поля в один файл merged.met» с соответствующим именем merged.met, если этого Вы не хотите, то галочку не ставите, тогда фалы met будут нести такие же имена, но с расширением *.met. Далее вам необходимо установить исходную систему координат в json-файлах (должна быть одна система координат в исходных файлах) и установить целевую систему координат для met–файла(ов). Принятые системы координат: 1) SphericalMercator – EPSG3857 в метрах 2) WGS84 – в градусах. Строго следите чтобы выбор исходной системы координат соответствовал системе координат json-файлов в папке. И последним этапом является нажатие кнопочки «Да».

