@mapgis/webclient-common
Version:
mapgis ES6 format for igserver
2,889 lines (1,094 loc) • 86.9 kB
HTML
<header id="page-title" class="page-title">
<span class="page-title-main">类名</span>
<span class="page-title-sub">Polygon</span>
</header>
<section>
<article>
<div class="container-overview">
<div class='vertical-section'>
<div class="members">
<div class="member">
<h4 class="name" id="Polygon">
<a class="href-link" href="#Polygon">#</a>
<span class="code-name" id="Polygon" style="font-size:30px">
new Polygon<span class="signature">(options)</span>
</span>
</h4>
<div class="description">
<p>区几何,由多个环(ring)构成的几何对象,仅支持带洞区和非带洞区,不支持带岛区,即三个圈重叠<br/>
多边形的第一个环(ring)即外圈,从第二个环开始为内圈,内圈可以重合、相交、自相交,但是不能超过外圈
<br><br>[ES5引入方式]:<br/>
Zondy.Geometry.Polygon() <br/>
[ES6引入方式]:<br/>
import { Polygon } from "@mapgis/webclient-common" <br/>
<br/></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" id="options"><code>options</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="default">
</td>
<td class="description last"><p>构造参数</p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="coordinates"><code>coordinates</code></td>
<td class="type">
<span class="param-type">Array</span>
</td>
<td class="default">
[]
</td>
<td class="description last"><p>几何点的坐标数组,参考示例如下:<br/>
<a href='#Polygon'>[1、不带洞的区几何对象]</a><br/>
<a href='#Polygon-innder'>[2、带洞的区几何对象]</a></p></td>
</tr>
<tr class="deep-level-1">
<td class="name" id="spatialReference"><code>spatialReference</code></td>
<td class="type">
<span class="param-type"><a class="mapgis-link-name" title="SpatialReference" SpatialReference.html>SpatialReference</a></span>
</td>
<td class="default">
new Zondy.SpatialReference('EPSG:4326')
</td>
<td class="description last"><p>几何点的空间参考系,默认4326,当不是4326时请指定坐标系,方便进行投影转换,参考示例:<a href='#SpatialReference'>[指定坐标系]</a></p></td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
</dl>
<p class="summary"><h5>支持如下方法:</h5>
<a href='#fromExtent'>[1、将给定的Extent转换为多边形实例]</a><br/>
<a href='#addRing'>[2、在多边形中添加一个环]</a><br/>
<a href='#removeRing'>[3、根据索引从多边形中移除一个环]</a><br/>
<a href='#contains'>[4、检查输入点是否在多边形内]</a><br/>
<a href='#getPoint'>[5、根据下标返回指定的点]</a><br/>
<a href='#insertPoint'>[6、在多边形中插入一个新点]</a><br/>
<a href='#removePoint'>[7、根据下标从多边形中移除一个点]</a><br/>
<a href='#toXMl'>[8、导出为OGC服务要求的xml字符串]</a><br/>
<a href='#toString'>[9、返回字符串]</a><br/>
<a href='#toOldIGSGeometry'>[10、返回igs1.0的几何对象]</a><br/>
<a href='#getIGSType'>[11、返回IGS所对应的GeometryModule型]</a><br/>
<a href='#toDots'>[12、返回Dots对象,仅包括多边形的外圈]</a>
<a href='#fromJSON'>[13、通过传入的json构造并返回一个新的几何对象]</a><br/>
<a href='#toJSON'>[14、导出为json对象]</a><br/>
<a class="mapgis-link-name" title="Geometry#clone" Geometry.html#clone><code>15、克隆几何对象</code></a></p>
<h5>示例</h5>
<p class="code-caption"><h7 id='Polygon'>不带洞的区几何</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { Polygon } = Zondy.Geometry
// ES6引入方式
import { Polygon } from "@mapgis/webclient-common"
new Polygon({
coordinates:[
// 外圈
[
[100.0, 0.0],
[101.0, 0.0],
[101.0, 1.0],
[100.0, 1.0],
[100.0, 0.0]
]
]
})</code></pre>
<p class="code-caption"><h7 id='Polygon-innder'>带洞的区几何</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { Polygon } = Zondy.Geometry
// ES6引入方式
import { Polygon } from "@mapgis/webclient-common"
new Polygon({
coordinates:[
// 外圈
[
[100.0, 0.0],
[101.0, 0.0],
[101.0, 1.0],
[100.0, 1.0],
[100.0, 0.0]
],
// 第一个内圈
[
[100.8, 0.8],
[100.8, 0.2],
[100.2, 0.2],
[100.2, 0.8],
[100.8, 0.8]
],
// 第二个内圈
[],
...
]
})</code></pre>
<p class="code-caption"><h7 id='spatialReference'>指定坐标系</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { Polygon } = Zondy.Geometry
// ES6引入方式
import { Polygon } from "@mapgis/webclient-common"
new Polygon({
coordinates:[
// 外圈
[
[12060733.232006868, 3377247.5680546067],
[12929863.44711455, 3377247.5680546067],
[12929863.44711455, 3934286.575385226],
[12060733.232006868, 3934286.575385226],
[12060733.232006868, 3377247.5680546067]
]
]
})</code></pre>
</div>
</div>
</div>
</div>
<h3 class="subsection-title">继承关系</h3>
<ul>
<li><a class="mapgis-link-name" title="Geometry" Geometry.html>Geometry</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="Polygon.html#centroid">centroid</a></code></td>
<td class="name">
<code>
<span class="param-type"><a class="mapgis-link-name" title="Point" Point.html>Point</a></span>
</code>
</td>
<td class="name"><code><p>多边形质心</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#coordinates">coordinates</a></code></td>
<td class="name">
<code>
<span class="param-type">Array</span>
</code>
</td>
<td class="name"><code><p>几何点的坐标</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#extent">extent</a></code></td>
<td class="name">
<code>
<span class="param-type">Number</span>
</code>
</td>
<td class="name"><code><p>外包盒</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#hasZ">hasZ</a></code></td>
<td class="name">
<code>
<span class="param-type">Boolean</span>
</code>
</td>
<td class="name"><code><p>是否含有z坐标</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#isSelfIntersecting">isSelfIntersecting</a></code></td>
<td class="name">
<code>
<span class="param-type">Boolean</span>
</code>
</td>
<td class="name"><code><p>多边形是否自相交;判断多边形内的环是否互相相交;或多边形内部的环是否自相交</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#spatialReference">spatialReference</a></code></td>
<td class="name">
<code>
<span class="param-type"><a class="mapgis-link-name" title="SpatialReference" SpatialReference.html>SpatialReference</a></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 class="mapgis-link-name" title="Point" Point.html>Point</a></span>
</span>
<h4 class="name" id="centroid">
<a class="href-link" href="#centroid">#</a>
<span class="code-name">
centroid
</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</span>
</span>
<h4 class="name" id="coordinates">
<a class="href-link" href="#coordinates">#</a>
<span class="code-name">
coordinates
</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">Number</span>
</span>
<h4 class="name" id="extent">
<a class="href-link" href="#extent">#</a>
<span class="code-name">
extent
</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 class="mapgis-link-name" title="Geometry#extent" Geometry.html#extent>Geometry#extent</a>
</li></ul></dd>
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">Boolean</span>
</span>
<h4 class="name" id="hasZ">
<a class="href-link" href="#hasZ">#</a>
<span class='tag'>readonly</span>
<span class="code-name">
hasZ
</span>
</h4>
<div class="description">
<p>是否含有z坐标</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="Geometry#hasZ" Geometry.html#hasZ>Geometry#hasZ</a>
</li></ul></dd>
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type">Boolean</span>
</span>
<h4 class="name" id="isSelfIntersecting">
<a class="href-link" href="#isSelfIntersecting">#</a>
<span class="code-name">
isSelfIntersecting
</span>
</h4>
<div class="description">
<p>多边形是否自相交;判断多边形内的环是否互相相交;或多边形内部的环是否自相交</p>
</div>
<dl class="details">
<dt class="tag-default">Default Value:</dt>
<dd class="tag-default"><ul class="dummy">
<li>false</li>
</ul></dd>
</dl>
</div>
<div class="member">
<span class="method-parameter is-pulled-right">
<label>类型:</label>
<span class="param-type"><a class="mapgis-link-name" title="SpatialReference" SpatialReference.html>SpatialReference</a></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">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a class="mapgis-link-name" title="Geometry#spatialReference" Geometry.html#spatialReference>Geometry#spatialReference</a>
</li></ul></dd>
</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="Polygon.html#fromExtent">fromExtent</a></code></td>
<td class="name">
<code>
<span class="param-type"><a class="mapgis-link-name" title="Polygon" Polygon.html>Polygon</a></span>
</code>
</td>
<td class="name"><code><p>将给定的Extent转换为多边形实例</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#fromJSON">fromJSON</a></code></td>
<td class="name">
<code>
</code>
</td>
<td class="name"><code><p>通过传入的json构造并返回一个新的几何对象</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#addRing">addRing</a></code></td>
<td class="name">
<code>
<span class="param-type"><a class="mapgis-link-name" title="Polygon" Polygon.html>Polygon</a></span>
</code>
</td>
<td class="name"><code><p>在多边形中添加一个环,环可以是一个数字数组或一个点数组</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#clone">clone</a></code></td>
<td class="name">
<code>
<span class="param-type"><a class="mapgis-link-name" title="Geometry" Geometry.html>Geometry</a></span>
</code>
</td>
<td class="name"><code><p>克隆几何对象</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#contains">contains</a></code></td>
<td class="name">
<code>
<span class="param-type">Boolean</span>
</code>
</td>
<td class="name"><code><p>检查输入点是否在多边形内。多边形线上的一个点被认为是内部</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#fromGeoJSON">fromGeoJSON</a></code></td>
<td class="name">
<code>
</code>
</td>
<td class="name"><code><p>导入GeoJSON</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#getGeometryType">getGeometryType</a></code></td>
<td class="name">
<code>
<span class="param-type">String</span>
</code>
</td>
<td class="name"><code><p>获取GeometryModule型</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#getIGSType">getIGSType</a></code></td>
<td class="name">
<code>
</code>
</td>
<td class="name"><code><p>返回IGS所对应的GeometryModule型<a id='getIGSType'></a></p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#getPoint">getPoint</a></code></td>
<td class="name">
<code>
<span class="param-type"><a class="mapgis-link-name" title="Point" Point.html>Point</a></span>
|
<span class="param-type">null</span>
</code>
</td>
<td class="name"><code><p>根据下标返回指定的点</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#getType">getType</a></code></td>
<td class="name">
<code>
<span class="param-type">String</span>
</code>
</td>
<td class="name"><code><p>返回所对应的GeometryModule型</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#insertPoint">insertPoint</a></code></td>
<td class="name">
<code>
<span class="param-type"><a class="mapgis-link-name" title="Polygon" Polygon.html>Polygon</a></span>
|
<span class="param-type">null</span>
</code>
</td>
<td class="name"><code><p>在多边形中插入一个新点</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#isClockwise">isClockwise</a></code></td>
<td class="name">
<code>
<span class="param-type">Boolean</span>
</code>
</td>
<td class="name"><code><p>多边形的环是否是顺时针</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#off">off</a></code></td>
<td class="name">
<code>
<span class="param-type">Object</span>
</code>
</td>
<td class="name"><code><p>移除事件<br/>
示例如下:<br/>
<a href='#off1'>[1、移除一个事件的指定回调函数]</a><br/>
<a href='#off2'>[2、移除一个事件的所有回调函数]</a><br/>
<a href='#off3'>[3、移除多个事件的同一个指定的回调函数]</a><br/>
<a href='#off4'>[4、移除多个指定事件的回调函数]</a><br/>
<a href='#off5'>[5、删除时指定上下文 - types类型为字符串]</a><br/>
<a href='#off6'>[6、删除时指定上下文 - types类型为对象]</a><br/></p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#on">on</a></code></td>
<td class="name">
<code>
<span class="param-type">Object</span>
</code>
</td>
<td class="name"><code><p>注册一个新的监听事件;<br/>
示例如下:<br/>
<a href='#event1'>[1、注册一个事件]</a><br/>
<a href='#event2'>[2、一次注册多个事件 - 同一个回调函数]</a><br/>
<a href='#event3'>[3、一次注册多个事件 - 分别指回调应函数]</a><br/>
<a href='#event4'>[4、当types为字符串时 - 指定上下文]</a><br/>
<a href='#event5'>[5、当types为对象时 - 指定上下文]</a><br/></p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#removePoint">removePoint</a></code></td>
<td class="name">
<code>
<span class="param-type"><a class="mapgis-link-name" title="Point" Point.html>Point</a></span>
|
<span class="param-type">null</span>
</code>
</td>
<td class="name"><code><p>根据下标从多边形中移除一个点</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#removeRing">removeRing</a></code></td>
<td class="name">
<code>
<span class="param-type">Array</span>
</code>
</td>
<td class="name"><code><p>根据索引从多边形中移除一个环</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#setPoint">setPoint</a></code></td>
<td class="name">
<code>
<span class="param-type"><a class="mapgis-link-name" title="Polygon" Polygon.html>Polygon</a></span>
</code>
</td>
<td class="name"><code><p>更新多边形中的一个点</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#toDots">toDots</a></code></td>
<td class="name">
<code>
</code>
</td>
<td class="name"><code><p>返回Dots对象,仅包括多边形的外圈<a id='toDots'></a></p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#toGeoJSON">toGeoJSON</a></code></td>
<td class="name">
<code>
<span class="param-type">Object</span>
</code>
</td>
<td class="name"><code><p>导出为GeoJSON</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#toJSON">toJSON</a></code></td>
<td class="name">
<code>
<span class="param-type">Object</span>
</code>
</td>
<td class="name"><code><p><a id='toJSON'></a>
导出为json对象</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#toOldIGSGeometry">toOldIGSGeometry</a></code></td>
<td class="name">
<code>
</code>
</td>
<td class="name"><code><p>返回igs1.0的几何对象<a id='toOldIGSGeometry'></a></p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#toString">toString</a></code></td>
<td class="name">
<code>
</code>
</td>
<td class="name"><code><p>返回如下格式的字符串:"x0,y0,x1,y1,x2,y2,x0,y0|x3,y3,x4,y4,x5,y5,x3,y3"<a id='toString'></a>
多边形内每个的多边形由|号分割</p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#toXMl">toXMl</a></code></td>
<td class="name">
<code>
<span class="param-type">String</span>
</code>
</td>
<td class="name"><code><p>导出为OGC服务要求的xml字符串<a id='toXMl'></a></p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="Polygon.html#toXML">toXML</a></code></td>
<td class="name">
<code>
<span class="param-type">String</span>
</code>
</td>
<td class="name"><code><p>导出为OGC服务要求的xml字符串,子类实现</p></code></td>
</tr>
</tbody>
</table>
</div>
<h4 style="margin-top: 20px;margin-bottom: 20px;">方法详情</h4>
<div class="member">
<h4 class="name" id=".fromExtent">
<a class="href-link" href="#.fromExtent">#</a>
<span class='tag'>static</span>
<span class="code-name" id="fromExtent" style="font-size:30px">
fromExtent<span class="signature">(extent)</span>
</span>
</h4>
<div class="description">
<p>将给定的Extent转换为多边形实例</p>
</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" id="extent"><code>extent</code></td>
<td class="type">
<span class="param-type"><a class="mapgis-link-name" title="Extent" Extent.html>Extent</a></span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
</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 class="mapgis-link-name" title="Polygon" Polygon.html>Polygon</a></span>
</div>
</div>
</div>
</div>
<h5>示例</h5>
<p class="code-caption"><h7 id='fromExtent'>将给定的Extent转换为多边形实例</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { Extent, Polygon } = Zondy.Geometry
// ES6引入方式
import { Extent, Polygon } from "@mapgis/webclient-common"
const extent = new Extent({
"xmin":10,
"xmax":210,
"ymin":0,
"ymax":100
})
const polygon = Polygon.fromExtent(extent)</code></pre>
</div>
<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 class="signature-attributes">opt</span>)</span>
</span>
</h4>
<div class="description">
<p>通过传入的json构造并返回一个新的几何对象</p>
</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" id="json"><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>
<h5>示例</h5>
<p class="code-caption"><h7 id='fromJSON'>通过传入的json构造并返回一个新的几何对象</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { Polygon } = Zondy.Geometry
// ES6引入方式
import { Polygon } from "@mapgis/webclient-common"
const json = {
coordinates:[
// 外圈
[
[100.0, 0.0],
[101.0, 0.0],
[101.0, 1.0],
[100.0, 1.0],
[100.0, 0.0]
]
]
}
const polygon = new Polygon.fromJSON(json)</code></pre>
</div>
<div class="member">
<h4 class="name" id="addRing">
<a class="href-link" href="#addRing">#</a>
<span class="code-name" id="addRing" style="font-size:30px">
addRing<span class="signature">(points)</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 class="last">描述</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name" id="points"><code>points</code></td>
<td class="type">
<span class="param-type">Array.<<a href="Point.html">Point</a>></span>
</td>
<td class="description last"><p>一个多边形环。环中的第一个和最后一个坐标/点必须相同。可以将其定义为Point几何图形数组或XY坐标数组。</p></td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
</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 class="mapgis-link-name" title="Polygon" Polygon.html>Polygon</a></span>
</div>
</div>
</div>
</div>
<h5>示例</h5>
<p class="code-caption"><h7 id='addRing'>在多边形中添加一个环</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { Polygon, Point } = Zondy.Geometry
// ES6引入方式
import { Polygon, Point } from "@mapgis/webclient-common"
const polygon = new Polygon({
coordinates:[
// 外圈
[
[100.0, 0.0],
[101.0, 0.0],
[101.0, 1.0],
[100.0, 1.0],
[100.0, 0.0]
]
]
})
const ring = [
new Point({
coordinates: [100.2, 0.0]
}),
new Point({
coordinates: [101.3, 0.0]
}),
new Point({
coordinates: [100.3, 0.7]
}),
new Point({
coordinates: [104.2, 0.7]
}),
new Point({
coordinates: [100.2, 0.0]
})
]
polygon.addRing(ring)</code></pre>
</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">
<p>克隆几何对象</p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="Geometry#clone" Geometry.html#clone>Geometry#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 class="mapgis-link-name" title="Geometry" Geometry.html>Geometry</a></span>
</div>
</div>
</div>
</div>
</div>
<div class="member">
<h4 class="name" id="contains">
<a class="href-link" href="#contains">#</a>
<span class="code-name" id="contains" style="font-size:30px">
contains<span class="signature">(point)</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 class="last">描述</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name" id="point"><code>point</code></td>
<td class="type">
<span class="param-type"><a class="mapgis-link-name" title="Point" Point.html>Point</a></span>
</td>
<td class="description last"><p>用于测试是否包含在测试多边形中的点</p></td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
</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>如果该点位于多边形内,则返回true</p></div>
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type">Boolean</span>
</div>
</div>
</div>
</div>
<h5>示例</h5>
<p class="code-caption"><h7 id='contains'>检查输入点是否在多边形内</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { Polygon, Point } = Zondy.Geometry
// ES6引入方式
import { Polygon, Point } from "@mapgis/webclient-common"
const polygon = new Polygon({
coordinates:[
// 外圈
[
[100.0, 0.0],
[101.0, 0.0],
[101.0, 1.0],
[100.0, 1.0],
[100.0, 0.0]
]
]
})
const point = new Point({
coordinates: [100.0, 0.0]
})
const isOnPolygon = polygon.contains(point)</code></pre>
</div>
<div class="member">
<h4 class="name" id="fromGeoJSON">
<a class="href-link" href="#fromGeoJSON">#</a>
<span class="code-name" id="fromGeoJSON" style="font-size:30px">
fromGeoJSON<span class="signature">(GeoJSON)</span>
</span>
</h4>
<div class="description">
<p>导入GeoJSON</p>
</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" id="GeoJSON"><code>GeoJSON</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last"><p>Object</p></td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a class="mapgis-link-name" title="Geometry#fromGeoJSON" Geometry.html#fromGeoJSON>Geometry#fromGeoJSON</a>
</li></ul></dd>
</dl>
</div>
<div class="member">
<h4 class="name" id="getGeometryType">
<a class="href-link" href="#getGeometryType">#</a>
<span class="code-name" id="getGeometryType" style="font-size:30px">
getGeometryType<span class="signature">()</span>
</span>
</h4>
<div class="description">
<p>获取GeometryModule型</p>
</div>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a class="mapgis-link-name" title="Geometry#getGeometryType" Geometry.html#getGeometryType>Geometry#getGeometryType</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>GeometryModule型</p></div>
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type">String</span>
</div>
</div>
</div>
</div>
</div>
<div class="member">
<h4 class="name" id="getIGSType">
<a class="href-link" href="#getIGSType">#</a>
<span class="code-name" id="getIGSType" style="font-size:30px">
getIGSType<span class="signature">()</span>
</span>
</h4>
<div class="description">
<p>返回IGS所对应的GeometryModule型<a id='getIGSType'></a></p>
</div>
<dl class="details">
<dt class="tag-overrides">Overrides:</dt>
<dd class="tag-overrides"><ul class="dummy"><li>
<a class="mapgis-link-name" title="Geometry#getIGSType" Geometry.html#getIGSType>Geometry#getIGSType</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>string GeometryModule型</p></div>
</div>
</div>
</div>
</div>
<div class="member">
<h4 class="name" id="getPoint">
<a class="href-link" href="#getPoint">#</a>
<span class="code-name" id="getPoint" style="font-size:30px">
getPoint<span class="signature">(ringIndex, pointIndex)</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 class="last">描述</th>
</tr>
</thead>
<tbody>
<tr class="deep-level-0">
<td class="name" id="ringIndex"><code>ringIndex</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last"><p>包含所需点的环的下标</p></td>
</tr>
<tr class="deep-level-0">
<td class="name" id="pointIndex"><code>pointIndex</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last"><p>环内所需点的下标</p></td>
</tr>
</tbody>
</table>
</div>
<dl class="details">
</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 class="mapgis-link-name" title="Point" Point.html>Point</a></span>
|
<span class="param-type">null</span>
</div>
</div>
</div>
</div>
<h5>示例</h5>
<p class="code-caption"><h7 id='getPoint'>根据下标返回指定的点</h7></p>
<pre class="prettyprint"><code>// ES5引入方式
const { Polygon } = Zondy.Geometry
// ES6引入方式
import { Polygon } from "@mapgis/webclient-common"
const polygon = new Polygon({
coordinates:[
// 外圈
[
[100.0, 0.0],
[101.0, 0.0],
[101.0, 1.0],
[100.0, 1.0],
[100.0, 0.0]
]
]
})
const point = polygon.getPoint(0, 1)</code></pre>
</div>
<div class="member">
<h4 class="name" id="getType">
<a class="href-link" href="#getType">#</a>
<span class="code-name" id="getType" style="font-size:30px">
getType<span class="signature">()</span>
</span>
</h4>
<div class="description">
<p>返回所对应的GeometryModule型</p>
</div>
<dl class="details">
<dt class="inherited-from">Inherited From:</dt>
<dd class="inherited-from"><ul class="dummy"><li>
<a class="mapgis-link-name" title="Geometry#getType" Geometry.html#getType>Geometry#getType</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>GeometryModule型</p></div>
<div class='column is-5 has-text-left'>
<label>类型: </label>
<span class="param-type">String</span>
</div>
</div>
</div>
</div>
</div>
<div class="member">
<h4 class="name" id="insertPoint">
<a class="href-link" href="#insertPoint">#</a>
<span cla