Class MultiPoint

  • All Implemented Interfaces:
    CoordinateContainer<java.util.List<Point>>, GeoJson, Geometry, java.io.Serializable

    public final class MultiPoint
    extends java.lang.Object
    implements CoordinateContainer<java.util.List<Point>>
    A MultiPoint represents two or more geographic points that share a relationship and is one of the seven geometries found in the GeoJson spec.

    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. The list of points must be equal to or greater than 2.

    A sample GeoJson MultiPoint's provided below (in it's serialized state).

     {
       "TYPE": "MultiPoint",
       "coordinates": [
         [100.0, 0.0],
         [101.0, 1.0]
       ]
     }
     
    Look over the Point documentation to get more information about formatting your list of point objects correctly.
    Since:
    1.0.0
    See Also:
    Serialized Form
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      BoundingBox bbox()
      A Feature Collection might have a member named bbox to include information on the coordinate range for it's Features.
      java.util.List<Point> coordinates()
      provides the list of Points that make up the MultiPoint geometry.
      boolean equals​(java.lang.Object obj)  
      static MultiPoint fromJson​(java.lang.String json)
      Create a new instance of this class by passing in a formatted valid JSON String.
      static MultiPoint fromLngLats​(java.util.List<Point> points)
      Create a new instance of this class by defining a list of Points which follow the correct specifications described in the Point documentation.
      static MultiPoint fromLngLats​(java.util.List<Point> points, BoundingBox bbox)
      Create a new instance of this class by defining a list of Points which follow the correct specifications described in the Point documentation.
      int hashCode()  
      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 this object is, thus this will always return MultiPoint.
      static com.google.gson.TypeAdapter<MultiPoint> typeAdapter​(com.google.gson.Gson gson)
      Gson TYPE adapter for parsing Gson to this class.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Method Detail

      • fromJson

        public static MultiPoint fromJson​(@NonNull
                                          java.lang.String json)
        Create a new instance of this class by passing in a formatted valid JSON String. If you are creating a MultiPoint object from scratch it is better to use one of the other provided static factory methods such as fromLngLats(List). For a valid MultiPoint to exist, it must have at least 2 coordinate entries.
        Parameters:
        json - a formatted valid JSON string defining a GeoJson MultiPoint
        Returns:
        a new instance of this class defined by the values passed inside this static factory method
        Since:
        1.0.0
      • fromLngLats

        public static MultiPoint fromLngLats​(@NonNull
                                             java.util.List<Point> points)
        Create a new instance of this class by defining a list of Points which follow the correct specifications described in the Point documentation. Note that there should not be any duplicate points inside the list.

        Note that if less than 2 points are passed in, a runtime exception will occur.

        Parameters:
        points - a list of Points which make up the LineString geometry
        Returns:
        a new instance of this class defined by the values passed inside this static factory method
        Since:
        3.0.0
      • fromLngLats

        public static MultiPoint fromLngLats​(@NonNull
                                             java.util.List<Point> points,
                                             @Nullable
                                             BoundingBox bbox)
        Create a new instance of this class by defining a list of Points which follow the correct specifications described in the Point documentation. Note that there should not be any duplicate points inside the list.

        Note that if less than 2 points are passed in, a runtime exception will occur.

        Parameters:
        points - a list of Points which make up the LineString geometry
        bbox - optionally include a bbox definition as a double array
        Returns:
        a new instance of this class defined by the values passed inside this static factory method
        Since:
        3.0.0
      • type

        @NonNull
        public java.lang.String type()
        This describes the TYPE of GeoJson this object is, thus this will always return MultiPoint.
        Specified by:
        type in interface GeoJson
        Returns:
        a String which describes the TYPE of geometry, for this object it will always return MultiPoint
        Since:
        1.0.0
      • bbox

        @Nullable
        public BoundingBox bbox()
        A Feature Collection might have a member named bbox to include information on the coordinate range for it's Features. 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.
        Specified by:
        bbox in interface GeoJson
        Returns:
        a list of double coordinate values describing a bounding box
        Since:
        3.0.0
      • coordinates

        @NonNull
        public java.util.List<Point> coordinates()
        provides the list of Points that make up the MultiPoint geometry.
        Specified by:
        coordinates in interface CoordinateContainer<java.util.List<Point>>
        Returns:
        a list of points
        Since:
        3.0.0
      • toJson

        public java.lang.String toJson()
        This takes the currently defined values found inside this instance and converts it to a GeoJson string.
        Specified by:
        toJson in interface GeoJson
        Returns:
        a JSON string which represents this MultiPoint geometry
        Since:
        1.0.0
      • typeAdapter

        public static com.google.gson.TypeAdapter<MultiPoint> typeAdapter​(com.google.gson.Gson gson)
        Gson TYPE adapter for parsing Gson to this class.
        Parameters:
        gson - the built Gson object
        Returns:
        the TYPE adapter for this class
        Since:
        3.0.0
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object