Skip to content

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:

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

Abfrageparameter

ParameterErforderlichBeschreibung
qJaSuchanfrage (2–100 Zeichen)
limitNeinMaximale Ergebnisse (1–10, Standard: 5)
langNeinSprachcode (Standard: "en")

Antwort

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"
    }
  ]
}

Antwortfelder

FeldBeschreibung
idEindeutiger Bezeichner (OpenStreetMap-ID)
namePrimärer Ortsname
displayNameVollständiger formatierter Name mit Region und Land
latitudeBreitengradkoordinate
longitudeLängengradkoordinate
countryLandesname
countryCodeISO-Ländercode (2 Buchstaben)
stateBundesland-/Provinz-/Regionsname
cityStadtname (falls zutreffend)

Codebeispiele

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;
}

// Verwendung
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"]

# 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:

javascript
// 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:

bash
# 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.

AstroAPI Documentation