## Algorithm [1]

- one point = one zone
- Iterate on:
- Merge the pair of neighbouring zones that are closest in the attribute space
- Update zone list and zone neighbours

- Until all zones are merged

### Main parameters

The input parameters drive the algorithm. The border can be used to limit the processed area, the neighborhood relation can be filtered by a minimal common edge length and various distances are used for zone aggregation.

- Border: convex hull or file. Only data points within the border polygon are processed.
- Neighborhood: all or line segment length. In this case, to be considered as neighbors two Voronoi polygons must share an edge with the specified minimal length.
- Univariate distance: Euclidean or fuzzy (concepts [2], implementation [3]). This distance is used for a given feature (or attribute). It computes the distance between two data points in the monodimensional attribut space.
- Multivariate combination: Euclidean or Minkowski (parameter power p, Euclidean when p=2). The combination 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.
- Between zone distance: Min, Mean or Max. At each step, the algorithm merges the two zones with the minimum distance. 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 parameter:
can be set as the Minimum, the Mean or the Maximum.

### Post-Processing:

Once the process is carried out, small zones (according to the area or the number of points) can be filtered. When the small zone is included into another, it is just merged with its surrounding neighbor. When the small zone shares a border with several neighbors it is merged with the closest one, according to the between zone distance.

## Resulting map

The zoning algorithm produce a map with several attributes for each zone:

- the_geom: The geometry of the zone. A polygon (possibly with holes) delimiting the zone.
- id: The unique identifier of the zone.
- size: The number of points inside the zone.
- area: The area of the zone.
- for each attribute (“attribute name” truncated to 5 characters):
- “attribute name”_mean: The mean of the attribute in the zone.
- “attribute name”_std: The standard deviation of the attribute in the zone.

This map can be exported as Shapefile.

## Command-line Zoning

Command-line zoning program `geofis-zoning`

is available in GeoFIS bin installation folder (not availaible on Linux Debian package). All parameters of the zoning algorithm are available except for the neighborhood and post-processing.

`geofis-zoning --help`

to see program options.

## References

[Bibtex]

```
@article {Pedroso10,
author = {Moacir Pedroso and James Taylor and Bruno Tisseyre and Brigitte Charnomordic and Serge Guillaume},
title = {A segmentation algorithm for the delineation of management zones},
journal = {Computer and Electronics in Agriculture},
volume = {70},
number = {1},
pages = {199-208},
year = {2010},
month = {},
doi = {10.1016/j.compag.2009.10.007}
}
```

[Bibtex]

```
@Article {Infsci13,
author = {Serge Guillaume and Brigitte Charnomordic and Patrice Loisel},
title = {Fuzzy partitions: a way to integrate expert knowledge into distance calculations},
journal = {International Journal of Information Sciences},
volume = {245},
issue = {},
pages = {76-95},
year = {2013},
month = {},
keywords= {},
doi= {10.1016/j.ins.2012.07.045}
}
```

[Bibtex]

```
@Inproceedings {fuzzieee13,
author = {Serge Guillaume and Brigitte Charnomordic},
title = {Fuzzy partition-based distance practical use and implementation},
year = {2013},
month = {June},
booktitle = {IEEE International Conference on Fuzzy Systems, paper F-1136},
pages = {},
editor = {IEEE Catalog Number: CFP12FUZ-USB},
isbn = {},
publisher = {IEEE},
address = {Hyderabad, India}
}
```