[Geschlossen] xxx

Hallo Allerseits,

seit längerem geistert mir eine Wochenaufgabe durch den Kopf “building=entrance durch entrance=* ersetzen”. Dazu habe ich schon ein paar Vorbereitungen getroffen und dokumentiert: Vorbereitung Wochenaufgabe building=entrance

Mir wär ganz lieb, wenn ihr da mal drüber gucken könntet, aber Achtung, es wird ein bisschen technisch - weswegen ich gerade Gehrke und wambacher dazu einladen möchte - und mir dann hier Euren Senf dazugebt :wink:

PS: V.a. die Anmerkungen sind wichtig, da bei mir ein daily-diff ca. 6 Stunden für den Import benötigt und ich somit keine zeitnahe Auswertungen wie neulich TheFive fahren kann :frowning:

Viele Grüße
Harald Hartmann

Zum Landkreis und AL6: Dein Query “vergisst” Hamburg und Berlin, die haben AL4.

Warum Mapper-Arbeitszeit auf etwas verwenden, was auch automatisch geht? Das ist doch ein klassisches Beispiel für etwas, wo ein Mechanical Edit angebracht und unproblematisch möglich wäre. Dass der letzte Versuch revertiert wurde, liegt doch nur an der fehlenden Dokumentation und Diskussion. Aber da hast du ja schon einen guten Anfang gemacht.

Tube auf:

Auf den ersten Blick sehen deine SQL-Anfragen korrekt aus und ich lasse sie in leicht veränderter Version über meine DB laufen.

Ursache des Problems mit den Treffern ohne Name: Ich weiss, dass die Daten des Imports auch kleinere Gebiete des Auslandes enthalten. Die werden wohl stören.

Lösung: Auf 51477 (Grenze von Deutschland) clippen.

SELECT * INTO entrance
FROM planet_osm_point
WHERE building=‘entrance’
AND st_contains((select way from planet_osm_polygon where osm_id=-51477),way);

Achtung: -51477 mit Minuszeichen

Bringt bei mir gerade 25014 Treffer. Die 2. Abfrage läuft noch.

Gruss und Tube zu
walter

Sorry, aber dieses “was auch automatisch geht” habe ich mir bereits nach einer Woche Neuling im März 2014 nicht mehr gestellt :confused:

Ach ja, da war ja was. Aber warum fällt Bremen eigentlich nicht auch unter AL4. Ist das irgendwo dokumentiert, also v.a. das Warum und Wieso das so ist wie es ist?

Ganz einfach, weil das Bundesland Bremen aus zwei kreisfreien Städten besteht. Bei der Gelegenheit: Schöne Grüße nach Bremerhaven.

is nich: ERROR: more than one row returned by a subquery used as an expression SQL Status:21000

EDIT: Wenn ich die Subquery ausführe, erhalte ich 8 Ergebnisse?!

knifflig, knifflig :frowning:

Was unterscheidet in den Daten B und HH von den anderen Bundesländern?

Grübelnde Grüsse
walter

Nur der AGS/RS und die OSM ID: Also z.B. AL6 “ver-odern” mit den IDs

Ach ja, und die Länge des Regionalschlüssels (12 statt 2)

jo,

ich hab mal ein wenig gefuscht:


UPDATE entrance
SET landkreis = (
  SELECT name from planet_osm_polygon
  WHERE boundary='administrative'     
    AND admin_level in ('4','6')
    AND (length(tags->'de:amtlicher_gemeindeschluessel')=5 OR name in ('Berlin', 'Hamburg'))
    AND st_contains(planet_osm_polygon.way, entrance.way)
);

so sollte des gehen. Mal sehen, was rauskommt.

Gruss
walter

… AND (admin_level = ‘6’ OR tags->‘de:regionalschluessel’ IN (‘020000000000’, ‘110000000000’)) …

oder etwas allgemeiner (falls mal irgendwann ein echter Statdstaat dazukommt…):

… AND (admin_level = ‘6’ OR (admin_level = ‘4’ AND length(tags->‘de:regionalschluessel’) = 12))) …

Am schnellsten für die DB wäre allerdings, die OSM-ID zu matchen.

Ich seh schon wambacher, du hast eine sehr modifizierte gis-DB. Ich habe leider in polygon auch kein tags und wie gesagt durch mein default-template osm2pgsql import auch keine sonderspalten ala de:amtlicher_gemeindeschluessel :frowning:

ja das ist hart: tags kann man aber mit einer osm2pgsql-option zusätzlich importieren.

Wenn du auch kein Feld admin_level haben solltest, mußt du halt tags->‘admin_level’ nehmen. Aber ohne Tags geht hier garnix.

ansonsten braucht die letzte Abfrage bei mir anscheinend sehr lange, eventuell muß ich die noch total umkrempeln. Hab nur heute keine Zeit dafür.

Gruss
walter

Doch die hab ich, sonst könnt ich ja gar nix machen. Aber das mit tags und hstore hab ich noch nicht ganz begriffen.

Für die genannten Queries war das bei mir auch der Fall, deshalb habe ich genau für diese Queries speziell eigene Indexe angelegt.

Hast Du in “planet_osm_rels” auch keine tags/properties? Falls doch, kannst Du diese Tabelle ja mit den Polygonen “joinen”.

PS: Jetzt weiß auch wieder, warum ich osm2pgsql nicht mag.

Ist relativ einfach: die Tags sind ein Feld vom Typ hstore. Zugegriffen wird mit tags->‘xxx’ wobei xxx der gesuchte Tag ist.

ist nach ca 15 Minuten durch, nur hab ich noch mehr Namenlose:


                   landkreis                   | anzahl 
-----------------------------------------------+--------
                                               |   9188
 Hamburg                                       |   1963
 Städteregion Aachen                           |   1879
 Kreis Minden-Lübbecke                         |   1782
 Kreis Steinburg                               |   1609
 Landkreis Leipzig                             |    625
 Rhein-Kreis Neuss                             |    532
 Region Hannover                               |    356
 Landkreis Landsberg am Lech                   |    337
 Landkreis Rhön-Grabfeld                       |    278

Die schau ich mir mal an.

—> jetzt fehlen die Kreisfreien Städte. ich glaube, ich steig aus - ist heute nicht mein Tag

Die sind halt AL6, aber der RS hat 12 Ziffern…

Ok, ich habe verstanden, ich mach keine Landkreisbezogene Auswertung sondern bundeslandbezogen … oder erwarten mich da diesselben Unannehmlichkeiten? Dann bleibt wohl nur Gesamtdeutschland, hat den Vorteil das ich mir dann die Legende sparen kann :laughing:

Seh ich auch so.
Und wieso sollte der Aufruf und die technische Hilfe zu einem massenhaften Edit (eben durch Massen an Mappern…) eher “erlaubt” sein als ein Mechanical Edit. Denn es geht hier ja nicht um das Einarbeiten von local_knowledge, sondern um das einigermaßen stupide Umtaggen, oder?