All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opengis.geometry.coordinate.Sphere Maven / Gradle / Ivy

There is a newer version: 24.2-oss84-1
Show newest version
/*
 *    GeoTools - The Open Source Java GIS Toolkit
 *    http://geotools.org
 *
 *    (C) 2011, Open Source Geospatial Foundation (OSGeo)
 *    (C) 2003-2005, Open Geospatial Consortium Inc.
 *
 *    All Rights Reserved. http://www.opengis.org/legal/
 */
package org.opengis.geometry.coordinate;

import static org.opengis.annotation.Specification.*;

import org.opengis.annotation.UML;

/**
 * A {@linkplain GriddedSurface gridded surface} given as a family of circles whose positions vary
 * linearly along the axis of the sphere, and whose radius varies in proportion to the cosine
 * function of the central angle. The horizontal circles resemble lines of constant latitude, and
 * the vertical arcs resemble lines of constant longitude. If the {@linkplain #getControlPoints
 * control points} are sorted in terms of increasing longitude, and increasing latitude, the
 * {@linkplain #getUpNormal upNormal} of a sphere is the outward normal.
 *
 * 

Example: If we take a gridded set of latitudes and longitudes in degrees, * (u, v), such as * *

* *
 * (-90, -180) (-90, -90) (-90, 0) (-90, 90) (-90, 180)
 * (-45, -180) (-45, -90) (-45, 0) (-45, 90) (-45, 180)
 * (  0, -180) (  0, -90) (  0, 0) (  0, 90) (  0, 180)
 * ( 45, -180) ( 45, -90) ( 45, 0) (45, -90) ( 45, 180)
 * ( 90, -180) ( 90, -90) ( 90, 0) (90, -90) ( 90, 180)
 * 
* * and map these points to 3D using the usual equations (where R is the radius of the * required sphere) * *
* * z = R sin(u) x = R cos(u) * sin(v) y = R cos(u) cos(v) * *
* * we have a sphere of radius R, centered at (0, 0), as a gridded surface. Notice * that the entire first row and the entire last row of the control points map to a single point * each in 3D Euclidean space, North and South poles respectively, and that each horizontal curve * closes back on it self forming a geometric cycle. This gives us a metrically bounded (of finite * size), topologically unbounded (not having a boundary, a cycle) surface. * * @version ISO 19107 * @author Martin Desruisseaux (IRD) * @since GeoAPI 2.0 */ @UML(identifier = "GM_Sphere", specification = ISO_19107) public interface Sphere extends GriddedSurface {}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy