/** * Constructs a new geodetic calculator expecting coordinates in the supplied CRS. The ellipsoid * will be inferred from the CRS. * * @param crs The reference system for the {@link Position} objects. * @since 2.2 */ public GeodeticCalculator(final CoordinateReferenceSystem crs) { this(CRS.getEllipsoid(crs), crs); }
/** * Returns the first ellipsoid found in a coordinate reference system, or {@code null} if there * is none. * * @param crs The coordinate reference system, or {@code null}. * @return The ellipsoid, or {@code null} if none. * @since 2.4 */ public static Ellipsoid getEllipsoid(final CoordinateReferenceSystem crs) { final Datum datum = CRSUtilities.getDatum(crs); if (datum instanceof GeodeticDatum) { return ((GeodeticDatum) datum).getEllipsoid(); } if (crs instanceof CompoundCRS) { final CompoundCRS cp = (CompoundCRS) crs; for (final CoordinateReferenceSystem c : cp.getCoordinateReferenceSystems()) { final Ellipsoid candidate = getEllipsoid(c); if (candidate != null) { return candidate; } } } return null; }
public Object getValue(final GridCoverage coverage) { return CRS.getEllipsoid(coverage.getCoordinateReferenceSystem()); } };
private ObservationIterator(Product product, SamplePointer pointer, BinningContext binningContext) { this.pointer = pointer; this.dataPeriod = binningContext.getDataPeriod(); Geometry geometryRegion = binningContext.getRegion(); if (geometryRegion != null) { this.region = PreparedGeometryFactory.prepare(binningContext.getRegion()); } else { this.region = null; } this.product = product; this.productHasTime = product.getStartTime() != null || product.getEndTime() != null; this.gc = product.getGeoCoding(); Ellipsoid ellipsoid = CRS.getEllipsoid(gc.getMapCRS()); earthRadius = ellipsoid != null ? ellipsoid.getSemiMajorAxis() : DefaultEllipsoid.WGS84.getSemiMajorAxis(); geometryFactory = new GeometryFactory(); maxDistanceOnEarth = binningContext.getMaxDistanceOnEarth(); }
this.imageToMap = imageToMap; setMapCRS(mapCRS); org.opengis.referencing.datum.Ellipsoid gtEllipsoid = CRS.getEllipsoid(mapCRS); String ellipsoidName = gtEllipsoid.getName().getCode(); Ellipsoid ellipsoid = new Ellipsoid(ellipsoidName,