⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 curveinterpolation.java

📁 GEo 地理操作源代码
💻 JAVA
字号:
/*$************************************************************************************************ ** ** $Id: CurveInterpolation.java,v 1.7 2004/05/06 22:05:53 desruisseaux Exp $ ** ** $Source: /cvsroot/geoapi/src/org/opengis/spatialschema/geometry/primitive/CurveInterpolation.java,v $ ** ** Copyright (C) 2003 Open GIS Consortium, Inc. All Rights Reserved. http://www.opengis.org/Legal/ ** *************************************************************************************************/package org.opengis.spatialschema.geometry.primitive;// J2SE directdependenciesimport java.util.List;import java.util.ArrayList;// OpenGIS direct dependenciesimport org.opengis.util.CodeList;import org.opengis.spatialschema.geometry.DirectPosition; // For javadoc/** * List of codes that may be used to identify the interpolation mechanisms. As a code list, * there is no intention of limiting the potential values of <code>CurveInterpolation</code>. * Subtypes of {@link CurveSegment} can be spawned directly through subclassing, or indirectly * by specifying an interpolation method and an associated control parameters record to support * it. * * @UML codelist GM_CurveInterpolation * @author ISO/DIS 19107 * @author <A HREF="http://www.opengis.org">OpenGIS&reg; consortium</A> * @version 2.0 */public final class CurveInterpolation extends CodeList {    /**     * Serial number for compatibility with different versions.     */    private static final long serialVersionUID = 170309206092641598L;    /**     * List of all enumerations of this type.     * Must be declared before any enum declaration.     */    private static final List VALUES = new ArrayList(10);    /**     * The interpolation mechanism shall return {@linkplain DirectPosition direct positions}     * on a straight line between each consecutive pair of control points.     */    public static final CurveInterpolation LINEAR = new CurveInterpolation("LINEAR");    /**     * The interpolation mechanism shall return {@linkplain DirectPosition direct positions} on a     * geodesic curve between each consecutive pair of control points. A geodesic curve is a curve     * of shortest length. The geodesic shall be determined in the coordinate reference system of     * the {@linkplain Curve curve} in which the {@linkplain CurveSegment curve segment} is used.     */    public static final CurveInterpolation GEODESIC = new CurveInterpolation("GEODESIC");    /**     * For each set of three consecutive control points, the middle one being an even offset from     * the beginning of the sequence of control points, the interpolation mechanism shall return     * {@linkplain DirectPosition direct positions} on a circular arc passing from the first point     * through the middle point to the third point. The sequence of control points shall have an     * odd number of elements. If the 3 points are co-linear, the circular arc becomes a straight     * line.     */    public static final CurveInterpolation CIRCULAR_ARC_3_POINTS = new CurveInterpolation(                                          "CIRCULAR_ARC_3_POINTS"); // Circular arc by 3 points    /**     * For each consecutive pair of control points, the interpolation mechanism shall return     * {@linkplain DirectPosition direct positions} on a circular arc passing from the first     * control point to the second control point, such that the associated control parameter     * determines the offset of the center of the arc from the center point of the chord,     * positive for leftward and negative for rightward. This form shall only be used in     * 2 dimensions because of the restricted nature of the definition technique.     */    public static final CurveInterpolation CIRCULAR_ARC_2_POINTS_WITH_BULGE = new CurveInterpolation(                                          "CIRCULAR_ARC_2_POINTS_WITH_BULGE"); // Circular arc by 2 points and bulge factor    /**     * For each set of four consecutive control points, the interpolation mechanism shall return     * {@linkplain DirectPosition direct positions} on an elliptical arc passing from the first     * control point through the middle control points in order to the fourth control point. If     * the 4 control points are co-linear, the arc becomes a straight line. If the 4 control points     * are on the same circle, the arc becomes a circular one.     */    public static final CurveInterpolation ELLIPTICAL = new CurveInterpolation(                                          "ELLIPTICAL"); // Elliptical arc    /**     * Uses a Cornu's spiral or clothoid interpolation.     */    public static final CurveInterpolation CLOTHOID = new CurveInterpolation(                                          "CLOTHOID");    /**     * Same as {@linkplain #ELLIPTICAL elliptical arc} but using 5 consecutive control points     * to determine a conic section.     */    public static final CurveInterpolation CONIC = new CurveInterpolation(                                          "CONIC"); // Conic arc    /**     * The control points are ordered as in a line-string, but they are spanned by a polynomial     * spline function. Normally, the degree of continuity is determined by the degree of the     * polynomials chosen.     */    public static final CurveInterpolation POLYNOMIAL_SPLINE = new CurveInterpolation(                                          "POLYNOMIAL_SPLINE"); // Polynomial Spline    /**     * The control points are interpolated using initial tangents and cubic polynomials, a     * form of degree 3 polynomial spline.     */    public static final CurveInterpolation CUBIC_SPLINE = new CurveInterpolation(                                          "CUBIC_SPLINE"); // Cubic Spline    /**     * The control points are ordered as in a line string, but they are spanned by a     * rational (quotient of polynomials) spline function. Normally, the degree of continuity     * is determined by the degree of the polynomials chosen.     */    public static final CurveInterpolation RATIONAL_SPLINE = new CurveInterpolation(                                          "RATIONAL_SPLINE"); // Rational Spline    /**     * Constructs an enum with the given name. The new enum is     * automatically added to the list returned by {@link #values}.     *     * @param name The enum name. This name must not be in use by an other enum of this type.     */    public CurveInterpolation(final String name) {        super(name, VALUES);    }    /**     * Returns the list of <code>CurveInterpolation</code>s.     */    public static CurveInterpolation[] values() {        synchronized (VALUES) {            return (CurveInterpolation[]) VALUES.toArray(new CurveInterpolation[VALUES.size()]);        }    }    /**     * Returns the list of enumerations of the same kind than this enum.     */    public CodeList[] family() {        return values();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -