当前位置: 首页>>代码示例>>Java>>正文


Java MathTransformFactory类代码示例

本文整理汇总了Java中org.opengis.referencing.operation.MathTransformFactory的典型用法代码示例。如果您正苦于以下问题:Java MathTransformFactory类的具体用法?Java MathTransformFactory怎么用?Java MathTransformFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MathTransformFactory类属于org.opengis.referencing.operation包,在下文中一共展示了MathTransformFactory类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: toMathTransform2D

import org.opengis.referencing.operation.MathTransformFactory; //导入依赖的package包/类
/**
 * Returns the math transform for the two specified dimensions of the specified transform.
 *
 * @param transform The transform.
 * @param mtFactory The factory to use for extracting the sub-transform.
 *
 * @return The {@link MathTransform2D} part of {@code transform}.
 *
 * @throws FactoryException If {@code transform} is not separable.
 */
private static MathTransform2D toMathTransform2D(final MathTransform transform,
                                                 final MathTransformFactory mtFactory) throws FactoryException {
    final DimensionFilter filter = new DimensionFilter(mtFactory);
    filter.addSourceDimension(DIMENSION_X_INDEX);
    filter.addSourceDimension(DIMENSION_Y_INDEX);
    MathTransform candidate = filter.separate(transform);
    if (candidate instanceof MathTransform2D) {
        return (MathTransform2D) candidate;
    }
    filter.addTargetDimension(DIMENSION_X_INDEX);
    filter.addTargetDimension(DIMENSION_Y_INDEX);
    candidate = filter.separate(transform);
    if (candidate instanceof MathTransform2D) {
        return (MathTransform2D) candidate;
    }
    throw new FactoryException(Errors.format(ErrorKeys.NO_TRANSFORM2D_AVAILABLE));
}
 
开发者ID:senbox-org,项目名称:s2tbx,代码行数:28,代码来源:Reproject.java

示例2: getCRS

import org.opengis.referencing.operation.MathTransformFactory; //导入依赖的package包/类
@Override
public CoordinateReferenceSystem getCRS(final GeoPos referencePos, ParameterValueGroup parameters,
                                        GeodeticDatum datum) throws FactoryException {
    final CRSFactory crsFactory = ReferencingFactoryFinder.getCRSFactory(null);
    // in some cases, depending on the parameters set, the effective transformation can be different
    // from the transformation given by the OperationMethod.
    // So we create a new one
    final MathTransformFactory mtFactory = ReferencingFactoryFinder.getMathTransformFactory(null);
    final MathTransform transform = mtFactory.createParameterizedTransform(parameters);
    final DefaultOperationMethod operationMethod = new DefaultOperationMethod(transform);

    final Conversion conversion = new DefiningConversion(AbstractIdentifiedObject.getProperties(operationMethod),
                                                         operationMethod, transform);

    final HashMap<String, Object> baseCrsProperties = new HashMap<String, Object>();
    baseCrsProperties.put("name", datum.getName().getCode());
    GeographicCRS baseCrs = crsFactory.createGeographicCRS(baseCrsProperties,
                                                           datum,
                                                           DefaultEllipsoidalCS.GEODETIC_2D);

    final HashMap<String, Object> projProperties = new HashMap<String, Object>();
    projProperties.put("name", conversion.getName().getCode() + " / " + datum.getName().getCode());
    return crsFactory.createProjectedCRS(projProperties, baseCrs, conversion, DefaultCartesianCS.PROJECTED);
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:25,代码来源:OperationMethodCrsProvider.java

示例3: createCrsProviderSet

import org.opengis.referencing.operation.MathTransformFactory; //导入依赖的package包/类
public static Set<AbstractCrsProvider> createCrsProviderSet() {
    MathTransformFactory factory = ReferencingFactoryFinder.getMathTransformFactory(null);
    Set<OperationMethod> methods = factory.getAvailableMethods(Projection.class);

    TreeSet<AbstractCrsProvider> crsProviderSet = new TreeSet<>(new CrsProviderComparator());
    for (OperationMethod method : methods) {
        crsProviderSet.add(new OperationMethodCrsProvider(method));
    }

    return crsProviderSet;
}
 
开发者ID:senbox-org,项目名称:snap-desktop,代码行数:12,代码来源:CustomCrsPanel.java

示例4: createCRSByHand1

import org.opengis.referencing.operation.MathTransformFactory; //导入依赖的package包/类
/**
 * Creates a WGS 84/UTM Zone 10N CRS mostly (uses some premade objects) by hand. Uses the higher
 * level FactoryGroup instead of the lower level MathTransformFactory (commented out).
 * 
 * @throws Exception
 */
void createCRSByHand1() throws Exception {
    System.out.println("------------------------------------------");
    System.out.println("Creating a CRS by hand:");
    // createCRSByHand1 start
    MathTransformFactory mtFactory = ReferencingFactoryFinder.getMathTransformFactory(null);
    CRSFactory crsFactory = ReferencingFactoryFinder.getCRSFactory(null);
    
    GeographicCRS geoCRS = org.geotools.referencing.crs.DefaultGeographicCRS.WGS84;
    CartesianCS cartCS = org.geotools.referencing.cs.DefaultCartesianCS.GENERIC_2D;
    
    ParameterValueGroup parameters = mtFactory.getDefaultParameters("Transverse_Mercator");
    parameters.parameter("central_meridian").setValue(-111.0);
    parameters.parameter("latitude_of_origin").setValue(0.0);
    parameters.parameter("scale_factor").setValue(0.9996);
    parameters.parameter("false_easting").setValue(500000.0);
    parameters.parameter("false_northing").setValue(0.0);
    Conversion conversion = new DefiningConversion("Transverse_Mercator", parameters);
    
    Map<String, ?> properties = Collections.singletonMap("name", "WGS 84 / UTM Zone 12N");
    ProjectedCRS projCRS = crsFactory.createProjectedCRS(properties, geoCRS, conversion, cartCS);
    // createCRSByHand1 end
    
    // parameters.parameter("semi_major").setValue(((GeodeticDatum)geoCRS.getDatum()).getEllipsoid().getSemiMajorAxis());
    // parameters.parameter("semi_minor").setValue(((GeodeticDatum)geoCRS.getDatum()).getEllipsoid().getSemiMinorAxis());
    
    // MathTransform trans = mtFactory.createParameterizedTransform(parameters);
    // ProjectedCRS projCRS = crsFactory.createProjectedCRS(
    // Collections.singletonMap("name", "WGS 84 / UTM Zone 12N"),
    // new org.geotools.referencing.operation.OperationMethod(trans),
    // geoCRS, trans, cartCS);
    System.out.println("  Projected CRS: " + projCRS.toWKT());
    System.out.println("------------------------------------------");
    
    // save for later use in createMathTransformBetweenCRSs()
    this.utm10NCRS = projCRS;
}
 
开发者ID:ianturton,项目名称:geotools-cookbook,代码行数:43,代码来源:ReferencingExamples.java


注:本文中的org.opengis.referencing.operation.MathTransformFactory类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。