Geocodierung
AstroAPI stellt einen Geocodierungsendpunkt bereit, um Orte zu suchen und deren Koordinaten abzurufen. Dies ist nützlich, um Ortsnamen in Breiten-/Längengradiangaben umzuwandeln, die von Berechnungsendpunkten benötigt werden.
Orte suchen
Suchen Sie nach Städten, Gemeinden und anderen Orten nach Name:
curl -X GET "https://api.astroapi.cloud/api/geocoding/search?q=Amsterdam" \
-H "X-Api-Key: your-api-key"Abfrageparameter
| Parameter | Erforderlich | Beschreibung |
|---|---|---|
q | Ja | Suchanfrage (2–100 Zeichen) |
limit | Nein | Maximale Ergebnisse (1–10, Standard: 5) |
lang | Nein | Sprachcode (Standard: "en") |
Antwort
{
"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"
}
]
}Antwortfelder
| Feld | Beschreibung |
|---|---|
id | Eindeutiger Bezeichner (OpenStreetMap-ID) |
name | Primärer Ortsname |
displayName | Vollständiger formatierter Name mit Region und Land |
latitude | Breitengradkoordinate |
longitude | Längengradkoordinate |
country | Landesname |
countryCode | ISO-Ländercode (2 Buchstaben) |
state | Bundesland-/Provinz-/Regionsname |
city | Stadtname (falls zutreffend) |
Codebeispiele
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;
}
// Verwendung
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"]
# Verwendung
results = search_place("Paris")
place = results[0]
print(f"Paris: {place['latitude']}, {place['longitude']}")Verwendung mit Geburtshoroskop
Kombinieren Sie Geocodierung mit der Geburtshoroskop-Berechnung:
// Schritt 1: Geburtsort suchen
const places = await searchPlace("New York");
const birthplace = places[0];
// Schritt 2: Geburtshoroskop berechnen
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"
})
});Sprachunterstützung
Der Geocodierungsendpunkt unterstützt mehrere Sprachen für Ortsnamen. Verwenden Sie den lang-Parameter:
# Deutsch
curl "https://api.astroapi.cloud/api/geocoding/search?q=Munich&lang=de"
# Französisch
curl "https://api.astroapi.cloud/api/geocoding/search?q=Munich&lang=fr"Unterstützte Sprachcodes sind u. a.: en, de, fr, es, it, nl, pt, ru, ja, zh und weitere.
Zwischenspeicherung
Geocodierungsergebnisse werden 24 Stunden lang zwischengespeichert, um die Leistung zu verbessern. Dieselbe Suchanfrage liefert zwischengespeicherte Ergebnisse, ohne den vorgelagerten Geocodierungsdienst zu kontaktieren.
Ratenbegrenzungen
Geocodierungsanfragen werden auf Ihre API-Ratenbegrenzungen angerechnet. Weitere Informationen finden Sie unter Ratenbegrenzungen.