Projection Eckert VI
Ce calculateur de projection Eckert VI convertit une coordonnée de latitude et de longitude en valeurs planes x et y sur une carte mondiale sphérique Eckert VI.
Lancer gratuitement
Il résout l’angle auxiliaire pseudocylindrique de la projection, puis applique les équations directes équivalentes avec le rayon de sphère et le méridien central que vous choisissez. Le résultat indique également l’angle auxiliaire calculé en degrés, afin que vous puissiez facilement contrôler, reproduire ou comparer l’opération avec des logiciels SIG et des références cartographiques.
Fonctionnement de la projection directe Eckert VI
Eckert VI est une projection pseudocylindrique équivalente conçue pour les cartes mondiales complètes. La latitude n’intervient pas directement dans les équations finales des coordonnées. Le calculateur convertit d’abord la latitude φ en radians, puis détermine un angle auxiliaire θ qui vérifie θ + sin θ = (1 + π/2) sin φ. Cette relation implicite possède une solution unique entre −π/2 et π/2 pour chaque latitude valide. La présente implémentation utilise une bissection bornée, déterministe et stable, y compris aux hautes latitudes. Elle calcule ensuite x = 2Rλ(1 + cos θ)/√(2 + π) et y = 2Rθ/√(2 + π), où R représente le rayon de la sphère et λ la longitude relative au méridien central choisi. Le rayon multipliant les deux axes, une valeur de un fournit des coordonnées normalisées, tandis qu’un rayon exprimé en mètres ou en kilomètres produit des coordonnées dans la même unité. L’angle auxiliaire renvoyé vous aide à contrôler les étapes intermédiaires et à expliquer pourquoi les parallèles se rapprochent progressivement vers les pôles.
Choix des entrées, des unités et de la précision
Saisissez la latitude et la longitude en degrés décimaux. La latitude doit être comprise entre −90 et 90, et la longitude entre −180 et 180. Le méridien central facultatif définit la longitude représentée par x = 0 ; sa valeur par défaut est Greenwich, à zéro degré. Choisir un méridien proche du centre d’une région permet, par exemple, de maintenir celle-ci près du centre de la carte obtenue. Le rayon vaut un par défaut, ce qui convient aux comparaisons mathématiques et aux graphiques normalisés. Indiquez un rayon terrestre positif si vous avez besoin de coordonnées linéaires, en gardant à l’esprit que cette projection Eckert VI suppose une sphère et non un ellipsoïde. L’option des décimales ne règle que les valeurs publiées de x, y et θ : le calcul conserve la précision en virgule flottante de JavaScript jusqu’à l’arrondi final. De zéro à douze décimales sont acceptées. Les écarts de longitude restent relatifs au méridien indiqué et ne sont pas normalisés silencieusement. Toute valeur absente, non finie, hors plage ou non valide produit une erreur de saisie typée.
Interprétation et utilisation des coordonnées projetées
Considérez le résultat x et y comme un point dans le plan d’une carte Eckert VI, et non comme une coordonnée universelle de distance terrestre. La projection conserve les superficies sur la sphère ; elle convient donc aux cartes mondiales thématiques où la taille relative des régions importe, mais elle ne préserve pas partout les formes, les angles, les directions ni les distances. L’équateur et le méridien central sont droits, tandis que les autres méridiens sont courbes et que les pôles apparaissent sous forme de lignes plutôt que de points uniques. Une coordonnée dont la longitude correspond au méridien central possède x = 0, et un point situé sur l’équateur possède y = 0. Avec un rayon égal à un, associez le point normalisé aux mêmes constantes que votre moteur de rendu. Avec un rayon en mètres, x et y sont également en mètres, mais leur écart euclidien ne constitue pas automatiquement une distance géodésique. Ce calculateur effectue uniquement la transformation sphérique directe : il ne choisit aucun datum, ne convertit aucun ellipsoïde, ne découpe pas les bords, ne dessine pas de graticule et n’effectue pas la transformation inverse. L’utilisation de l’API est facturée à partir de $0.002 par requête.
Cas d’usage
Créer une carte mondiale thématique équivalente
Projetez des observations géographiques avant de tracer des symboles ou des régions sur une carte Eckert VI où la proportion des superficies est essentielle.
Contrôler une implémentation SIG ou cartographique
Comparez des latitudes et longitudes connues, les résultats projetés et l’angle auxiliaire avec une autre implémentation sphérique d’Eckert VI.
Enseigner les équations pseudocylindriques
Présentez l’angle auxiliaire résolu avec x et y afin que les élèves suivent étape par étape la transformation implicite de la latitude.
Questions fréquentes
Eckert VI est-elle une projection équivalente ?
Oui. Les équations sphériques d’Eckert VI préservent les superficies relatives, mais pas toutes les formes, tous les angles, toutes les directions ni toutes les distances.
Que détermine le rayon ?
Il fixe l’échelle et l’unité de x et y. Utilisez un pour des coordonnées normalisées, ou indiquez un rayon sphérique positif en mètres, kilomètres ou dans une autre unité linéaire.
Qu’est-ce que l’angle auxiliaire ?
Il s’agit de θ, l’unique angle qui vérifie θ + sin θ = (1 + π/2) sin φ pour la latitude géographique φ fournie.
Puis-je modifier le méridien central ?
Oui. Indiquez central_meridian en degrés décimaux ; le méridien choisi sera représenté par x = 0.
Combien coûte une requête API ?
Les requêtes API sont facturées à partir de $0.002. L’implémentation dans le navigateur utilise la même logique de projection déterministe.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/geo/eckert-vi-project \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat":40.7128,"lon":-74.006}'const res = await fetch("https://api.kit.forhosting.com/geo/eckert-vi-project", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat": 40.7128,
"lon": -74.006
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/eckert-vi-project",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat": 40.7128,
"lon": -74.006
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/eckert-vi-project", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat":40.7128,"lon":-74.006}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat":40.7128,"lon":-74.006}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/eckert-vi-project", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"lat": 40.7128,
"lon": -74.006
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.eckert_vi_project",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |