Interface DirectPosition

    • Method Detail

      • getCoordinate

        @UML(identifier="coordinate",
             obligation=MANDATORY,
             specification=ISO_19107)
        double[] getCoordinate()
        A copy of the ordinates presented as an array of double values. Please note that this is only a copy (the real values may be stored in another format) so changes to the returned array will not affect the source DirectPosition.
         final int dim = position.getDimension();
         for (int i=0; i<dim; i++) {
             position.getOrdinate(i);       // no copy overhead
         }
         
        To manipulate ordinates, the following idiom can be used:
         position.setOrdinate(i, value);    // edit in place
         
        There are a couple reasons for requesting a copy:
        • We want an array of coordinates with the intent to modify it for computation purpose (without modifying the original DirectPosition), or we want to protect the array from future DirectPosition changes.
        • If DirectPosition.getOrdinates() is guaranteed to not return the backing array, then we can work directly on this array. If we don't have this guarantee, then we must conservatively clone the array in every cases.
        • Cloning the returned array is useless if the implementation cloned the array or was forced to returns a new array anyway (for example because the coordinates were computed on the fly)
        Precedence is given to data integrity over getOrdinates() performance. Performance concern can be avoided with usage of getOrdinate(int).
        Returns:
        a copy of the coordinates. Changes in the returned array will not be reflected back in this DirectPosition object.
      • equals

        boolean equals​(Object object)
        Compares this direct position with the specified object for equality. Two direct positions are considered equal if the following conditions are meet:
        Overrides:
        equals in class Object
        Parameters:
        object - the object to compare with this direct position for equality.
        Returns:
        true if the given object is equals to this direct position.
        Since:
        2.1
      • hashCode

        int hashCode()
        Returns a hash code value for this direct position. This method should returns the same value as: Arrays.hashCode(getCoordinate()) + getCoordinateReferenceSystem().hashCode() where the right hand side of the addition is omitted if the coordinate reference system is null.
        Overrides:
        hashCode in class Object
        Returns:
        a hash code value for this direct position.
        Since:
        2.1