public final class MultiLineString extends java.lang.Object implements CoordinateContainer<java.util.List<java.util.List<Point>>>
This adheres to the RFC 7946 internet standard when serialized into JSON. When deserialized, this class becomes an immutable object which should be initiated using its static factory methods.
When representing a LineString that crosses the antimeridian, interoperability is improved by modifying their geometry. Any geometry that crosses the antimeridian SHOULD be represented by cutting it in two such that neither part's representation crosses the antimeridian.
For example, a line extending from 45 degrees N, 170 degrees E across the antimeridian to 45 degrees N, 170 degrees W should be cut in two and represented as a MultiLineString.
A sample GeoJson MultiLineString's provided below (in it's serialized state).
{ "type": "MultiLineString", "coordinates": [ [ [100.0, 0.0], [101.0, 1.0] ], [ [102.0, 2.0], [103.0, 3.0] ] ] }Look over the
LineString
documentation to get more information about
formatting your list of linestring objects correctly.Modifier and Type | Method and Description |
---|---|
BoundingBox |
bbox()
A Feature Collection might have a member named
bbox to include information on the
coordinate range for it's Feature s. |
java.util.List<java.util.List<Point>> |
coordinates()
Provides the list of list of
Point s that make up the MultiLineString geometry. |
boolean |
equals(java.lang.Object obj) |
static MultiLineString |
fromJson(java.lang.String json)
Create a new instance of this class by passing in a formatted valid JSON String.
|
static MultiLineString |
fromLineString(LineString lineString)
Create a new instance of this class by passing in a single
LineString object. |
static MultiLineString |
fromLineString(LineString lineString,
BoundingBox bbox)
Create a new instance of this class by passing in a single
LineString object. |
static MultiLineString |
fromLineStrings(java.util.List<LineString> lineStrings)
Create a new instance of this class by defining a list of
LineString objects and
passing that list in as a parameter in this method. |
static MultiLineString |
fromLineStrings(java.util.List<LineString> lineStrings,
BoundingBox bbox)
Create a new instance of this class by defining a list of
LineString objects and
passing that list in as a parameter in this method. |
static MultiLineString |
fromLngLats(java.util.List<java.util.List<Point>> points)
Create a new instance of this class by defining a list of a list of
Point s which follow
the correct specifications described in the Point documentation. |
static MultiLineString |
fromLngLats(java.util.List<java.util.List<Point>> points,
BoundingBox bbox)
Create a new instance of this class by defining a list of a list of
Point s which follow
the correct specifications described in the Point documentation. |
int |
hashCode() |
java.util.List<LineString> |
lineStrings()
Returns a list of LineStrings which are currently making up this MultiLineString.
|
java.lang.String |
toJson()
This takes the currently defined values found inside this instance and converts it to a GeoJson
string.
|
java.lang.String |
toString() |
java.lang.String |
type()
This describes the TYPE of GeoJson geometry this object is, thus this will always return
MultiLineString . |
static com.google.gson.TypeAdapter<MultiLineString> |
typeAdapter(com.google.gson.Gson gson)
Gson type adapter for parsing Gson to this class.
|
public static MultiLineString fromJson(@NonNull java.lang.String json)
fromLineStrings(List)
.json
- a formatted valid JSON string defining a GeoJson MultiLineStringpublic static MultiLineString fromLineStrings(@NonNull java.util.List<LineString> lineStrings)
LineString
objects and
passing that list in as a parameter in this method. The LineStrings should comply with the
GeoJson specifications described in the documentation.lineStrings
- a list of LineStrings which make up this MultiLineStringpublic static MultiLineString fromLineStrings(@NonNull java.util.List<LineString> lineStrings, @Nullable BoundingBox bbox)
LineString
objects and
passing that list in as a parameter in this method. The LineStrings should comply with the
GeoJson specifications described in the documentation. Optionally, pass in an instance of a
BoundingBox
which better describes this MultiLineString.lineStrings
- a list of LineStrings which make up this MultiLineStringbbox
- optionally include a bbox definitionpublic static MultiLineString fromLineString(@NonNull LineString lineString)
LineString
object. The
LineStrings should comply with the GeoJson specifications described in the documentation.lineString
- a single LineString which make up this MultiLineStringpublic static MultiLineString fromLineString(@NonNull LineString lineString, @Nullable BoundingBox bbox)
LineString
object. The
LineStrings should comply with the GeoJson specifications described in the documentation.lineString
- a single LineString which make up this MultiLineStringbbox
- optionally include a bbox definitionpublic static MultiLineString fromLngLats(@NonNull java.util.List<java.util.List<Point>> points)
Point
s which follow
the correct specifications described in the Point documentation. Note that there should not be
any duplicate points inside the list and the points combined should create a LineString with a
distance greater than 0.points
- a list of Point
s which make up the MultiLineString geometrypublic static MultiLineString fromLngLats(@NonNull java.util.List<java.util.List<Point>> points, @Nullable BoundingBox bbox)
Point
s which follow
the correct specifications described in the Point documentation. Note that there should not be
any duplicate points inside the list and the points combined should create a LineString with a
distance greater than 0.points
- a list of Point
s which make up the MultiLineString geometrybbox
- optionally include a bbox definition@NonNull public java.lang.String type()
MultiLineString
.@Nullable public BoundingBox bbox()
bbox
to include information on the
coordinate range for it's Feature
s. The value of the bbox member MUST be a list of
size 2*n where n is the number of dimensions represented in the contained feature geometries,
with all axes of the most southwesterly point followed by all axes of the more northeasterly
point. The axes order of a bbox follows the axes order of geometries.@NonNull public java.util.List<java.util.List<Point>> coordinates()
Point
s that make up the MultiLineString geometry.coordinates
in interface CoordinateContainer<java.util.List<java.util.List<Point>>>
public java.util.List<LineString> lineStrings()
LineString
spublic java.lang.String toJson()
public static com.google.gson.TypeAdapter<MultiLineString> typeAdapter(com.google.gson.Gson gson)
gson
- the built Gson
objectpublic java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object