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