## ILWIS 3.7 now has the following vector applications:

PolygonMapBuffer

PolygonMapConvexHull

PolygonMapIntersect

PolygonMapDifference

PolygonMapSymetricDifference

PolygonMapRelate

PolygonMapUnion

SegmentMapVoronoi

SegmentMapTIN

SegmentMapDifference

SegmentMapSymetricDifference

SegmentMapUnion

SegmentMapIntersect

SegmentMapRelate

PointMapIntersect

PointMapDifference

PointMapSymetricDifference

PointMapUnion

PointMapRelation

PointMapPointInSegment

## New Polygon Applications

**PolygonMapBuffer**

The buffer of a Point/Segment/Polygon at a distance r is the Polygon or MultiPolygon which contains all points within a distance d of the feature.

*Syntax*

PolygonMapBuffer(InputMap, BufferDistance,EndCapStyle);

The operation has three parameters:

Input map |
Any polygon/point or segment map |

Buffer distance |
The distance of the points included. Positive and negative values are supported (dilation & erosion) |

End cap style |
How the ends of lines are calculated |

**PolygonMapConvexHull**

The convex hull of a Point/Segment/Polygon is the smallest convex Polygon that contains all the points in the Point/Segment/Polygon (collection).

*S**yntax*

PolygonMapConvexHull(InputMap, isCombined)

Input map |
Any polygon/point or segment map |

isCombined |
Either create the convexhull over all the features or treat every element separately (which, in some case, might not make sense ) |

**PolygonMapDifference**

Calculates the difference between polygons in the two inputmaps. From Each polygon in the first input map the covering polygon(s) from the second input map, if any, is substracted.

(grey and orange lines are the boundaries of the original 2 polygons)*Syntax*

PolygonMapDifference(Inputmap1, Inputmap2)

Inputmap1 |
PolygonMap |

Inputmap2 |
PolygonMap |

**PolygonMapSymetricDifference**

Calculates the symmetric difference between polygons in the two inputmaps. From Each polygon in the first input map the symmetric difference with any of the polygons from the secondmap is calculated

*Syntax*

PolygonMapSymetricDifference(Inputmap1, Inputmap2)

Inputmap1 |
PolygonMap |

Inputmap2 |
PolygonMap |

**PolygonMapIntersect**

Calculate the intersection of a polygon of the input map with polygons of the output map. The map will be associated with an attribute table that contains the values of the original maps in a certain polygon.

(grey and orange lines are the boundaries of the original 2 polygons)*Syntax*

PolygonMapIntersect((Inputmap1, Inputmap2)

Inputmap1 |
PolygonMap |

Inputmap2 |
PolygonMa |

**PolygonMapRelate**

For each polygon in the first inputmap a Boolean test is done to each feature in the second output map to see if it holds true. If so, the polygon is included in the output map.

The following relations are implemented

Contains |
returns true if this polygon contains the specified feature (excluding boundary). |

CoveredBy |
returns true if this polygon is covered by the specified feature. |

Crosses | returns true if this polygon crosses the specified feature. The features have some but not all interior points in common. |

Disjoint | returns true if this polygon is disjoint to the specified feature. The two features have no point in common. |

Equals | returns true if this polygon is equal to the specified feature. The two features have at least one point in common and no point of either feature lies in the exterior of the other feature. |

Intersects | returns true if this polygon intersects the specified feature. The two features have at least one point in common (intersect is the reverse of disjoint). |

Overlaps |
returns true if this polygon overlaps the specified feature. The features have some, but not all points in common. They have the same dimension and the intersection of the interiors of the two features has the same dimension as the features themselves. |

Touches | returns true if this polygon touches the specified geometry. The features have at least one point in common, but their interiors do not intersect. |

Within | returns true if this polygon is within the specified feature. Every point of this polygon is a point of the other feature and the interiors of the two features have at least one point in common. |

Example for “contains”; only polygons that contain the pointmap (yellow dots) are shown.*Syntax*

PolygonMapRelate(inputmap1, Inputmap2, relation, negation)

Inputmap1 |
PolygonMap |

Inputmap2 |
Polygon/Segment or Pointmap |

Relation |
See table above |

Negation |
The relation can be negated to give the opposite result(“true”,”false”) |

**PolygonMapUnion**

Merges polygons of the first input map with polygons of the second input map

## New Segmentmap Applications

The set operations for segments are identical for segmentmaps: SegmentMapIntersect, SegmentMapDifference, SegmentMapSymetricDifference, SegmentMapUnion, SegmentMapRelate. The only difference is that the set operations for segmentmaps can use a polygonmap (if it is not a segmentmap) as second inputmap. In such a case, the operation works on the boundaries of the polygonmap.

**SegmentMapVoronoi**

From a pointmap, it creates the segmentmap that forms the Voronoi map in which all points on the segments have equal distance to the closest points. Note that the “areas” are not closed, because the boundary segment at the edge of the map would, in theory, go on forever.*Syntax*

PolygonMapRelate(Input Pointmap, minimal distance)

Input pointmap |
The input map used to calculate the voronoi boundaries. |

Minimal distance |
The smallest distance which is used to calculate the boundaries. Points with a distance smaller than the minimum are not used in the calculation in relation to each other. |

**SegmentMapTIN**

Creates an irregular triangulated network from a input pointmap. This is a ‘bare bones’ implementation of a TIN and only deals with the creation of the segment map. Optionally it can choose to use conves hulls for elements at the edge of the TIN to create a better area filling.*Syntax*

SegmentMapTIN(Input pointmap, use Convex hull)

Input pointmap |
The input map used to calculate the TIN |

Use convex hull |
“True” or “False”. Determines if the TIN will cover the area defined by the convxhull of all the points in the input set. |

## New Pointmap Applications

The set operations for pointmaps are identical for segmentmaps: PointMapIntersect, PointMapDifference, PointMapMapSymetricDifference, PointMapMapUnion, PointMapMapRelate. The only difference is pointmap intersect accepts Pointmaps, Segmentmaps or Polygonmaps as input. It will use the intersection of segments and boundaries to determine the intersection points.

**PointMapPointInSegment**

A convenience application that determines a suitable point in a segment to determine its “middle”. This can be a real centroid, an existing vertex that is the best estimate or a point on of the edges that is closest to the centroid.

The three options in one map. Triangle=Centroid, Circle=Vertex, Diamond=MiddlePoint.*Syntax*

PointMapPointInSegment(input segment map, option)

Input pointmap |
The input segment map |

Option |
The option can be “Centroid”,”Vertex” or “MiddlePoint”. |