[Talk-de] OSM kaum mehr benutzbar

qbert biker qbert1 at gmx.de
Sa Okt 13 11:00:43 UTC 2007


Hallo,

weil ich mich gerade damit befasse, möchte ich kurz nochmal ein
altes Thema aufwärmen.

> Wir haben derzeit ziemlich genau 40 Millionen Nodes; die hoechste
> verwendete Node-Id ist ungefaehr 60 Millionen. Etwa gleichviele
> Segmente, und etwa ein Zehntel dieser Zahl an Ways.

Schade eben nur, dass man das beim Einlesen nicht schon 
vorher weiss. 
 
> Die Standard-Vorgehensweise fuer einen einfachen Polygon-Ausschnitt
> kommt mit einem einzigen Pass durch das Planet-File aus (weil es
> nodes/segments/ways sortiert ist)

Ich bin bisher davon ausgegangen, dass es zufällig sortiert
ist, eine bindende Vorschrift dafür habe ich nirgends gefunden.
Irgendwie mag ich keine Einlesefilter schreiben, die auf
unfixierten Annahmen beruhen, weder was den Wertebereich der 
IDs angeht, noch bei der Sortierung. Also heisst das doppelt
lesen und diese Dinge im ersten Schritt herausarbeiten.

Deshalb ein Vorschlag für eine kleine Modifikation des 
XML-Formats, die in beiden Punkten Klarheit bringen würde.

Wenn man die einzelnen Datentypen jeweils in einer 
eigenen Ebene unterbringt, ist die Datei deutlich besser
zu handhaben. 

<nodes min_id=1234 max_id=9876 n_id=2345>
  <node id='21104869' timestamp='2007-04....
    <tag k='converted_by' v='Track2osm' />
    <tag k='created_by' v='JOSM' />
  </node>
  <node ....
    ....
  </node>
  ...
</nodes>

Der 'nodes'-Block darf nur einmal vorhanden sein, ebenso
wie die Blöcke für 'ways', 'relations' und was sonst noch 
kommen wird. Wenn der nodes-Block geschlossen wird, weiss man, 
dass man alle Nodes hat. Die Parameter 'min_id', max_id und 
n_id können auch optional sein, aber wenn sie da sind, kann
man seine Zielstrukturen ohne Blindflug aufbauen. 

So und jetzt schimpft mich Kontrollfreak! ;)

Grüsse Hubert
-- 
GMX FreeMail: 1 GB Postfach, 5 E-Mail-Adressen, 10 Free SMS.
Alle Infos und kostenlose Anmeldung: http://www.gmx.net/de/go/freemail




Mehr Informationen über die Mailingliste Talk-de