---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelPolygonGeometry.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/llms.txt

# IPixelPolygonGeometry

Расширяет [IPixelGeometry](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelGeometry.md).

Интерфейс пиксельной геометрии "Многоугольник".

## Конструктор {#constructor}

```javascript
IPixelPolygonGeometry(coordinates, fillRule[, metaData])
```

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание** ||
|| `coordinates`[*](*parametr) | — | Тип: Number[][][]

Координаты многоугольника. ||
|| `fillRule`[*](*parametr) | — | Тип: String

Строковый идентификатор, определяющий алгоритм заливки многоугольника. Может принимать одно из двух значений: 
• evenOdd - алгоритм, определяющий, находится ли точка в области заполнения, путем рисования луча от этой точки до бесконечности в любом направлении и подсчета количества сегментов контура в пределах заданной фигуры, которые пересекает этот луч. Если это число нечетное, точка находится внутри; если четное, точка находится снаружи.

• nonZero - алгоритм, определяющий, находится ли точка в области заполнения, путем рисования луча от этой точки до бесконечности в любом направлении и проверки точек, в которых сегмент фигуры пересекает этот луч. Начиная с нуля, добавляется единица каждый раз, когда сегмент пересекает луч слева направо, и вычитается единица каждый раз, когда сегмент пересекает луч справа налево. Если после подсчета пересечений результат равен нулю, точка находится снаружи контура. В противном случае она находится внутри. ||
|| `metaData` | — | Тип: Object

метаданные ||
|#

\* Обязательный параметр/опция.

## Поля {#fields}

#|
|| **Имя** | **Тип** | **Описание** ||
|| [events](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IEventEmitter.md#events) | [IEventManager](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IEventManager.md) | Менеджер событий.

Унаследовано от [IEventEmitter](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IEventEmitter.md#events). ||
|#

## Методы {#methods}

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [contains](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelPolygonGeometry.md#contains)([position](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelPolygonGeometry.md#contains-param-position)) | Boolean | Проверяет лежит ли переданная точка внутри многоугольника. ||
|| [getBounds](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IBaseGeometry.md#getBounds)() | Number[][]\|null | Returns координаты двух противоположных углов области, охватывающей геометрию. Первый элемент массива - угол с наименьшими значениями координат относительно остальных точек области; второй элемент - угол с наибольшими значениями координат.

Унаследован от [IBaseGeometry](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IBaseGeometry.md#getBounds). ||
|| [getClosest](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelPolygonGeometry.md#getClosest)([anchorPosition](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelPolygonGeometry.md#getClosest-param-anchorPosition)) | Object | Ищет на контуре многоугольника точку, ближайшую к anchorPosition. ||
|| [getCoordinates](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelCircleGeometry.md#getCoordinates)() | Number[] | Returns координаты многоугольника. ||
|| [getFillRule](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelPolygonGeometry.md#getFillRule)() | String | Returns идентификатор алгоритма заливки многоугольника. ||
|| [getLength](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelPolygonGeometry.md#getLength)() | Integer | Returns количество контуров в многоугольнике. ||
|| [getMetaData](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelGeometry.md#getMetaData)() | Object | eturns метаданные пиксельной геометрии.

Унаследован от [IPixelGeometry](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelGeometry.md#getMetaData). ||
|| [getType](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IBaseGeometry.md#getType)() | String | Returns идентификатор типа геометрии.

Унаследован от [IBaseGeometry](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IBaseGeometry.md#getType). ||
|| [scale](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelGeometry.md#scale)([factor](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelGeometry.md#scale-param-factor)) | [IPixelGeometry](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelGeometry.md) | Создает отмасштабированную копию геометрии.

Унаследован от [IPixelGeometry](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelGeometry.md#scale). ||
|| [shift](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelGeometry.md#shift)([offset](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelGeometry.md#shift-param-offset)) | [IPixelGeometry](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelGeometry.md) | Создает копию геометрии сдвинутую на заданную величину.

Унаследован от [IPixelGeometry](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPixelGeometry.md#shift). ||
|#

## Описание методов {#description-methods}

### contains

```javascript
{Boolean} contains(position)
```

Проверяет лежит ли переданная точка внутри многоугольника.

**Returns** признак принадлежности точки многоугольнику.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание** ||
|| `position`[*](*parametr) | — | Тип: Number[]

Координаты точки. ||
|#

\* Обязательный параметр/опция.

### getClosest

```javascript
{Object} getClosest(anchorPosition)
```

Ищет на контуре многоугольника точку, ближайшую к anchorPosition.

**Returns** объект со следующими полями:

• position - точка на контуре многоугольника ближайшая к anchorPosition;

• distance - расстояние от anchorPosition до position;

• closestPointIndex - индекс вершины многоугольника, ближайшей к position;

• nextPointIndex - индекс вершины многоугольника, следующей за position;

• prevPointIndex - индекс вершины многоугольника, предшествующей position;

• pathIndex - индекс контура многоугольника, к которому относится найденная точка.

Поля nextPointIndex, prevPointIndex могут отсутствовать, если position совпадает с одной из вершин многоугольника.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание** ||
|| `anchorPosition`[*](*parametr) | — | Тип: Number[]

Координаты точки, для которой расчитывается ближайшая точка на контуре многоугольника. ||
|#


\* Обязательный параметр/опция.

### getCoordinates

```javascript
{Number[][][]} getCoordinates()
```

**Returns** координаты многоугольника.

### getFillRule

```javascript
{String} getFillRule()
```

**Returns** идентификатор алгоритма заливки многоугольника.

### getLength

```javascript
{Integer} getLength()
```

**Returns** количество контуров в многоугольнике.

[*parametr]:Обязательный параметр/опция.
