Calculateur de précession nodale J2 pour les orbites
Voyez comment le renflement d'une planète fait pivoter lentement une orbite : avec un demi-grand axe de 7000 km et une inclinaison de 98 degrés autour de la Terre, le nœud ascendant avance d'environ un degré par jour. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Demi-grand axe
- 7 000
- Excentricité
- 0,001
- Inclinaison (degrés)
- 98
- J2
- 0,0010826267
- Rayon du corps
- 6 378,137
- Taux de précession nodale (rad/s)
- 0,0000002023
- Taux de précession nodale (°/jour)
- 1,0013270925
- Mouvement moyen (rad/s)
- 0,0010780076
- Demi-paramètre
- 6 999,993
Ce calculateur de précession nodale J2 estime la dérive séculaire du nœud ascendant d’une orbite provoquée par l’aplatissement du corps central. Saisissez le demi-grand axe, l’excentricité, l’inclinaison équatoriale, le coefficient J2 et le rayon équatorial. Le calcul applique le modèle perturbatif moyenné du premier ordre et fournit des radians par seconde ainsi que des degrés par jour. Le paramètre gravitationnel terrestre est proposé par défaut, mais vous pouvez en indiquer un autre pour représenter tout corps aplati.
Fournissez un modèle orbital et physique cohérent
La valeur par défaut correspond à la Terre avec des unités kilométriques. L’inclinaison est mesurée en degrés par rapport au plan équatorial du corps central, et non par rapport à l’écliptique ou à un autre plan de mission. L’excentricité est sans dimension, peut être nulle et doit rester inférieure à un.
J2 est également sans dimension et généralement positif pour une planète aplatie. Le demi-grand axe est une distance depuis le centre, pas une altitude au-dessus de la surface. Pour une orbite basse presque circulaire, ajoutez le rayon du corps à l’altitude approximative.
Un demi-grand axe nul ou négatif est refusé, car il ne décrit pas l’orbite elliptique requise par ce modèle.
Comprenez le calcul J2 du premier ordre
Le calculateur détermine d’abord le mouvement moyen comme la racine carrée du paramètre gravitationnel divisée par le cube du demi-grand axe. Il forme ensuite le paramètre de l’ellipse p en multipliant a par un moins l’excentricité au carré. Le taux séculaire du nœud vaut moins trois demis fois J2, le mouvement moyen, le carré du rapport entre le rayon du corps et p, puis le cosinus de l’inclinaison.
Il s’agit du résultat standard du premier ordre, moyenné sur l’orbite, pour l’ascension droite du nœud ascendant. Le signe est physique : une orbite prograde sous quatre-vingt-dix degrés donne habituellement une régression négative, tandis qu’une orbite rétrograde au-dessus de cet angle produit généralement un taux positif. Pour une orbite exactement polaire, le terme idéal est presque nul.
La réponse contient les deux unités du taux et les valeurs intermédiaires utiles au contrôle.
Respectez le domaine de validité de l’estimation
Considérez ce résultat comme une estimation séculaire de conception, et non comme un propagateur orbital complet. La formule moyenne la perturbation J2 et néglige les oscillations à courte période, les harmoniques supérieurs, la gravité des corps tiers, la traînée atmosphérique, la pression du rayonnement solaire, les marées, la précession du corps et les manœuvres. Elle convient pour examiner une orbite héliosynchrone, comparer des inclinaisons, estimer la rotation d’un plan orbital ou valider une autre implémentation.
Pour une étude héliosynchrone, comparez le signe et la valeur en degrés par jour au mouvement annuel apparent imposé par votre convention, puis affinez avec un propagateur haute fidélité. Ne mélangez pas éléments moyens et osculateurs sans connaître la convention des données. Employez des constantes issues du même référentiel lorsque la précision compte.
Cas d’usage
Évaluer une orbite héliosynchrone
Comparez des altitudes et inclinaisons candidates grâce au signe et à l’amplitude de la dérive nodale J2 prévue.
Explorer les effets du corps central
Remplacez J2, le rayon et le paramètre gravitationnel par des valeurs cohérentes pour comparer des corps aplatis idéalisés.
Questions fréquentes
Quelle équation le calculateur applique-t-il ?
Il applique l’équation séculaire J2 du premier ordre : moins trois demis fois J2, le mouvement moyen, le carré du rapport rayon équatorial-paramètre de l’ellipse, puis le cosinus de l’inclinaison.
Pourquoi le taux est-il négatif pour beaucoup d’orbites progrades ?
Sous quatre-vingt-dix degrés, le cosinus est positif ; le signe moins entraîne donc une régression vers l’ouest du nœud ascendant.
Puis-je saisir l’altitude au lieu du demi-grand axe ?
Non. Saisissez le demi-grand axe mesuré depuis le centre. Pour une orbite presque circulaire, l’altitude plus le rayon du corps constitue une conversion approximative.
Quelles unités dois-je employer ?
Gardez une même unité de longueur pour le demi-grand axe et le rayon, puis son cube par seconde carrée pour le paramètre gravitationnel. La valeur terrestre par défaut utilise les kilomètres.
Ce calcul remplace-t-il une propagation orbitale numérique ?
Non. C’est une estimation J2 moyennée du premier ordre qui omet les autres harmoniques, la traînée, les corps tiers, le rayonnement, les manœuvres et les effets à courte période.
Outils associés
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/astro/nodal-regression-rate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"semi_major_axis":7000,"eccentricity":0.001,"inclination_degrees":98,"j2":0.00108262668,"body_radius":6378.137}'const res = await fetch("https://api.kit.forhosting.com/astro/nodal-regression-rate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"semi_major_axis": 7000,
"eccentricity": 0.001,
"inclination_degrees": 98,
"j2": 0.00108262668,
"body_radius": 6378.137
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/nodal-regression-rate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"semi_major_axis": 7000,
"eccentricity": 0.001,
"inclination_degrees": 98,
"j2": 0.00108262668,
"body_radius": 6378.137
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/nodal-regression-rate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"semi_major_axis":7000,"eccentricity":0.001,"inclination_degrees":98,"j2":0.00108262668,"body_radius":6378.137}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"semi_major_axis":7000,"eccentricity":0.001,"inclination_degrees":98,"j2":0.00108262668,"body_radius":6378.137}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/nodal-regression-rate", 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
{
"semi_major_axis": 7000,
"eccentricity": 0.001,
"inclination_degrees": 98,
"j2": 0.00108262668,
"body_radius": 6378.137
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.nodal_regression_rate",
"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. |
Notes techniques
Fournissez un modèle orbital et physique cohérent
Utilisez la même unité de longueur pour semi_major_axis et body_radius. Si ces deux grandeurs sont en kilomètres, gravitational_parameter doit être exprimé en kilomètres cubes par seconde carrée ; si elles sont en mètres, employez des mètres cubes par seconde carrée.
Respectez le domaine de validité de l’estimation
Le navigateur et l’API exécutent le même algorithme pur ; chaque requête API réussie coûte $0.002. Une entrée invalide renvoie invalid_input.
Cas d'intégration
Contrôler un logiciel de dynamique du vol
Utilisez un résultat déterministe du premier ordre comme test de régression d’une bibliothèque d’analyse orbitale.