Skip to content

Géocodage

AstroAPI fournit un endpoint de géocodage pour rechercher des lieux et obtenir leurs coordonnées. Ceci est utile pour convertir des noms de lieux en valeurs de latitude/longitude requises par les endpoints de calcul.

Rechercher des Lieux

Recherchez des villes, villages et autres lieux par nom :

bash
curl -X GET "https://api.astroapi.cloud/api/geocoding/search?q=Amsterdam" \
  -H "X-Api-Key: your-api-key"

Paramètres de Requête

ParamètreRequisDescription
qOuiRequête de recherche (2-100 caractères)
limitNonNombre maximum de résultats (1-10, défaut : 5)
langNonCode de langue (défaut : "en")

Réponse

json
{
  "data": [
    {
      "id": "node_123456",
      "name": "Amsterdam",
      "displayName": "Amsterdam, North Holland, Netherlands",
      "latitude": 52.3676,
      "longitude": 4.9041,
      "country": "Netherlands",
      "countryCode": "NL",
      "state": "North Holland",
      "city": "Amsterdam"
    }
  ]
}

Champs de Réponse

ChampDescription
idIdentifiant unique (ID OpenStreetMap)
nameNom principal du lieu
displayNameNom complet formaté avec région et pays
latitudeCoordonnée de latitude
longitudeCoordonnée de longitude
countryNom du pays
countryCodeCode pays ISO à 2 lettres
stateNom de l'état/province/région
cityNom de la ville (si applicable)

Exemples de Code

JavaScript

javascript
async function searchPlace(query) {
  const response = await fetch(
    `https://api.astroapi.cloud/api/geocoding/search?q=${encodeURIComponent(query)}`,
    {
      headers: {
        "X-Api-Key": "your-api-key"
      }
    }
  );
  const { data } = await response.json();
  return data;
}

// Utilisation
const results = await searchPlace("London");
const { latitude, longitude } = results[0];
console.log(`London: ${latitude}, ${longitude}`);

Python

python
import requests

def search_place(query):
    response = requests.get(
        "https://api.astroapi.cloud/api/geocoding/search",
        params={"q": query},
        headers={"X-Api-Key": "your-api-key"}
    )
    return response.json()["data"]

# Utilisation
results = search_place("Paris")
place = results[0]
print(f"Paris: {place['latitude']}, {place['longitude']}")

Utilisation avec un Thème Natal

Combinez le géocodage avec le calcul d'un thème natal :

javascript
// Étape 1 : Rechercher le lieu de naissance
const places = await searchPlace("New York");
const birthplace = places[0];

// Étape 2 : Calculer le thème natal
const response = await fetch("https://api.astroapi.cloud/api/calc/natal", {
  method: "POST",
  headers: {
    "X-Api-Key": "your-api-key",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    datetime: "1990-06-15T14:30:00",
    latitude: birthplace.latitude,
    longitude: birthplace.longitude,
    timezone: "America/New_York"
  })
});

Support des Langues

L'endpoint de géocodage prend en charge plusieurs langues pour les noms de lieux. Utilisez le paramètre lang :

bash
# Allemand
curl "https://api.astroapi.cloud/api/geocoding/search?q=Munich&lang=de"

# Français
curl "https://api.astroapi.cloud/api/geocoding/search?q=Munich&lang=fr"

Les codes de langue pris en charge incluent : en, de, fr, es, it, nl, pt, ru, ja, zh, et plus.

Mise en Cache

Les résultats de géocodage sont mis en cache pendant 24 heures pour améliorer les performances. La même requête de recherche retournera des résultats mis en cache sans solliciter le service de géocodage en amont.

Limites de Débit

Les requêtes de géocodage sont comptabilisées dans vos limites de débit API. Consultez Limites de Débit pour plus de détails.

AstroAPI Documentation