[Talk-de] Aktion 11 - Verbindungsprobleme in Afrika

Werner Hoch werner.ho at gmx.de
So Jan 9 10:41:46 UTC 2011


Hallo Gary68,

nachdem die Aktion fast abgeschlossen ist habe ich noch ein paar 
Anmerkungen/Verbesserungswünsche. Eventuell kannst du ja die ein oder 
andere Idee umsetzen:

1. geographische Sortierung der Fehler

Die Sortierung der Fehler hat  folgende Vorteile:
* naheliegene oder übereinanderliegende Fehler können gefixed werden 
ohne das die Region neu über das Remote-Plugin neu geladen werden muss.

* naheliegend Fehler werden liegen in einem Bearbeitungsblock. Damit 
wird die Wahrscheinlichkeit von Konflikten bei der Bearbeitung stark 
reduziert.

* jede Fehlerposition (auch mit vielen Fehlern) wird nur von einem User 
bearbeitet. Gegen Ende der Aktion waren fast 50% aller Fehler bereits 
von anderen behoben worden

* die Korrekturen erzeugen kleinere Changeset-BBoxes
Ohne Sortierung ist auch bei nur wenigen Korrekturen pro Changeset ein 
riesiges Gebiet betroffen.

Hier ein paar Fehler aus C53 die nahezu an derselben Stelle liegen:
--------
<wpt lat="-20.9805884" lon="55.2913068"><desc>ChkTouch - 
90606799/76371634 one way nearly hits another</desc></wpt>
<wpt lat="-20.9805884" lon="55.2913068"><desc>ChkTouch - 
90606799/76371634 one way nearly hits another</desc></wpt>
<wpt lat="-20.9806364" lon="55.2919088"><desc>ChkTouch - 
90606810/76371634 one way nearly hits another</desc></wpt>
--------

--------
<wpt lat="-20.8906618" lon="55.4550955"><desc>ChkTouch - 
30762155/23085585 one way nearly hits another</desc></wpt>
<wpt lat="-20.8906618" lon="55.4550955"><desc>ChkTouch - 
30762155/31130705 one way nearly hits another</desc></wpt>
<wpt lat="-20.8906618" lon="55.4550956"><desc>ChkTouch - 
23085585/31130705 one way nearly hits another</desc></wpt>
--------

Dieser Fehler ist sogar viermal identisch aufgeführt:
--------
<wpt lat="4.0289917" lon="14.0381916"><desc>ChkTouch - 44584139/44584147 
one way nearly hits another</desc></wpt>
--------

denkbare Sortiermethoden:
* lat oder lon sortieren
* Sortieren in Streifen:
  round(lat) als erstes Kriterium; lon als zweites
* Mäanderförmig: 
   wie zuvor nur dass jeder zweite Streifen in umgekehrter 
   Richtung sortiert wird.  [1]
* Traveling Salesman ;-)


2. Description Attribut im GPX-File mit Fehlernummer
In C53 wird diese Beschriftung verwendet:
<desc>ChkTouch - 88274564/12335472 one way nearly hits another</desc>

Die Beschriftungsbestandteile "ChkTouch - " und " one way nearly hits 
another" sind bei allen Fehlern gleich -- und damit überflüssig.

Mein Vorschlag wäre also:
<desc>[Fehlernummer] - 88274564/12335472</desc>

Damit wäre es auch einfacher den "richtigen" Fehler zu identifizieren 
wenn in einem Gebiet mehrere Fehler sind.

In Kombination mit der geographischen Sortierung können die Fehler sehr 
viel effizienter bearbeitet werden. (mindestens 30%)


[1] Vergleichsfunktion für Mäandersortierung (python)
Meine Streifen sind aufgrund des factor=5 nur 0,2 Grad breit.
-----------
def cmp_maeander(a,b):
    """
    compare function for meander sort
    when the nodes are fixed in this order, the changsets will be small
    """
    ax, ay = a
    bx, by = b
    factor = 5

    cmp_row = cmp(int(factor*float(ay)), int(factor*float(by)))
    if cmp_row == 0:
        direction = (int(factor*float(by)) % 2) * 2-1
        return direction * cmp(float(ax), float(bx))
    else:
        return cmp_row


Grüße
Werner (werner2101)




Mehr Informationen über die Mailingliste Talk-de