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 :
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ètre | Requis | Description |
|---|---|---|
q | Oui | Requête de recherche (2-100 caractères) |
limit | Non | Nombre maximum de résultats (1-10, défaut : 5) |
lang | Non | Code de langue (défaut : "en") |
Réponse
{
"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
| Champ | Description |
|---|---|
id | Identifiant unique (ID OpenStreetMap) |
name | Nom principal du lieu |
displayName | Nom complet formaté avec région et pays |
latitude | Coordonnée de latitude |
longitude | Coordonnée de longitude |
country | Nom du pays |
countryCode | Code pays ISO à 2 lettres |
state | Nom de l'état/province/région |
city | Nom de la ville (si applicable) |
Exemples de Code
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
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 :
// É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 :
# 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.