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

📄 crsfactory.java

📁 GEo 地理操作源代码
💻 JAVA
字号:
/*$************************************************************************************************ ** ** $Id: CRSFactory.java,v 1.2 2004/05/07 10:29:28 desruisseaux Exp $ ** ** $Source: /cvsroot/geoapi/src/org/opengis/referencing/crs/CRSFactory.java,v $ ** ** Copyright (C) 2003 Open GIS Consortium, Inc. All Rights Reserved. http://www.opengis.org/Legal/ ** *************************************************************************************************/package org.opengis.referencing.crs;// J2SE direct dependenciesimport java.util.Map;// OpenGIS dependenciesimport org.opengis.referencing.Factory;import org.opengis.referencing.FactoryException;import org.opengis.referencing.cs.CartesianCS;import org.opengis.referencing.cs.SphericalCS;import org.opengis.referencing.cs.EllipsoidalCS;import org.opengis.referencing.cs.VerticalCS;import org.opengis.referencing.cs.TemporalCS;import org.opengis.referencing.cs.CoordinateSystem;import org.opengis.referencing.datum.EngineeringDatum;import org.opengis.referencing.datum.GeodeticDatum;import org.opengis.referencing.datum.ImageDatum;import org.opengis.referencing.datum.TemporalDatum;import org.opengis.referencing.datum.VerticalDatum;import org.opengis.referencing.operation.Conversion;import org.opengis.referencing.operation.MathTransform;import org.opengis.parameter.GeneralParameterValue;/** * Builds up complex {@linkplain CoordinateReferenceSystem coordinate reference systems} * from simpler objects or values. <code>CRSFactory</code> allows applications to make * {@linkplain CoordinateReferenceSystem coordinate reference systems} that cannot be * created by a {@link CRSAuthorityFactory}. This factory is very flexible, whereas the * authority factory is easier to use. * * So {@link CRSAuthorityFactory} can be used to make "standard" coordinate reference systems, * and <code>CRSFactory</code> can be used to make "special" coordinate reference systems. * * For example, the EPSG authority has codes for USA state plane coordinate systems * using the NAD83 datum, but these coordinate systems always use meters.  EPSG does * not have codes for NAD83 state plane coordinate systems that use feet units.  This * factory lets an application create such a hybrid coordinate system. * * @UML abstract CS_CoordinateSystemFactory * @author <A HREF="http://www.opengis.org">OpenGIS&reg; consortium</A> * @version <A HREF="http://www.opengis.org/docs/01-009.pdf">Implementation specification 1.0</A> * * @see org.opengis.referencing.cs.CSFactory * @see org.opengis.referencing.datum.DatumFactory */public interface CRSFactory extends Factory {    /**     * Creates a compound coordinate reference system from an ordered     * list of <code>CoordinateReferenceSystem</code> objects.     *     * @param  properties Name and other properties to give to the new object.     *         Available properties are {@linkplain Factory listed there}.     * @param  elements ordered array of <code>CoordinateReferenceSystem</code> objects.     * @throws FactoryException if the object creation failed.     * @UML operation createCompoundCoordinateSystem     */    CompoundCRS createCompoundCRS(Map                       properties,                                  CoordinateReferenceSystem[] elements) throws FactoryException;    /**     * Creates a engineering coordinate reference system.      *     * @param  properties Name and other properties to give to the new object.     *         Available properties are {@linkplain Factory listed there}.     * @param  datum Engineering datum to use in created CRS.     * @param  cs The coordinate system for the created CRS.     * @throws FactoryException if the object creation failed.     * @UML operation createLocalCoordinateSystem     */    EngineeringCRS createEngineeringCRS(Map         properties,                                        EngineeringDatum datum,                                        CoordinateSystem    cs) throws FactoryException;    /**     * Creates a geocentric coordinate reference system from a {@linkplain CartesianCS     * cartesian coordinate system}.     *     * @param  properties Name and other properties to give to the new object.     *         Available properties are {@linkplain Factory listed there}.     * @param  datum Geodetic datum to use in created CRS.     * @param  cs The cartesian coordinate system for the created CRS.     * @throws FactoryException if the object creation failed.     */    GeocentricCRS createGeocentricCRS(Map      properties,                                      GeodeticDatum datum,                                      CartesianCS      cs) throws FactoryException;    /**     * Creates a geocentric coordinate reference system from a {@linkplain SphericalCS     * spherical coordinate system}.     *     * @param  properties Name and other properties to give to the new object.     *         Available properties are {@linkplain Factory listed there}.     * @param  datum Geodetic datum to use in created CRS.     * @param  cs The spherical coordinate system for the created CRS.     * @throws FactoryException if the object creation failed.     */    GeocentricCRS createGeocentricCRS(Map      properties,                                      GeodeticDatum datum,                                      SphericalCS      cs) throws FactoryException;    /**     * Creates a geographic coordinate reference system.     * It could be <var>Latitude</var>/<var>Longitude</var> or     * <var>Longitude</var>/<var>Latitude</var>.     *     * @param  properties Name and other properties to give to the new object.     *         Available properties are {@linkplain Factory listed there}.     * @param  datum Geodetic datum to use in created CRS.     * @param  cs The ellipsoidal coordinate system for the created CRS.     * @throws FactoryException if the object creation failed.     * @UML operation createGeographicCoordinateSystem     */    GeographicCRS createGeographicCRS(Map      properties,                                      GeodeticDatum datum,                                      EllipsoidalCS    cs) throws FactoryException;        /**     * Creates an image coordinate reference system.      *     * @param  properties Name and other properties to give to the new object.     *         Available properties are {@linkplain Factory listed there}.     * @param  datum Image datum to use in created CRS.     * @param  cs The Cartesian or Oblique Cartesian coordinate system for the created CRS.     * @throws FactoryException if the object creation failed.     */    ImageCRS createImageCRS(Map      properties,                            ImageDatum    datum,                            CoordinateSystem cs) throws FactoryException;    /**     * Creates a derived coordinate reference system. If the transformation is an affine     * map performing a rotation, then any mixed axes must have identical units.     * For example, a (<var>lat_deg</var>, <var>lon_deg</var>, <var>height_feet</var>)     * system can be rotated in the (<var>lat</var>, <var>lon</var>) plane, since both     * affected axes are in degrees.  But you should not rotate this coordinate system     * in any other plane.     *     * @param  properties Name and other properties to give to the new object.     *         Available properties are {@linkplain Factory listed there}.     *         Properties for the {@link Conversion} object to be created can be specified     *         with the <code>"conversion."</code> prefix added in front of property names     *         (example: <code>"conversion.name"</code>).     * @param  base Coordinate reference system to base the derived CRS on.     * @param  baseToDerived The transform from the base CRS to returned CRS.     * @param  derivedCS The coordinate system for the derived CRS. The number     *         of axes must match the target dimension of the transform     *         <code>baseToDerived</code>.     * @throws FactoryException if the object creation failed.     * @UML operation createFittedCoordinateSystem     */    DerivedCRS createDerivedCRS(Map                 properties,                                CoordinateReferenceSystem base,                                MathTransform    baseToDerived,                                CoordinateSystem     derivedCS) throws FactoryException;        /**     * Creates a projected coordinate reference system from a transform.     *      * @param  properties Name and other properties to give to the new object.     *         Available properties are {@linkplain Factory listed there}.     *         Properties for the {@link Conversion} object to be created can be specified     *         with the <code>"conversion."</code> prefix added in front of property names     *         (example: <code>"conversion.name"</code>).     * @param  geoCRS Geographic coordinate reference system to base projection on.     * @param  toProjected The transform from the geographic to the projected CRS.     * @param  cs The coordinate system for the projected CRS.     * @throws FactoryException if the object creation failed.     */    ProjectedCRS createProjectedCRS(Map            properties,                                    GeographicCRS      geoCRS,                                    MathTransform toProjected,                                    CartesianCS            cs) throws FactoryException;    /**     * Creates a projected coordinate reference system from a projection name.     *      * @param  properties Name and other properties to give to the new object.     *         Available properties are {@linkplain Factory listed there}.     *         Properties for the {@link Conversion} object to be created can be specified     *         with the <code>"conversion."</code> prefix added in front of property names     *         (example: <code>"conversion.name"</code>).     * @param  geoCRS Geographic coordinate reference system to base projection on.     * @param  projectionName The classification name for the projection to be created     *         (e.g. "Transverse_Mercator", "Mercator_1SP", "Oblique_Stereographic", etc.).     * @param  parameterValues The parameter value to give to the projection. Should includes     *         "central_meridian", "latitude_of_origin", "scale_factor", "false_easting",     *         "false_northing" and any other parameters specific to the projection.     * @param  cs The coordinate system for the projected CRS.     * @throws FactoryException if the object creation failed.     */    ProjectedCRS createProjectedCRS(Map                          properties,                                    GeographicCRS                    geoCRS,                                    String                   projectionName,                                    GeneralParameterValue[] parameterValues,                                    CartesianCS                          cs) throws FactoryException;    /**     * Creates a temporal coordinate reference system.      *     * @param  properties Name and other properties to give to the new object.     *         Available properties are {@linkplain Factory listed there}.     * @param  datum Temporal datum to use in created CRS.     * @param  cs The Temporal coordinate system for the created CRS.     * @throws FactoryException if the object creation failed.     */    TemporalCRS createTemporalCRS(Map      properties,                                  TemporalDatum datum,                                  TemporalCS       cs) throws FactoryException;    /**     * Creates a vertical coordinate reference system.      *     * @param  properties Name and other properties to give to the new object.     *         Available properties are {@linkplain Factory listed there}.     * @param  datum Vertical datum to use in created CRS.     * @param  cs The Vertical coordinate system for the created CRS.     * @throws FactoryException if the object creation failed.     * @UML operation createVerticalCoordinateSystem     */    VerticalCRS createVerticalCRS(Map     properties,                                 VerticalDatum datum,                                 VerticalCS       cs) throws FactoryException;    /**     * Creates a coordinate reference system object from a XML string.     *     * @param  xml Coordinate reference system encoded in XML format.     * @throws FactoryException if the object creation failed.     * @UML operation createFromXML     */    CoordinateReferenceSystem createFromXML(String xml) throws FactoryException;    /**     * Creates a coordinate reference system object from a string.     * The <A HREF="../doc-files/WKT.html">definition for WKT</A>     * is shown using Extended Backus Naur Form (EBNF).     *     * @param  wkt Coordinate system encoded in Well-Known Text format.     * @throws FactoryException if the object creation failed.     * @UML operation createFromWKT     */    CoordinateReferenceSystem createFromWKT(String wkt) throws FactoryException;}

⌨️ 快捷键说明

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