@mapgis/webclient-common
Version:
mapgis ES6 format for igserver
3,074 lines (1,170 loc) • 89.4 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"><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"><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"><code>spatialReference</code></td>
<td class="type">
<span class="param-type">
<a link="SpatialReference.html" onclick="getTypeHTML(event)" href="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 href="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 link="Geometry.html" onclick="getTypeHTML(event)" href="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="#centroid">centroid</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="Point.html" onclick="getTypeHTML(event)" href="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="#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="#extensionOptions">extensionOptions</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="#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="#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="#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="#spatialReference">spatialReference</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="SpatialReference.html" onclick="getTypeHTML(event)" href="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 link="Point.html" onclick="getTypeHTML(event)" href="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">
Object
</span>
</span>
<h4 class="name" id="extensionOptions">
<a class="href-link" href="#extensionOptions">#</a>
<span class="code-name">
extensionOptions
</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 goto="extensionOptions" link="Geometry.html" onclick="getTypeHTML(event)" href="Geometry.html#extensionOptions">Geometry#extensionOptions</a>
</li></ul></dd>
<dt class="tag-default">Default Value:</dt>
<dd class="tag-default"><ul class="dummy">
<li>{}</li>
</ul></dd>
</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 href="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 href="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 link="SpatialReference.html" onclick="getTypeHTML(event)" href="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 goto="spatialReference" link="Geometry.html" onclick="getTypeHTML(event)" href="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="#fromExtent">fromExtent</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="Polygon.html" onclick="getTypeHTML(event)" href="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="#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="#addRing">addRing</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="Polygon.html" onclick="getTypeHTML(event)" href="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="#clone">clone</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="Geometry.html" onclick="getTypeHTML(event)" href="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="#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="#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="#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="#getIGSType">getIGSType</a></code></td>
<td class="name">
<code>
</code>
</td>
<td class="name"><code><p>返回IGS所对应的GeometryModule型</code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#getPoint">getPoint</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="Point.html" onclick="getTypeHTML(event)" href="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="#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="#insertPoint">insertPoint</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="Polygon.html" onclick="getTypeHTML(event)" href="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="#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="#off">off</a></code></td>
<td class="name">
<code>
<span class="param-type">
Object
</span>
</code>
</td>
<td class="name"><code><p>移除事件<br/>
示例如下:<br/>
</code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#on">on</a></code></td>
<td class="name">
<code>
<span class="param-type">
Object
</span>
</code>
</td>
<td class="name"><code><p>注册一个新的监听事件;<br/>
示例如下:<br/>
</code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#removePoint">removePoint</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="Point.html" onclick="getTypeHTML(event)" href="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="#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="#setPoint">setPoint</a></code></td>
<td class="name">
<code>
<span class="param-type">
<a link="Polygon.html" onclick="getTypeHTML(event)" href="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="#toDots">toDots</a></code></td>
<td class="name">
<code>
</code>
</td>
<td class="name"><code><p>返回Dots对象,仅包括多边形的外圈</code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#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="#toJSON">toJSON</a></code></td>
<td class="name">
<code>
<span class="param-type">
Object
</span>
</code>
</td>
<td class="name"><code><p></code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#toOldIGSGeometry">toOldIGSGeometry</a></code></td>
<td class="name">
<code>
</code>
</td>
<td class="name"><code><p>返回igs1.0的几何对象</code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#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"</code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#toXMl">toXMl</a></code></td>
<td class="name">
<code>
<span class="param-type">
String
</span>
</code>
</td>
<td class="name"><code><p>导出为OGC服务要求的xml字符串</code></td>
</tr>
<tr class="deep-level-0">
<td class="name"><code><a href="#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"><code>extent</code></td>
<td class="type">
<span class="param-type">
<a link="Extent.html" onclick="getTypeHTML(event)" href="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 link="Polygon.html" onclick="getTypeHTML(event)" href="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"><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"><code>points</code></td>
<td class="type">
<span class="param-type">
Array.<<a onclick="getTypeHTML(event)" link="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 link="Polygon.html" onclick="getTypeHTML(event)" href="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 href="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 link="Geometry.html" onclick="getTypeHTML(event)" href="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"><code>point</code></td>
<td class="type">
<span class="param-type">
<a link="Point.html" onclick="getTypeHTML(event)" href="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"><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 goto="fromGeoJSON" link="Geometry.html" onclick="getTypeHTML(event)" href="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 goto="getGeometryType" link="Geometry.html" onclick="getTypeHTML(event)" href="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 href="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"><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"><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 link="Point.html" onclick="getTypeHTML(event)" href="Point.html">Point</a>
</span>
|
<span class="param-type">
null
</span>
</div>
</div>
</div>
</div>
<h5>示例</h5>
<p class="c