Утилита конвертации GeoJSON в MET-формат (Панорама)

Материал из GIS-Lab
Версия от 23:39, 26 марта 2015; Александр Мурый (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску
Эта страница является черновиком статьи.


Описание формата 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.

Jsontomet.jpg

На первом этапе необходимо выбрать папку, в которой находятся файлы формата json. После выбора папки утилита получает сведения о названиях полей атрибутивных данных из всех файлов данной папки. Далее вам необходимо в таблице соответствий внести номера семантик из классификатора карты Панорамы. Снятием галочки можно не включать то или иное поле. Хотя оставление в поле значения 0, так же приведет при создании объектов через текстовый файл в ГИС Панораму к аналогичному результату. Примечательно, что одинаковые поля с именами объединяются. Если вам сложно определится с классификатором, то можно внести значения 40001, 40002, и т.д. для необходимых полей. При таком подходе объекты в любом случае будут нанесены на карту в ГИС Панорама, только семантика (атрибутивные данные) будут с названием *. Это можно затем исправить путем редактирования классификатора данной карты в ГИС Панорама. Заметим еще одну особенность если в разных json название полей разное, а информация в них одинакового характера то им можно присвоить одинаковый номер (код семантики – синим и первая строка).


Jsontomet2.jpg

Для объединения всех json в паке в один met-файл необходимо поставить галочку «Объе±±динить все исходные поля в один файл merged.met» с соответствующим именем merged.met, если этого Вы не хотите, то галочку не ставите, тогда фалы met будут нести такие же имена, но с расширением *.met. Далее вам необходимо установить исходную систему координат в json-файлах (должна быть одна система координат в исходных файлах) и установить целевую систему координат для met–файла(ов). Принятые системы координат: 1) SphericalMercator – EPSG3857 в метрах 2) WGS84 – в градусах. Строго следите чтобы выбор исходной системы координат соответствовал системе координат json-файлов в папке. И последним этапом является нажатие кнопочки «Да».


Файл:Jsontomet files.zip