ForHosting KIT · Outils pour développeurs

Densifier une ligne géodésique avec des sommets réguliers

Densifiez une ligne géographique en insérant des sommets intermédiaires de latitude et de longitude sur chaque segment.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Fournissez une ligne ordonnée et un espacement maximal en mètres : le résultat suivra l’arc de grand cercle le plus court et garantira qu’aucun intervalle créé ne dépasse cette valeur. Les sommets d’origine restent dans le même ordre, tandis que les décomptes et les synthèses de distance facilitent le contrôle, la cartographie ou la réutilisation dans un autre traitement spatial, sans logiciel SIG de bureau.

Choisissez un espacement adapté au traitement suivant

La densification d’une ligne est utile lorsqu’une opération exige des échantillons plus fréquents que ceux fournis par la géométrie source. Commencez par une liste ordonnée d’enregistrements contenant lat et lon, puis définissez spacing_m comme l’intervalle maximal acceptable en mètres. Le calculateur examine séparément chaque segment d’origine. Si un segment est déjà plus court que l’espacement demandé, il reste un intervalle unique et aucun point superflu n’est ajouté. S’il est plus long, il est partagé en un nombre entier minimal d’intervalles géodésiques de même longueur respectant le maximum. L’espacement constitue donc un plafond, et non l’obligation d’obtenir partout exactement la valeur indiquée. Chaque segment étant divisé indépendamment, son extrémité est conservée et le segment suivant repart précisément du sommet d’origine. Un espacement large convient aux cartes d’ensemble ; choisissez une valeur plus fine pour des relevés de terrain, de couverture, des animations ou des calculs supposant des arêtes courtes. Une valeur trop faible peut produire beaucoup de points : la capacité refuse alors tout résultat dépassant sa limite au lieu de tronquer silencieusement la ligne.

Comprenez le calcul géodésique sphérique

Chaque paire de coordonnées consécutives définit un segment sur une sphère. L’algorithme convertit les deux extrémités en vecteurs unitaires tridimensionnels, mesure leur angle au centre et interpole le long de l’arc de grand cercle le plus court. La distance est cet angle multiplié par earth_radius_m, dont la valeur par défaut est le rayon terrestre moyen conventionnel. Cette méthode traite correctement le franchissement de l’antiméridien : une ligne allant de 179 degrés est à 179 degrés ouest emprunte le court passage près de la ligne de changement de date. Elle évite aussi d’assimiler latitude et longitude à des coordonnées cartésiennes planes, approximation trompeuse sur de longues distances ou près des pôles. Les coordonnées conservées et ajoutées sont déterministes et arrondies avec une précision stable pour fiabiliser les comparaisons JSON. Deux points consécutifs identiques sont maintenus, car ils peuvent avoir une signification structurelle, même si leur distance est nulle. Les extrémités strictement antipodales sont refusées : une infinité de grands cercles relient deux points opposés, sans trajet court unique. Pour des travaux topographiques ellipsoïdaux, notez qu’une sphère configurable est utilisée et non l’ellipsoïde WGS-84 complet.

Lisez et contrôlez le résultat

Le résultat principal, vertices, est une liste ordonnée prête à être sérialisée comme coordonnées ou convertie dans le format géométrique de votre application. Les première et dernière coordonnées sont les extrémités source, et chaque sommet intérieur d’origine figure à la jonction de ses segments. La réponse fournit également input_vertices, output_vertices et inserted_vertices afin de rendre l’expansion explicite et de maîtriser les budgets de stockage ou d’affichage. total_distance_m additionne les longueurs géodésiques initiales. max_segment_distance_m indique le plus grand intervalle réel après subdivision ; il doit rester inférieur ou égal à l’espacement demandé, hormis un arrondi numérique négligeable. Contrôlez ce champ lorsque la densification protège une contrainte d’échantillonnage ultérieure. Lors d’une conversion en GeoJSON, conservez l’ordre tout en sachant que les paires y placent généralement la longitude avant la latitude, alors que cette API emploie les propriétés nommées lat et lon. Le calcul est pur, sans appel réseau ni conservation de la ligne. Vous pouvez effectuer un contrôle interactif dans le navigateur ou automatiser l’API pour $0.002 par requête, avec une structure déterministe identique.

Préparer un itinéraire à un échantillonnage régulier

Ajoutez assez de sommets avant d’interroger l’altitude, la météo, la couverture radio ou toute autre valeur évoluant le long du trajet.

Améliorer l’affichage des longues arêtes

Représentez les grandes arêtes géographiques avec des points de grand cercle pour que les tracés projetés ou animés suivent le trajet prévu.

Uniformiser des lignes de résolutions différentes

Appliquez une seule limite d’intervalle à des lignes dont les sommets source ont été relevés à des fréquences irrégulières.

spacing_m impose-t-il une distance exacte entre tous les points ?

Non. Il fixe l’intervalle maximal autorisé. Chaque segment source est divisé en parties géodésiques égales qui ne dépassent pas cette valeur.

Les sommets d’origine sont-ils conservés ?

Oui. Tous restent dans leur ordre initial et les nouveaux sommets sont insérés entre deux sommets consécutifs.

Le franchissement de l’antiméridien est-il géré ?

Oui. L’interpolation suit l’arc de grand cercle le plus court, y compris le passage bref entre les longitudes proches de 180 degrés.

Pourquoi les extrémités antipodales sont-elles refusées ?

Deux points opposés ne définissent pas un grand cercle unique. Le refus empêche de choisir arbitrairement un trajet.

Le calcul repose-t-il sur l’ellipsoïde WGS-84 ?

Non. Il emploie une géométrie sphérique de grand cercle avec un rayon configurable, initialisé au rayon terrestre moyen.

Quel est le tarif d’une requête API ?

Chaque requête coûte $0.002. Le calcul déterministe ne sollicite aucun service tiers.

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.

POSThttps://api.kit.forhosting.com/geo/densify-line

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é.

curl -X POST https://api.kit.forhosting.com/geo/densify-line \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"line":[{"lat":37.7749,"lon":-122.4194},{"lat":37.8044,"lon":-122.2711},{"lat":37.6879,"lon":-122.4702}],"spacing_m":5000}'
{
  "line": [
    {
      "lat": 37.7749,
      "lon": -122.4194
    },
    {
      "lat": 37.8044,
      "lon": -122.2711
    },
    {
      "lat": 37.6879,
      "lon": -122.4702
    }
  ],
  "spacing_m": 5000
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.densify_line",
  "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.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_points10000
max_output_vertices100000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →