public class MultipolygonCreate extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
MultipolygonCreate.JoinedPolygon
Represents one polygon that consists of multiple ways.
|
static class |
MultipolygonCreate.JoinedPolygonCreationException
An exception indicating an error while joining ways to multipolygon rings.
|
(package private) static class |
MultipolygonCreate.PolygonLevel
Helper storage class for finding findOuterWays
|
Modifier and Type | Field and Description |
---|---|
java.util.List<MultipolygonCreate.JoinedPolygon> |
innerWays |
java.util.List<MultipolygonCreate.JoinedPolygon> |
outerWays |
Constructor and Description |
---|
MultipolygonCreate() |
MultipolygonCreate(java.util.List<MultipolygonCreate.JoinedPolygon> outerWays,
java.util.List<MultipolygonCreate.JoinedPolygon> innerWays) |
Modifier and Type | Method and Description |
---|---|
private java.util.List<MultipolygonCreate.PolygonLevel> |
findOuterWaysRecursive(int level,
java.util.Collection<MultipolygonCreate.JoinedPolygon> boundaryWays)
Collects outer way and corresponding inner ways from all boundaries.
|
static java.util.List<MultipolygonCreate.JoinedPolygon> |
joinWays(java.util.Collection<Way> ways)
Joins the given
ways to multipolygon rings. |
private java.lang.String |
makeFromPolygons(java.util.List<MultipolygonCreate.JoinedPolygon> polygons)
This method analyzes which ways are inner and which outer.
|
java.lang.String |
makeFromWays(java.util.Collection<Way> ways)
Splits ways into inner and outer JoinedWays.
|
public java.util.List<MultipolygonCreate.JoinedPolygon> outerWays
public java.util.List<MultipolygonCreate.JoinedPolygon> innerWays
public MultipolygonCreate(java.util.List<MultipolygonCreate.JoinedPolygon> outerWays, java.util.List<MultipolygonCreate.JoinedPolygon> innerWays)
public MultipolygonCreate()
public java.lang.String makeFromWays(java.util.Collection<Way> ways)
innerWays
and outerWays
to the result.
TODO: Currently cannot process touching polygons. See code in JoinAreasAction.ways
- ways to analyzenull
if all fine.public static java.util.List<MultipolygonCreate.JoinedPolygon> joinWays(java.util.Collection<Way> ways) throws MultipolygonCreate.JoinedPolygonCreationException
ways
to multipolygon rings.ways
- the ways to join.MultipolygonCreate.JoinedPolygonCreationException
- if the creation fails.private java.lang.String makeFromPolygons(java.util.List<MultipolygonCreate.JoinedPolygon> polygons)
innerWays
and outerWays
to the result.polygons
- polygons to analyzenull
if all fine.private java.util.List<MultipolygonCreate.PolygonLevel> findOuterWaysRecursive(int level, java.util.Collection<MultipolygonCreate.JoinedPolygon> boundaryWays)
boundaryWays
- null
if intersection found.