## Main parameters

### The border

The border is a polygon used to limit the processed area. Only data points within the border are processed.

If `NULL`

the Convex Hull polygon of the input dataset will be used (computed with gConvexHull function of the rgeos R package).

`$border <- NULL zoning`

An object of class SpatialPolygons can be used as border:

```
data(conductivity_border)
$border <- conductivity_border zoning
```

#### Show the Voronoi diagram

```
$perform_voronoi()
zoning<- zoning$voronoi_map()
vm par(mar = c(0, 0, 0, 0))
plot(vm)
plot(zoning$zonable_data(), add = TRUE)
```

### The neighborhood

The neighborhood relation can be filtered by a minimal common edge length.

If `NULL`

all contiguous Voronoi polygons are considered as neighbors:

`$neighborhood <- NULL zoning`

The user can define the minimum edge length (in the same unit as the input dataset coordinate system) shared by two Voronoi polygons for being considered as neighbors:

`$neighborhood <- 5 zoning`

#### Show the neighborhood relations

The red lines shows the pairs of Voronoi polygons that are no longer considered as neighbors.

```
$perform_neighborhood()
zoning<- zoning$neighborhood_map()
nm par(mar = c(0, 0, 0, 0))
plot(vm)
plot(subset(nm, filtered == FALSE), add = TRUE, col = "green")
plot(subset(nm, filtered == TRUE), add = TRUE, col = "red")
```

### Attribute distance

This distance function is used for a given attribute. It computes the distance between two data points in the monodimensional attribute space. As many distance functions as there are attributes in the zonable dataset are needed (in a list if multiple attributes).

Two univariate distances are available: `EuclideanDistance`

(the default) or `FuzzyDistance`

. Or `NULL`

if the attribute should not be used in the zoning process.

The fuzzy distance function is based on a fuzzy partition that allows for integrating expert knowledge into distance calculations (Guillaume, Charnomordic, and Loisel 2013; Guillaume and Charnomordic 2013). The partition must be a standardized fuzzy partition based on a `FisIn`

object of the FisPro R package.

The following command-line sets the fuzzy distance based on 3 Mfs-partition defined by the following breakpoints: 20, 30, 100. The range of the `conduct`

attribute is [12, 116]:

`$attribute_distance <- FuzzyDistance(NewFisIn(c(20, 30, 100), 12, 116)) zoning`

The default value, used in this example, is the euclidean distance:

`$attribute_distance <- EuclideanDistance() zoning`

### Zone distance aggregation

To compute the distance between two zones, all the data points included in the two zones are considered and the aggregation is done using the aggreg parameter:

\[ d(z_i,z_j) = (Aggreg) d(x,y), \forall x \in z_i, y \in z_j\] Three aggreg operators are available: `MinimumDistance`

, `MaximumDistance`

(the default) or `MeanDistance`

.

The two zones to be merged at a given iteration are the ones for which the zone distance is minimum.

`$zone_distance <- MaximumDistance() zoning`

### Combine distance

The combination function distance is needed when the zoning is done according to several attributes. In this case, each univariate or elementary distance is computed and normalized in a unit interval. These partial distances are then aggregated to yield the distance between two data points in the multidimensional attribute space. The distance combination is done before computing the between-zones distance.

Two combinations are proposed: `EuclideanDistance`

(the default) or `MinkowskiDistance`

.

`$combine_distance <- EuclideanDistance() zoning`

### Smallest zone

This criterion is used to determine the smallest size for a zone (number of points or area) to be kept in the final map. The zones with a size less than the threshold are included in the most compatible neighboring zone.

The two available parameters are: `ZoneSize`

or `ZoneArea`

.

The default value is `ZoneSize`

with 1 point.

`$smallest_zone <- ZoneSize(1) zoning`