UTM
        
        extends Ellipsoid
    
    
            
            in package
            
        
    
            
            implements
                            iCoordSys                    
    
    
définition des systèmes de coordonnées UTM zone
La projection UTM est définie par zone correspondant à un fuseau de 6 degrés en séparant l’hémisphère Nord du Sud. Soit au total 120 zones (60 pour le Nord et 60 pour le Sud). Cette zone est définie sur 3 caractères, les 2 premiers indiquant le no de fuseau et le 3ème N ou S. La projection UTM peut être définie sur différents ellipsoides. L'exemple USGS utilise l'ellipsoide de Clarke 1866.
Table of Contents
Interfaces
- iCoordSys
- interface de définition d'un système de coordonnées
Constants
- DEFAULT = 'IAG_GRS_1980'
- ErrorUndef = 'Ellipsoid::ErrorUndef'
- k0 = 0.9996
- PARAMS = ['IAG_GRS_1980' => \coordsys\IAG_GRS_1980::PARAMS, 'WGS-84' => [ 'title' => "Ellipsoide WGS-84 utilisé pour le GPS, quasiment identique à l'IAG_GRS-1980", 'epsg' => 'EPSG:4326', 'a' => 6378137.0, // Demi grand axe de l'ellipsoide - en anglais Equatorial radius - en mètres 'f' => 1 / 298.257223563, ], 'Clarke1866' => [ 'title' => "Ellipsoide Clarke 1866", 'epsg' => 'EPSG:7008', 'comment' => "Ellipsoide utilisé pour le système géodésique North American Datum 1927 (NAD 27) utilisé aux USA", 'a' => 6378206.4, // Demi grand axe de l'ellipsoide 'b' => 6356583.8, // Demi petit axe 'f' => 1 / 294.978698214, ]]
- constante définissant différents ellipsoides
Properties
- $current : string
- ellipsoide courant, par défaut IAG_GRS_1980
Methods
- a() : float
- available() : array<int, string>
- retourne la liste des ellipsoides proposés
- current() : string
- retourne l'ellipsoide courant
- distanceAlongMeridianFromTheEquatorToLatitude() : float
- e() : float
- e2() : float
- geo() : TPos
- coord. UTM zone -> [lon, lat] en degrés
- lambda0() : float
- proj() : TPos
- (lon, lat) en degrés déc. -> [X, Y] en UTM zone
- set() : void
- Définition d'un ellipsoide
- Xs() : float
- Ys() : float
- zone() : string
- (longitude, latitude) en degrés -> zone UTM
- param() : float|null
- retourne la valeur d'un paramètre stocké pour l'ellipsoide courant
Constants
DEFAULT
    public
        mixed
    DEFAULT
    = 'IAG_GRS_1980'
    
    
    
ErrorUndef
    public
        mixed
    ErrorUndef
    = 'Ellipsoid::ErrorUndef'
    
    
    
k0
    public
        mixed
    k0
    = 0.9996
    
    
    
PARAMS
constante définissant différents ellipsoides
    public
        mixed
    PARAMS
    = ['IAG_GRS_1980' => \coordsys\IAG_GRS_1980::PARAMS, 'WGS-84' => [
    'title' => "Ellipsoide WGS-84 utilisé pour le GPS, quasiment identique à l'IAG_GRS-1980",
    'epsg' => 'EPSG:4326',
    'a' => 6378137.0,
    // Demi grand axe de l'ellipsoide - en anglais Equatorial radius - en mètres
    'f' => 1 / 298.257223563,
], 'Clarke1866' => [
    'title' => "Ellipsoide Clarke 1866",
    'epsg' => 'EPSG:7008',
    'comment' => "Ellipsoide utilisé pour le système géodésique North American Datum 1927 (NAD 27) utilisé aux USA",
    'a' => 6378206.4,
    // Demi grand axe de l'ellipsoide
    'b' => 6356583.8,
    // Demi petit axe
    'f' => 1 / 294.978698214,
]]
    
    
    
Properties
$current
ellipsoide courant, par défaut IAG_GRS_1980
    public
    static    string
    $current
     = self::DEFAULT
    
    
    
Methods
a()
    public
            static        a() : float
    Return values
floatavailable()
retourne la liste des ellipsoides proposés
    public
            static        available() : array<int, string>
    Return values
array<int, string>current()
retourne l'ellipsoide courant
    public
            static        current() : string
    Return values
stringdistanceAlongMeridianFromTheEquatorToLatitude()
    public
            static        distanceAlongMeridianFromTheEquatorToLatitude(float $phi) : float
    Parameters
- $phi : float
Return values
floate()
    public
            static        e() : float
    Return values
floate2()
    public
            static        e2() : float
    Return values
floatgeo()
coord. UTM zone -> [lon, lat] en degrés
    public
            static        geo(array<string|int, mixed> $xy[, string|null $zone = null ]) : TPos
    Parameters
- $xy : array<string|int, mixed>
- 
                    coordonnées projetées [X, Y] 
- $zone : string|null = null
Return values
TPos —position géographique (longitude, latitude) en degrés déc.
lambda0()
    public
            static        lambda0(int $nozone) : float
    Parameters
- $nozone : int
Return values
floatproj()
(lon, lat) en degrés déc. -> [X, Y] en UTM zone
    public
            static        proj(array<string|int, mixed> $lonlat[, string|null $zone = null ]) : TPos
    Parameters
- $lonlat : array<string|int, mixed>
- 
                    position géographique (longitude, latitude) en degrés déc. 
- $zone : string|null = null
Return values
TPos —coordonnées projetées [X, Y]
set()
Définition d'un ellipsoide
    public
            static        set([string $ellipsoid = self::DEFAULT ]) : void
    Parameters
- $ellipsoid : string = self::DEFAULT
Xs()
    public
            static        Xs() : float
    Return values
floatYs()
    public
            static        Ys(string $NS) : float
    Parameters
- $NS : string
Return values
floatzone()
(longitude, latitude) en degrés -> zone UTM
    public
            static        zone(TPos $pos) : string
    Parameters
- $pos : TPos
Return values
stringparam()
retourne la valeur d'un paramètre stocké pour l'ellipsoide courant
    private
            static        param(string $name) : float|null
    Parameters
- $name : string