Projection Hammer : latitude et longitude vers x, y
Le calculateur de projection Hammer convertit une latitude et une longitude géographiques en coordonnées planes x et y pour une carte mondiale équivalente.
Lancer gratuitement
Il applique la modification elliptique classique de la projection azimutale équivalente de Lambert et propose un méridien central, un rayon d’échelle et une précision configurables. Vous pouvez vérifier des calculs cartographiques, préparer des coordonnées normalisées pour une visualisation ou expliquer le compromis entre formes et conservation des surfaces. Chaque résultat est déterministe, calculé sans réseau et accompagné de l’écart de longitude normalisé afin de rendre la transformation vérifiable.
Principe de la transformation de Hammer
La projection Hammer inscrit le globe dans une ellipse tout en conservant les surfaces relatives. Le calculateur convertit d’abord la latitude et l’écart de longitude des degrés en radians. Il divise cet écart par deux, puis calcule le dénominateur commun avec le cosinus de la latitude et celui de la demi-longitude. La coordonnée horizontale combine le cosinus de latitude et le sinus de demi-longitude ; la verticale emploie le sinus de latitude. Des facteurs fixes en racine de deux donnent le contour caractéristique. Il s’agit uniquement d’une projection sphérique directe : une position géographique devient un point du plan. Les angles, distances et formes locales ne sont pas préservés. Le résultat rappelle les entrées, le méridien, l’écart normalisé et le rayon. Les calculs gardent toute la précision numérique disponible et ne sont arrondis qu’une fois, à la fin.
Choisir le méridien, l’échelle et la précision
La latitude doit être comprise entre -90 et 90 degrés, pôles inclus. La longitude et le méridien central acceptent toute valeur finie, car leur différence est ramenée à l’intervalle de la carte mondiale. Des longitudes séparées par un tour complet produisent donc le même point. Le méridien central détermine la longitude au milieu de la carte : conservez zéro pour Greenwich ou choisissez une valeur proche de la région à éloigner de la coupure. Le rayon est un facteur d’échelle positif, et non un datum terrestre. Un rayon égal à un fournit des coordonnées normalisées ; toute multiplication agrandit x et y dans la même proportion. Le nombre de décimales va de zéro à douze et vaut six par défaut. Des chiffres supplémentaires n’améliorent pas le modèle sphérique. Les champs absents, chaînes numériques, infinis et plages incorrectes déclenchent une erreur d’entrée explicite.
Bien exploiter des coordonnées équivalentes
Hammer convient aux cartes mondiales thématiques où la comparaison visuelle des surfaces est essentielle. Cartes choroplèthes, densités mondiales, atlas pédagogiques et répartitions profitent de sa propriété équivalente et de son contour compact. Vous pouvez transmettre x et y à un moteur graphique après avoir défini le cadrage : placez généralement l’origine au centre, appliquez une échelle uniforme et inversez y si l’écran croît vers le bas. Gardez le même méridien central pour tout le jeu de données. Lorsqu’une ligne ou un polygone traverse la coupure, ses sommets sont justes, mais la géométrie doit parfois être scindée pour éviter un trait parasite à travers la carte. Ne considérez pas ces valeurs comme des mètres et ne les combinez pas avec des tuiles Web Mercator. Hammer conserve les surfaces mondiales, mais ni les azimuts, ni les routes droites, ni les angles locaux, ni un référentiel ellipsoïdal officiel.
Cas d’usage
Préparer des points pour une carte thématique
Convertissez des observations géographiques en coordonnées équivalentes normalisées avant leur mise à l’échelle dans SVG, canvas ou un graphique.
Contrôler une implémentation cartographique
Comparez des coordonnées connues à des résultats Hammer déterministes pour tester code, méridien central ou rendu.
Illustrer la déformation des projections
Créez des points pédagogiques afin de comparer la conservation des surfaces de Hammer aux formes produites par d’autres projections.
Questions fréquentes
Quel est le prix d’une requête API ?
Le tarif de base est de $0.002 par coordonnée projetée. Le calculateur web peut aussi exécuter localement cette fonction déterministe.
Hammer conserve-t-elle distances ou angles ?
Non. Elle conserve les surfaces sur la sphère, mais déforme distances, directions, angles et formes, surtout près du bord.
Quelles sont les unités de x et y ?
Ce sont les unités arbitraires du rayon. Choisissez un rayon égal à un pour normaliser, puis appliquez votre échelle d’affichage.
Pourquoi normaliser la longitude ?
Une carte mondiale couvre un tour complet. La normalisation réunit les longitudes équivalentes et place la coupure face au méridien choisi.
Puis-je changer la région centrale ?
Oui. Définissez central_meridian_deg sur la longitude qui doit traverser le centre de la carte Hammer.
Un datum terrestre ellipsoïdal est-il utilisé ?
Non. C’est la formule sphérique standard de Hammer avec un rayon configurable, et non une transformation de datum ou un référentiel ellipsoïdal.
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/hammer-project \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat_deg":40.7128,"lon_deg":-74.006}'const res = await fetch("https://api.kit.forhosting.com/geo/hammer-project", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat_deg": 40.7128,
"lon_deg": -74.006
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/hammer-project",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat_deg": 40.7128,
"lon_deg": -74.006
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/hammer-project", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat_deg":40.7128,"lon_deg":-74.006}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat_deg":40.7128,"lon_deg":-74.006}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/hammer-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_deg": 40.7128,
"lon_deg": -74.006
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.hammer_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. |