Утилита конвертации 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-файлов в папке. И последним этапом является нажатие кнопочки «Да».