Stadtteil fehlerhaft

Hi,

ich schreibe gerade an einem kleinen Programm, das anhand von Straße, Hausnummer und Ort die Postleitzahl sowie den Stadtteil ermitteln soll. Die Postleitzahl wird auch gefunden. Nur beim Stadtteil gibt es Schwierigkeiten. So wird teilwiese ein ganz anderer Stadtteil angegeben bzw. als Stadtteil “Gemarkung xy” ausgegeben. Ich nehme mal stark an, das dies an der API liegt. Wenn ja: Kennt Ihr evtl. eine andere API, die dieses Problem nicht zeigt? Danke im voraus für Eure Hilfe. Hier der Quelltext.


<?php
//$a1=urlencode("Taunusweg 3");
//$a2=urlencode ("Wuppertal"); //"Cronenberg" ist korrekt
//$a1=urlencode("Turnerstr. 13");
//$a2=urlencode ("Solingen");       //"Merscheid" ist korrekt
$a1=urlencode("Eichenstr. 13");
$a2=urlencode ("Solingen");     //"Höhscheid" wäre korrekt
$ja1 = file_get_contents('http://nominatim.openstreetmap.org/search?q='.$a1.','.$a2.'&bounded=1&format=json&polygon=0&addressdetails=1&limit=999');
$jb1 = json_decode($ja1);
echo "<pre>";
print_r ($jb1);
echo "</pre>";
echo "<br><br>";
$district=$jb1[0]->address->suburb;
$plz=$jb1[0]->address->postcode;
$district=utf8_decode ($district);
echo $district;
echo "<br>";
echo $plz;
?>

Mach dir da nicht zuviele Hoffnungen. Die beste API kann keine Daten liefern, die nicht in OSM erfasst sind - und das ist bei sehr vielen Stadtteilen der Fall :frowning:

Schau dich mal hier um: https://wambachers-osm.website/boundaries
Links im Tree zu “germany” scrollen und dann runterhangeln.
Du wirst viele Orte finden, wo unterhalb von AL8 nix mehr erfasst ist.

orange al9, grün al10, soweit sie nicht von al9 überdeckt werden.

Lösung: Trage die Stadtteile nach, die du kennst.

Gruss
walter

Hmmm,

habe mir das schon fast gedacht. Aber vielen Dank für die Antwort :slight_smile:

Beachte auch, dass es in Deutschland unterschiedliche Strukturen gibt bezüglich der Admin-Level.

Hier mal ein Post aus einem anderen Forum, bei dem es thematisch zumindest in eine ähnliche Richtung geht. Und natürlich auf die Wiki, die dort auch angezogen wird.