Описание тэгов Collada для точки привязки и масштабного уровня модели

Печать Предыдущая страница Стартовая страница Следующая страница

Точка привязки модели

 

Вариант 1. Модель должна быть построена и привязана в системе координат EPSG 3857. Тогда применимо обозначение точки привязки модели тегами формата Collada версии 1.5 <geographic_location> со следующими дочерними элементами:

<longitude> - содержит число с плавающей точкой, которое определяет долготу точки привязки в геодезических координатах в градусах. Допустимые значения: от -180,0 до 180,0;

<latitude> - содержит число с плавающей точкой, которое определяет широту точки привязки в геодезических координатах в градусах. Допустимые значения: от -90,0 до 90,0;

<altitude mode=" "> - опеределяет режим задания высоты в модели:

  absolute - у всех точек модели задана абсолютная высота,

  relativeToGround - у всех точек модели высота задана относительно местности  (идет, как режим по умолчанию).

Это стандартный и наиболее удобный вариант. Модель и ее привязка становятся читаемыми для любых программных продуктов, которые работают с Collada версии 1.5 и выше.

 

Соответственно, в файле будет:

 

 

<asset>

...

  <created>2019-01-24T11:38:25Z</created>

  <modified>2019-01-24T11:38:25Z</modified>

  <up_axis>Z_UP</up_axis>

  <coverage>

     <geographic_location>

       <longitude>-105.2830</longitude>

       <latitude>40.0170</latitude>

       <altitude mode="relativeToGround">0</altitude>

     </geographic_location>

  </coverage>

</asset>

 

<!---->

 

Вариант 2. Применим, если модель и ее привязка сделаны в системе координат, отличной от WGS 84. В заголовок файла модели в формате Collada необходимо добавить теги <extra>:

name = "EPSG" - задается код EPSG системы координат модели;

name = "unit" - задаются единицы измерения для точки привязки модели (высота всегда в метрах): "meter" - метры, "grad" - градусы;

name = "origin" - задается точка привязки модели в заданной системе координат в заданных единицах: X Y H или B L H. Высота всегда задается в метрах;

name = "height mode" - определяет режим задания высоты у точек модели:

  absolute - у всех точек модели задана абсолютная высота,

  relative - у всех точек модели высота задана относительно точки привязки  (идет, как режим по умолчанию).

 

Это будет выглядеть так:

 

<extra name="EPSG" type="32636"/>

<extra name="unit" type="meter"/>

<extra name="height mode" type=" relative"/>

<extra name="origin">123456.123456 7654321.765432 123.123456</extra>

 

Соответственно, в файле будет:

 

<?xml version="1.0" encoding="utf-8"?>

<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">

<asset>

  <contributor>

    <authoring_tool>ModelMaker</authoring_tool>

  </contributor>

  <created>2019-01-24T11:38:25Z</created>

  <modified>2019-01-24T11:38:25Z</modified>

  <up_axis>Z_UP</up_axis>

  <extra name="EPSG" type="32636"/>

  <extra name="unit" type="meter"/>

  <extra name="height mode" type=" relative"/>

  <extra name="origin">123456.123456 7654321.765432 123.123456</extra>

</asset>

 

<!---->

 

</COLLADA>  

 

 

Масштабный уровень модели

 

В модели надо передавать номер масштабного уровня, для которого она сделана. Соответственно, надо будет ввести еще один тег <extra> в заголовке:

 

name = " LEVELSCALE " - задается номер масштабного уровня в пирамиде тайлов, для которого сделана модель.

 

Например,

  <extra name="LEVELSCALE" type="20"/>

 

Соответственно, в файле будет:

 

<?xml version="1.0" encoding="utf-8"?>

<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">

<asset>

  <contributor>

    <authoring_tool>ModelMaker</authoring_tool>

  </contributor>

  <created>2019-01-24T11:38:25Z</created>

  <modified>2019-01-24T11:38:25Z</modified>

  <up_axis>Z_UP</up_axis>

  <extra name="LEVELSCALE" type="20"/>

  <extra name="EPSG" type="32636"/>

  <extra name="unit" type="meter"/>

  <extra name="height mode" type=" relative"/>

  <extra name="origin">123456.123456 7654321.765432 123.123456</extra>

</asset>

 

<!---->

 

</COLLADA>  

 

<!---->

 

</COLLADA>