/** * Returns the URI of the namespace for this name. * * <p>In ISO 19103 this is known as <b>scope</b> and containes a backpointer to the containing * namespace. This solution is too heavy for our purposes, and we expect applications to provide * their own lookup mechanism through which they can use this URI. The namespace URI does serve * to make this name unique and is checked as part of the equals operation. * * @since GeoAPI 2.1 */ @UML(identifier = "scope", obligation = MANDATORY, specification = ISO_19103) String getNamespaceURI();
/** * Returns a point value that is guaranteed to be on this {@code Geometry}. The default logic * may be to use the {@linkplain DirectPosition direct position} of the point returned by {@link * #getCentroid} if that point is on the object. Another use of representative point may be for * the placement of labels in systems based on graphic presentation. * * @return The representative point. * @see #getCentroid */ @UML(identifier = "representativePoint", obligation = MANDATORY, specification = ISO_19107) DirectPosition getRepresentativePoint();
/** * Returns the set of maximal complexes within which this {@code Geometry} is contained. As a * set of primitives, a {@linkplain Complex complex} may be contained as a set in another larger * {@linkplain Complex complex}, referred to as a "super complex" of the original. A {@linkplain * Complex complex} is maximal if there is no such larger super complex. * * @return The set of maximal complexes within which this {@code Geometry} is contained. */ @UML(identifier = "maximalComplex", obligation = MANDATORY, specification = ISO_19107) Set<? extends Complex> getMaximalComplex();
/** * Returns the mathematical centroid for this {@code Geometry}. The result is not guaranteed to * be on the object. For heterogeneous collections of primitives, the centroid only takes into * account those of the largest dimension. For example, when calculating the centroid of * surfaces, an average is taken weighted by area. Since curves have no area they do not * contribute to the average. * * @return The centroid. * @see #getRepresentativePoint */ @UML(identifier = "centroid", obligation = MANDATORY, specification = ISO_19107) DirectPosition getCentroid();
/** Retrieve the parameter information for a {@link GridCoverageReader#read read} operation. */ @UML( identifier = "getParameterInfo, numParameters", obligation = MANDATORY, specification = OGC_01004 ) ParameterValueGroup getReadParameters();
/** * Retrieve the parameter information for a {@link GridCoverageWriter#write write} operation. */ @UML( identifier = "getParameterInfo, numParameters", obligation = MANDATORY, specification = OGC_01004 ) ParameterValueGroup getWriteParameters(); }
/** * Returns an affine mapping that places the curve defined by the Fresnel Integrals into the * coordinate reference system of this object. */ @UML(identifier = "refLocation", obligation = MANDATORY, specification = ISO_19107) AffinePlacement getReferenceLocation();
/** * Returns the arc length distance from the inflection point that will be the {@linkplain * #getEndPoint end point} for this curve segment. This shall be upper limit <var>t</var> used * in the Fresnel integral and is the constructive parameter of this curve segment at its end * point. The end constructive param can be either positive or negative. */ @UML(identifier = "endParameter", obligation = MANDATORY, specification = ISO_19107) double getEndConstructiveParam(); }
/** * The algebraic degree of the basis functions for the first and second parameter. If only one * value is given, then the two degrees are equal. * * @return The degrees as an array of length 1 or 2. */ @UML(identifier = "degree", obligation = MANDATORY, specification = ISO_19107) int[] getDegrees();
/** * The minimum value occurring in the sample dimension. If this value is not available, this * value can be determined from the {@link * org.opengis.coverage.processing.GridAnalysis#getMinValue} operation. This value can be empty * if this value is not provided by the implementation. * * @return The minimum value occurring in the sample dimension. * @see #getMaximumValue * @see #getNoDataValues */ @UML(identifier = "minimumValue", obligation = MANDATORY, specification = OGC_01004) double getMinimumValue();
/** * Offset is the value to add to grid values for this sample dimension. This attribute is * typically used when the sample dimension represents elevation data. The default for this * value is 0. * * @return The offset. * @see #getScale */ @UML(identifier = "offset", obligation = MANDATORY, specification = OGC_01004) double getOffset();
/** * Number of source grid coverages required for the operation. * * @return The number of source grid coverages required for the operation. */ @UML(identifier = "numSources", obligation = OPTIONAL, specification = OGC_01004) int getNumSources();
/** * Value unit for reporting a data quality result, or {@code null} if none. * * @return Value unit for reporting a data quality result, or {@code null}. */ @UML(identifier = "valueUnit", obligation = MANDATORY, specification = ISO_19115) Unit<?> getValueUnit();
/** * Statistical method used to determine the value, or {@code null} if none. * * @return Statistical method used to determine the value, or {@code null}. */ @UML(identifier = "errorStatistic", obligation = OPTIONAL, specification = ISO_19115) InternationalString getErrorStatistic(); }
/** * Optimal size to use for each dimension when accessing grid values. These values together give * the optimal block size to use when retrieving grid coverage values. For example, a client * application can achieve better performance for a 2-D grid coverage by reading blocks of 128 * by 128 if the grid is tiled into blocks of this size. The sequence is ordered by dimension. * If the implementation does not have optimal sizes, the sequence will be {@code null}. * * @return The optimal size to use for each dimension when accessing grid values, or {@code * null} if none. */ @UML(identifier = "optimalDataBlockSizes", obligation = OPTIONAL, specification = OGC_01004) int[] getOptimalDataBlockSizes();
/** * Returns the parameter for this {@code GenericCurve} at the passed direct position. If the * direct position is not on the curve, the nearest point on the curve shall be used. * * @param p The direct position on the curve. * @return The parameter closest to the given position. * @see #getStartPoint * @see #getEndPoint * @see #forParam */ @UML(identifier = "paramForPoint", obligation = MANDATORY, specification = ISO_19107) ParamForPoint getParamForPoint(DirectPosition p);
/** * The length of coordinate sequence (the number of entries). This is determined by the * {@linkplain #getCoordinateReferenceSystem() coordinate reference system}. * * @return The dimensionality of this position. */ @UML(identifier = "dimension", obligation = MANDATORY, specification = ISO_19107) int getDimension();
/** * Returns the accumulated length of all {@linkplain OrientableCurve orientable curves} * contained in this {@code MultiCurve}. * * @return The accumulated length. */ @UML(identifier = "length", obligation = MANDATORY, specification = ISO_19107) double length(); }
/** * Returns an affine transformation object that maps the conic from parameter space into the * coordinate space of the target coordinate reference system of the conic corresponding to the * coordinate reference system of the {@linkplain Geometry}. This affine transformation is given * by the formulae in the class description. */ @UML(identifier = "position", obligation = MANDATORY, specification = ISO_19107) AffinePlacement getPosition();
/** * Returns {@code false} if the affine transformation is used on the unshifted (<var>u</var>, * <var>v</var>) and {@code true} if the affine transformation is applied to the shifted * parameters (<var>u'</var>, <var>v'</var>). This controls whether the focus or the vertex of * the conic is at the origin in parameter space. */ @UML(identifier = "shifted", obligation = MANDATORY, specification = ISO_19107) boolean isShifted();