@mapgis/webclient-common
Version:
mapgis ES6 format for igserver
2,470 lines (968 loc) • 36.6 kB
HTML
<header id="page-title" class="page-title">
<span class="page-title-main">类名</span>
<span class="page-title-sub">IGSSceneLayer</span>
</header>
<section>
<article>
<div class="container-overview">
<div class='vertical-section'>
<div class="members">
<div class="member">
<h4 class="name" id="IGSSceneLayer">
<a class="href-link" href="#IGSSceneLayer">#</a>
<span class="code-name" id="IGSSceneLayer" style="font-size:30px">
new IGSSceneLayer<span class="signature">(options)</span>
</span>
</h4>
<div class="description">
<p>场景图层</p>
</div>
<h4>参数</h4>
<div class="table-container">
<table class="params table">
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th style="min-width: 100px;">默认值</th>
<th class="last">描述</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name"><code>options</code></td>
<td class="type">
<span class="param-type">
Object
</span>
</td>
<td class="default">
</td>
<td class="description last"><p>构造参数。图层类型为地形时,不支持设置options.opacity图层透明度属性。</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>url</code></td>
<td class="type">
<span class="param-type">
String
</span>
</td>
<td class="default">
</td>
<td class="description last"><p>服务基地址,支持IGS1.0和IGS2.0的场景服务<br/>
场景服务基地址格式(IGS1.0):http://{ip}:{port}/igs/rest/g3d/{服务名}<br/>
场景服务基地址格式(IGS2.0):http://{ip}:{port}/igs/rest/services/{服务名}/SceneServer</p></td>
</tr>
<tr class="deep-level-1">
<td class="name"><code>scenes</code></td>
<td class="type">
<span class="param-type">
Array.<<a onclick="getTypeHTML(event)" link="Scene.html">Scene</a>>
</span>
</td>
<td class="default">
[]
</td>
<td class="description last"><p>场景集合,一个场景图层可以有多个场景,一个场景可以有多个子图层</p></td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
</dl>
<p class="summary"><h5>支持如下方法:</h5>
<a href='#load'>[1、加载图层资源]</a><br/>
<a href='#fromJSON'>[2、通过传入的json构造并返回一个新的图层对象]</a><br/>
<a href='#toJSON'>[3、导出为json对象]</a><br/>
<a href='#clone'>[4、克隆图层对象]</a><br/></p>
<h5>示例</h5>
<p class="code-caption"><h7 id='IGSSceneLayer'>初始化场景图层</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSSceneLayer } = zondy.layer
// ES6引入方式
import { IGSSceneLayer } from "@mapgis/webclient-common"
const layer = new IGSSceneLayer({
// 服务基地址
url: '服务基地址'
// 设置场景初始化参数
scenes: [{
// 设置子图层初始化参数
sublayers: [{
// 子图层id
id: 'id',
// 子图层初始化参数
extensionOptions: {
// 开启自动跳转
autoReset: true
}
}]
}]
});</code></pre>
<p class="code-caption"><h7 id='UniqueValueRenderer'>单值专题图</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSSceneLayer } = zondy.layer
const { UniqueValueRenderer } = zondy.renderer
const { SimpleFillSymbol,SimpleLineSymbol } = zondy.symbol
const { Color } = zondy
// ES6引入方式
import { IGSSceneLayer,UniqueValueRenderer,SimpleFillSymbol,SimpleLineSymbol,Color } from "@mapgis/webclient-common"
// 构造单值渲染器
const renderer = new UniqueValueRenderer({
// 专题图过滤字段名
field: "字段名",
// 单值专题图过滤条件数组
uniqueValueInfos: [
{
// 指定字段值
value: '过滤字段值1',
// 匹配到该值后的样式
// M3D专题图仅支持SimpleFillSymbol符号
symbol: new SimpleFillSymbol({
// 填充颜色
color: new Color(255, 0, 0)
})
},
{
// 指定字段值
value: '过滤字段值2',
// 匹配到该值后的样式
// M3D专题图仅支持SimpleFillSymbol符号
symbol: new SimpleFillSymbol({
// 填充颜色
color: 'rgb(255, 123, 220)'
})
}
]
})
// 构造场景图层
const layer = new IGSSceneLayer({
// 服务基地址
url: '服务基地址',
// 设置场景初始化参数
scenes: [{
// 设置子图层初始化参数
sublayers: [{
// 子图层id
id: 'id',
// 设置专题图渲染器
renderer: renderer,
// 子图层初始化参数
extensionOptions: {
// 开启自动跳转
autoReset: true
}
}]
}]
});</code></pre>
<p class="code-caption"><h7 id='ClassBreakRenderer'>分段专题图</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSSceneLayer } = zondy.layer
const { ClassBreakRenderer } = zondy.renderer
const { SimpleFillSymbol } = zondy.symbol
const { Color } = zondy
// ES6引入方式
import { IGSSceneLayer,ClassBreakRenderer,SimpleFillSymbol,Color } from "@mapgis/webclient-common"
// 构造分段渲染器
const renderer = new ClassBreakRenderer({
// 专题图过滤字段名
field: "字段名",
// 分段专题图过滤条件数组
classBreakInfos: [
{
// 最小过滤范围,field对应的值大于等于minValue
minValue: 0,
// 最大过滤范围,field对应的值小于maxValue
maxValue: 2,
// 匹配到该值后的样式
// M3D专题图仅支持SimpleFillSymbol符号
symbol: new SimpleFillSymbol({
// 填充颜色
color: new Color(255, 0, 0)
})
},
{
// 最小过滤范围,field对应的值大于等于minValue
minValue: 3,
// 最大过滤范围,field对应的值小于maxValue
maxValue: 5,
// 匹配到该值后的样式
// M3D专题图仅支持SimpleFillSymbol符号
symbol: new SimpleFillSymbol({
// 填充颜色
color: 'rgb(255, 123, 220)'
})
}
]
})
// 构造场景图层
const layer = new IGSSceneLayer({
// 服务基地址
url: '服务基地址',
// 设置场景初始化参数
scenes: [{
// 设置子图层初始化参数
sublayers: [{
// 子图层id
id: 'id',
// 设置专题图渲染器
renderer: renderer,
// 子图层初始化参数
extensionOptions: {
// 开启自动跳转
autoReset: true
}
}]
}]
});</code></pre>
<p class="code-caption"><h7 id='UniqueValueRenderer-Cesium'>单值专题图-Cesium原生方式</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSSceneLayer } = zondy.layer
// ES6引入方式
import { IGSSceneLayer } from "@mapgis/webclient-common"
// 构造Cesium原生渲染器
const renderer = {
// 专题图过滤字段名
field: "字段名",
// 专题图类型-分段
type: "class-breaks",
// 分段专题图过滤条件数组
classBreakInfos: [{
// 最小过滤范围,field对应的值大于等于minValue
minValue: 1,
// 最大过滤范围,field对应的值小于maxValue
maxValue: 7,
// 渲染符号
symbol: {
// 渲染类型为M3D
type: 'mesh-3d',
// 覆盖物图层
symbolLayers: [{
// 图层类型-颜色填充
type: "fill",
// 图层材质
material: {
// 填充颜色
color: Cesium.Color.ANTIQUEWHITE
}
}]
}
}]
}
// 构造场景图层
const layer = new IGSSceneLayer({
// 服务基地址
url: '服务基地址',
// 设置场景初始化参数
scenes: [{
// 设置子图层初始化参数
sublayers: [{
// 子图层id
id: 'id',
// 子图层初始化参数
extensionOptions: {
// 开启自动跳转
autoReset: true,
// 设置专题图渲染器
renderer: renderer
}
}]
}]
});</code></pre>
<p class="code-caption"><h7 id='ClassBreakRenderer-Cesium'>分段专题图-Cesium原生方式</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { IGSSceneLayer } = zondy.layer
// ES6引入方式
import { IGSSceneLayer } from "@mapgis/webclient-common"
// 构造Cesium原生渲染器
const renderer = {
// 专题图过滤字段名
field: "字段名",
// 专题图类型-单值
type: "unique-value",
// 单值专题图过滤条件数组
uniqueValueInfos: [
// 指定字段值
value: '过滤字段值',
// 渲染符号
symbol: {
// 渲染类型为M3D
type: 'mesh-3d',
// 覆盖物图层
symbolLayers: [{
// 图层类型-颜色填充
type: "fill",
// 图层材质
material: {
// 填充颜色
color: new Cesium.Color(0.0, 0.0, 1.0, 0.5)
}
}]
}
]
};
// 构造场景图层
const layer = new IGSSceneLayer({
// 服务基地址
url: '服务基地址',
// 设置场景初始化参数
scenes: [{
// 设置子图层初始化参数
sublayers: [{
// 子图层id
id: 'id',
// 子图层初始化参数
extensionOptions: {
// 开启自动跳转
autoReset: true,
// 设置专题图渲染器
renderer: renderer
}
}]
}]
});</code></pre>
</div>
</div>
</div>
</div>
<h3 class="subsection-title">继承关系</h3>
<ul>
<li><a link="SceneLayer.html" onclick="getTypeHTML(event)" href="SceneLayer.html">SceneLayer</a></li>
</ul>
<div class='vertical-section'>
<h3 id='member'>成员变量</h3>
<h4 style="margin-top: 20px;margin-bottom: 20px;">成员变量概述</h4>
<div class="table-container">
<table class="params table">
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name"><code><a href="#allSublayers">allSublayers</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="Collection.html" onclick="getTypeHTML(event)" href="Collection.html">Collection</a>
</span>
</code>
</td>
<td class="name"><code><p>所有子图层对象</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#boundingSphere">boundingSphere</a></code></td>
<td class="name">
<code>
<span class="param-type">
Object
</span>
</code>
</td>
<td class="name"><code><p>模型外包球</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#boundingVolume">boundingVolume</a></code></td>
<td class="name">
<code>
<span class="param-type">
Object
</span>
</code>
</td>
<td class="name"><code><p>模型外包盒</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#description">description</a></code></td>
<td class="name">
<code>
<span class="param-type">
String
</span>
</code>
</td>
<td class="name"><code><p>描述信息</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#fieldInfo">fieldInfo</a></code></td>
<td class="name">
<code>
<span class="param-type">
String
</span>
</code>
</td>
<td class="name"><code><p>服务包含的表字段数组</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#position">position</a></code></td>
<td class="name">
<code>
<span class="param-type">
Object
</span>
</code>
</td>
<td class="name"><code><p>模型位置</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#sceneIndex">sceneIndex</a></code></td>
<td class="name">
<code>
<span class="param-type">
String
</span>
</code>
</td>
<td class="name"><code><p>场景id</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#sceneName">sceneName</a></code></td>
<td class="name">
<code>
<span class="param-type">
String
</span>
</code>
</td>
<td class="name"><code><p>服务名</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#scenes">scenes</a></code></td>
<td class="name">
<code>
<span class="param-type">
Array.<<a onclick="getTypeHTML(event)" link="Scene.html">Scene</a>>
</span>
</code>
</td>
<td class="name"><code><p>场景集合</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#spatialReference">spatialReference</a></code></td>
<td class="name">
<code>
<span class="param-type">
Object
</span>
</code>
</td>
<td class="name"><code><p>模型坐标系</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#tokenKey">tokenKey</a></code></td>
<td class="name">
<code>
<span class="param-type">
String
</span>
</code>
</td>
<td class="name"><code><p>token名</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#tokenValue">tokenValue</a></code></td>
<td class="name">
<code>
<span class="param-type">
String
</span>
</code>
</td>
<td class="name"><code><p>token值</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#type">type</a></code></td>
<td class="name">
<code>
<span class="param-type">
String
</span>
</code>
</td>
<td class="name"><code><p>图层类型</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#url">url</a></code></td>
<td class="name">
<code>
<span class="param-type">
String
</span>
</code>
</td>
<td class="name"><code><p>服务基地址</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#version">version</a></code></td>
<td class="name">
<code>
<span class="param-type">
String
</span>
</code>
</td>
<td class="name"><code><p>服务版本号</p></code></td>
</tr>
</tbody>
</table>
</div>
<h4 style="margin-top: 20px;margin-bottom: 20px;">成员变量详情</h4>
<div class="members">
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
<a link="Collection.html" onclick="getTypeHTML(event)" href="Collection.html">Collection</a>
</span>
</span>
<h4 class="name" id="allSublayers">
<a class="href-link" href="#allSublayers">#</a>
<span class='tag'>readonly</span>
<span class="code-name">
allSublayers
</span>
</h4>
<div class="description">
<p>所有子图层对象</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
Object
</span>
</span>
<h4 class="name" id="boundingSphere">
<a class="href-link" href="#boundingSphere">#</a>
<span class='tag'>readonly</span>
<span class="code-name">
boundingSphere
</span>
</h4>
<div class="description">
<p>模型外包球</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
Object
</span>
</span>
<h4 class="name" id="boundingVolume">
<a class="href-link" href="#boundingVolume">#</a>
<span class="code-name">
boundingVolume
</span>
</h4>
<div class="description">
<p>模型外包盒</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
String
</span>
</span>
<h4 class="name" id="description">
<a class="href-link" href="#description">#</a>
<span class="code-name">
description
</span>
</h4>
<div class="description">
<p>描述信息</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
String
</span>
</span>
<h4 class="name" id="fieldInfo">
<a class="href-link" href="#fieldInfo">#</a>
<span class="code-name">
fieldInfo
</span>
</h4>
<div class="description">
<p>服务包含的表字段数组</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
Object
</span>
</span>
<h4 class="name" id="position">
<a class="href-link" href="#position">#</a>
<span class="code-name">
position
</span>
</h4>
<div class="description">
<p>模型位置</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
String
</span>
</span>
<h4 class="name" id="sceneIndex">
<a class="href-link" href="#sceneIndex">#</a>
<span class="code-name">
sceneIndex
</span>
</h4>
<div class="description">
<p>场景id</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
String
</span>
</span>
<h4 class="name" id="sceneName">
<a class="href-link" href="#sceneName">#</a>
<span class="code-name">
sceneName
</span>
</h4>
<div class="description">
<p>服务名</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
Array.<<a onclick="getTypeHTML(event)" link="Scene.html">Scene</a>>
</span>
</span>
<h4 class="name" id="scenes">
<a class="href-link" href="#scenes">#</a>
<span class="code-name">
scenes
</span>
</h4>
<div class="description">
<p>场景集合</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
Object
</span>
</span>
<h4 class="name" id="spatialReference">
<a class="href-link" href="#spatialReference">#</a>
<span class="code-name">
spatialReference
</span>
</h4>
<div class="description">
<p>模型坐标系</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
String
</span>
</span>
<h4 class="name" id="tokenKey">
<a class="href-link" href="#tokenKey">#</a>
<span class="code-name">
tokenKey
</span>
</h4>
<div class="description">
<p>token名</p>
</div>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a goto="tokenKey" link="SceneLayer.html" onclick="getTypeHTML(event)" href="SceneLayer.html#tokenKey">SceneLayer#tokenKey</a>
</li></ul></dd>
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
String
</span>
</span>
<h4 class="name" id="tokenValue">
<a class="href-link" href="#tokenValue">#</a>
<span class="code-name">
tokenValue
</span>
</h4>
<div class="description">
<p>token值</p>
</div>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a goto="tokenValue" link="SceneLayer.html" onclick="getTypeHTML(event)" href="SceneLayer.html#tokenValue">SceneLayer#tokenValue</a>
</li></ul></dd>
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
String
</span>
</span>
<h4 class="name" id="type">
<a class="href-link" href="#type">#</a>
<span class="code-name">
type
</span>
</h4>
<div class="description">
<p>图层类型</p>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
String
</span>
</span>
<h4 class="name" id="url">
<a class="href-link" href="#url">#</a>
<span class="code-name">
url
</span>
</h4>
<div class="description">
<p>服务基地址</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a href="SceneLayer.html#url">SceneLayer#url</a>
</li></ul></dd>
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">
String
</span>
</span>
<h4 class="name" id="version">
<a class="href-link" href="#version">#</a>
<span class="code-name">
version
</span>
</h4>
<div class="description">
<p>服务版本号</p>
</div>
<dl class="details">
</dl>
</div>
</div>
</div>
<div class='vertical-section'>
<h3 id='function'>方法</h3>
<h4 style="margin-top: 20px;margin-bottom: 20px;">方法概述</h4>
<div class="members">
<div class="table-container">
<table class="params table">
<thead>
<tr>
<th>名称</th>
<th>返回值类型</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name"><code><a href="#fromJSON">fromJSON</a></code></td>
<td class="name">
<code>
</code>
</td>
<td class="name"><code></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#clone">clone</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="IGSSceneLayer.html" onclick="getTypeHTML(event)" href="IGSSceneLayer.html">IGSSceneLayer</a>
</span>
</code>
</td>
<td class="name"><code></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#toJSON">toJSON</a></code></td>
<td class="name">
<code>
<span class="param-type">
Object
</span>
</code>
</td>
<td class="name"><code></code></td>
</tr>
</tbody>
</table>
</div>
<h4 style="margin-top: 20px;margin-bottom: 20px;">方法详情</h4>
<div class="member">
<h4 class="name" id=".fromJSON">
<a class="href-link" href="#.fromJSON">#</a>
<span class='tag'>static</span>
<span class="code-name" id="fromJSON" style="font-size:30px">
fromJSON<span class="signature">(json)</span>
</span>
</h4>
<div class="description">
<a id='fromJSON'/>
通过json构造并返回图层对象
</div>
<h4>参数</h4>
<div class="table-container">
<table class="params table">
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th class="last">描述</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name"><code>json</code></td>
<td class="type">
<span class="param-type">
Object
</span>
</td>
<td class="description last"><p>json对象</p></td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
</dl>
</div>
<div class="member">
<h4 class="name" id="clone">
<a class="href-link" href="#clone">#</a>
<span class="code-name" id="clone" style="font-size:30px">
clone<span class="signature">()</span>
</span>
</h4>
<div class="description">
<a id='clone'/>
克隆图层对象
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a href="SceneLayer.html#clone">SceneLayer#clone</a>
</li></ul></dd>
</dl>
<div class='columns method-parameter'>
<div class="column is-2"><label>返回值</label></div>
<div class="column is-10">
<div class="columns">
<div class='param-desc column is-7'><p>克隆后的图层对象</p></div>
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type">
<a link="IGSSceneLayer.html" onclick="getTypeHTML(event)" href="IGSSceneLayer.html">IGSSceneLayer</a>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="member">
<h4 class="name" id="toJSON">
<a class="href-link" href="#toJSON">#</a>
<span class="code-name" id="toJSON" style="font-size:30px">
toJSON<span class="signature">()</span>
</span>
</h4>
<div class="description">
<a id='toJSON'/>
将图层转为json对象
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a href="SceneLayer.html#toJSON">SceneLayer#toJSON</a>
</li></ul></dd>
</dl>
<div class='columns method-parameter'>
<div class="column is-2"><label>返回值</label></div>
<div class="column is-10">
<div class="columns">
<div class='param-desc column is-7'><p>json对象</p></div>
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type">
Object
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</article>
</section>