Project: Create ClippedHexagonTessellation from MultiPolygon
Deliverables: Source code java files for classes developed; any number of classes may be included if it will make code clean and modular.
Note: InTime must own exclusive rights to all source code. Source code should be thoroughly commented.
Supporting library: InTime uses vividsolutions JTS library for working with geometry ([url removed, login to view] and [url removed, login to view])
Package name: place all original classes in the package ‘[url removed, login to view]’
Purpose: Quickly generate a multipolygon hexagon tessellation, clipped to a given geometry.
Geometry Format: Geometry may be defined as a String using OGC’s Well-Known Text format ([url removed, login to view]), or preferably vividsolutions’ native Geometry classes (MultiPolygon, Polygon, Point).
boundary – a Polygon or MultiPolygon; the geometry to which the grid should be clipped.
depth – double; the depth or length of a grid cell as measured in the direction of the AB line.
Output: ClippedHexagonTessellation – a MultiPolygon in which each Polygon is a hexagonal cell. All geometry in the original boundary geometry must also be expressed in the output such as holes and multiple, disjoint polygons. If clipping causes a cell to be broken into multiple polygons, that is okay. Hexagons should be oriented with ‘pointed ends’ at a 45 degree angle.
-It may be assumed that all coordinates will be supplied in a projected, fixed-length coordinate system such as UTM. This means that width and depth are the same throughout the domain.
-Because this will be used in a Geographic application, the input and output boundaries must be equal, defined as neither geometry existing outside the other.