Package io.structures

Class Feature

java.lang.Object
io.structures.Feature

public class Feature
extends java.lang.Object
Class representing a feature with geometry and attributes
  • Constructor Summary

    Constructors 
    Constructor Description
    Feature​(org.locationtech.jts.geom.Geometry geom)
    Initializes this feature without attributes.
    Feature​(org.locationtech.jts.geom.Geometry geom, java.util.HashMap<java.lang.String,​java.lang.Object> attributes)
    Initializes this feature with geometry and attributes.
  • Method Summary

    Modifier and Type Method Description
    java.lang.Object getAttribute​(java.lang.String name)
    Returns the value of the attribute, or null if feature does not have this attribute.
    java.util.List<java.lang.String> getAttributeNames()
    Returns a list of all the attribute names this feature has.
    org.locationtech.jts.geom.Geometry getGeometry()
    Returns the (JTS-) geometry of this feature
    java.lang.String getGeometryType()
    Returns a String representation of this features geometry type.
    boolean hasAttribute​(java.lang.String name)
    Returns if the feature currently has a value for the given attribute.
    boolean setAttribute​(java.lang.String key, java.lang.Object value)
    Sets the attribute for this geometry.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Feature

      public Feature​(org.locationtech.jts.geom.Geometry geom)
      Initializes this feature without attributes.
      Parameters:
      geom - the geometry of this feature
    • Feature

      public Feature​(org.locationtech.jts.geom.Geometry geom, java.util.HashMap<java.lang.String,​java.lang.Object> attributes)
      Initializes this feature with geometry and attributes.
      Parameters:
      geom - the geometry of this feature
      attributes - the map of attributes for this feature
  • Method Details

    • getGeometry

      public org.locationtech.jts.geom.Geometry getGeometry()
      Returns the (JTS-) geometry of this feature
      Returns:
      a JTS geometry
    • setAttribute

      public boolean setAttribute​(java.lang.String key, java.lang.Object value)
      Sets the attribute for this geometry. Returns true if former attribute value got replaced, false if attribute is a new attribute.
      Parameters:
      key - name of the attribute
      value - value of the attribute
      Returns:
      true if feature previously had a value for this attribute
    • hasAttribute

      public boolean hasAttribute​(java.lang.String name)
      Returns if the feature currently has a value for the given attribute.
      Parameters:
      name - name of the attribute
      Returns:
      boolean value for the result
    • getAttribute

      public java.lang.Object getAttribute​(java.lang.String name)
      Returns the value of the attribute, or null if feature does not have this attribute.
      Parameters:
      name - name of the attribute
      Returns:
      attribute value or null if absent
    • getGeometryType

      public java.lang.String getGeometryType()
      Returns a String representation of this features geometry type.
      Returns:
      possible values: GeometryCollection, LinearRing, LineString, MultiLineString, MultiPoint, MultiPolygon, Point, Polygon
    • getAttributeNames

      public java.util.List<java.lang.String> getAttributeNames()
      Returns a list of all the attribute names this feature has.
      Returns:
      ArrayList of the names