Autor Thema: Doppellistings abgleichen -- cmanager  (Gelesen 19938 mal)

following

  • Gast
Re: Doppellistings abgleichen -- cmanager
« Antwort #120 am: 28. Dezember 2015, 22:17:20 »
Der cmanager erzeugt eine recht hohe Systemlast auf dem OC-Server - dreimal soviel Rechenzeit wie alle übrigen OKAPI-Clients zusammengenommen. Gibt es hier noch Optimierungsmöglichkeiten?

Offline Samsung1

  • Micro
  • ***
  • Beiträge: 104
Re: Doppellistings abgleichen -- cmanager
« Antwort #121 am: 28. Dezember 2015, 23:10:41 »
Der cmanager erzeugt eine recht hohe Systemlast auf dem OC-Server - dreimal soviel Rechenzeit wie alle übrigen OKAPI-Clients zusammengenommen. Gibt es hier noch Optimierungsmöglichkeiten?

Ich fürchte eine nicht unwesentliche Systemlast ist prinzipbedingt. Die würde sich nur reduzieren lassen, wenn man die Duplikatssuche auf dem Server machen würde - um Suchergebnisse dort zentral zu cachen.

Der Suchradius ist aktuell recht groß gewählt, um auch Mysteries mit abweichenden Mysterykoordinaten zu finden. Der ließe sich reduzieren, aber mein Eindruck war, dass da trotzdem nicht sonderlich viele OC-Codes zurückgegeben werden. (Ein mal nach Details abgefragte werden lokal zwischengespeichert.)

Was sich jedoch optimieren ließe, wäre alte Funde nicht zwei mal abzufragen. Das habe ich auf meinem Zettel - werde aber leider vor Mitte Januar zu nichts kommen.

Offline kamuckel

  • Unknown
  • *
  • Beiträge: 3
Re: Doppellistings abgleichen -- cmanager
« Antwort #122 am: 01. Januar 2016, 20:54:52 »
Guten abend und ein frohes neues jahr erst mal :)
wollte eben mal den manager ausprobieren, aber irgendwie... ich häng' da mal meine fehlermeldung mit dran, vielleicht kann einer helfen (runtergeladene version ist die 0.2j)
edit:Betriebssystem ist Linux
« Letzte Änderung: 01. Januar 2016, 21:04:59 von kamuckel »

Offline bohrsty

  • Administrator
  • Normal
  • *****
  • Beiträge: 1292
  • Teamleiter Technik
Re: Doppellistings abgleichen -- cmanager
« Antwort #123 am: 01. Januar 2016, 21:06:54 »
kann ich bestaetigen, linux (fedora 23), java: 1.8.0_65, myfinds.gpx per gc-premium als pocketquery heruntergeladen...
gruss Nils (bohrsty)


Offline Bananeweizen

  • Nano
  • **
  • Beiträge: 82
Re: Doppellistings abgleichen -- cmanager
« Antwort #124 am: 02. Januar 2016, 15:50:02 »
Feature Request: Bitte beim Auffinden des eigenen Logs den GC-Usernamen case insensitive vergleichen. Hatte grad das gleiche Phänomen wie wolkenstein (kein Button zum Kopieren der Logs). Da Groundspeak Usernamen nicht in verschiedener Groß-/Klein-Schreibung zulässt, führt diese Änderung auch nicht zu Problemen.

Feature Request: Escape zum Schließen jedes Dialogs.

Feature Request: Fenstergrößen merken. Es macht nicht viel Sinn, dass auf meinem großen Monitor jedesmal nur ein Zehntel der Fläche für den Dialog verwendet wird.
« Letzte Änderung: 02. Januar 2016, 15:56:19 von Bananeweizen »

following

  • Gast
Re: Doppellistings abgleichen -- cmanager
« Antwort #125 am: 05. Januar 2016, 11:16:58 »
Der cmanager erzeugt eine recht hohe Systemlast auf dem OC-Server - dreimal soviel Rechenzeit wie alle übrigen OKAPI-Clients zusammengenommen. Gibt es hier noch Optimierungsmöglichkeiten?

Ich fürchte eine nicht unwesentliche Systemlast ist prinzipbedingt. Die würde sich nur reduzieren lassen, wenn man die Duplikatssuche auf dem Server machen würde - um Suchergebnisse dort zentral zu cachen.

Der Suchradius ist aktuell recht groß gewählt, um auch Mysteries mit abweichenden Mysterykoordinaten zu finden. Der ließe sich reduzieren, aber mein Eindruck war, dass da trotzdem nicht sonderlich viele OC-Codes zurückgegeben werden. (Ein mal nach Details abgefragte werden lokal zwischengespeichert.)

Was sich jedoch optimieren ließe, wäre alte Funde nicht zwei mal abzufragen. Das habe ich auf meinem Zettel - werde aber leider vor Mitte Januar zu nichts kommen.

Ok. Vielleicht können wir auch in der OKAPI noch etwas optimieren.

Offline hike_biker

  • Unknown
  • *
  • Beiträge: 2
Re: Doppellistings abgleichen -- cmanager
« Antwort #126 am: 07. Januar 2016, 10:14:49 »
Hallo,
hatte von diesem Tool gehört und wollte es mit myfinds.gpx ausprobieren, habe neueste cmanager Version, neuestes JAVA, Windows 7.1 und bekomme identisches Fehlerbild wie oben user "kamuckel". Das Tool will die myfinds-Datei bei OPEN nicht einlesen.

Dann aber mal eine andere GPX eingelesen (PQ über GC erstellt) und die funktioniert!!

Grüße,
hike_biker

following

  • Gast
Re: Doppellistings abgleichen -- cmanager
« Antwort #127 am: 11. Januar 2016, 21:55:40 »
Wie ist der genaue Suchalgorithmus von cmanager?

Es gibt viele Locations, an denen OC- und GC-Caches nahe beieinander liegen, teils sogar im gleichen Versteck. Ein unscharfer Koordinatenvergleich alleine wäre also gefährlich. Mir sind bei Prüfungen von gemeinsam genutzten Locations in den letzten Tagen auch diverse falsch von GC rüberkopierte Logs aufgefallen, wobei ich nicht sagen kann ob das Ocprop oder cachemanager war. Handkopie war oft auszuschließen, dafür waren die Beschreibungen zu verschieden.

Einen perfekten Algorithmus, um passende Caches zu finden, gibt es nicht. Ich denke so ein Tool muss im Zweifelsfall konservativ vorgehen und auf das Kopieren von Logs verzichten, vor allem wenn die Ownernamen nicht übereinstimmen. Allerdings haben geschätzte 10% der Owner unterschiedliche Namen, sodass hierdurch bereits 10% der Logs mit so einem Verfahren nicht abgleichbar sind. Cachenamen weichen relativ oft ab, da kann man wohl nur mit einem Ähnlichkeitsvergleich arbeiten.

Für die Zuordnung von GC- zu OC-Caches gibt es aber eine handgewartete OC-interne Datenbank, die sich z.B. wie folgt nutzen lässt:

http://www.opencaching.de/searchplugin.php?sourceid=waypoint-search&userinput=GC3TX7N

Wie ihr sehr wird OC11ABF gefunden. Der Owner hat keinen GC-Wegpunkt eingetragen, aber wir haben festgestellt dass er identisch mit GC3TX7N ist und das intern vermerkt. (Diese Information wird auch für das Ausblenden von Doppellistings bei der Suche und auf der Karte verwendet.) Diese Wegpunktzuordnung ist bei auf OC aktiven Caches sehr zuverlässig, wesentlich besser als eigene Versuche mit dem Vergleich von Koordinaten, Cache- und Ownernamen. Und sie ist sehr schnell. Caches, die vor Jahren auf OC archiviert wurden, sind allerdings nur unvollständig erfasst.

Offline Samsung1

  • Micro
  • ***
  • Beiträge: 104
Re: Doppellistings abgleichen -- cmanager
« Antwort #128 am: 12. Januar 2016, 11:45:15 »
Wie ist der genaue Suchalgorithmus von cmanager?
Der Algorithmus ist der folgende. Bei >=80% wird eine Übereinstimmung angenommen
public double claculateSimilarity(Geocache g)
{
if( ( this.code_gc != null && this.code_gc.equals(g.code) )
|| (g.code_gc != null && g.code_gc.equals(this.code) ) )
return 1;

double dividend = 0;
double divisor = 0;

divisor++;
if( name.equals( g.getName() ) )
dividend++;

divisor++;
if( coordinate.distance(g.getCoordinate()) < 0.001 )
dividend++;

divisor++;
if( Double.compare(difficulty, g.getDifficulty()) == 0 )
dividend++;

divisor++;
if( Double.compare(terrain, g.getTerrain()) == 0 )
dividend++;

divisor++;
if( type == g.getType() )
dividend++;

if( owner != null )
{
divisor++;
if( owner.equals(g.getOwner()) )
dividend++;
}

if( container != null )
{
divisor++;
if( container == g.getContainer() )
dividend++;
}

if( available != null && archived != null )
{
divisor++;
if( statusAsString().equals(g.statusAsString()) )
dividend++;
}

return dividend / divisor;
}

In kürze werde ich wieder etwas mehr Zeit haben. Ich plane dann Bugs zu fixen und cmanager als opensource online zu stellen. Dann kann sich dort jeder mit Ideen einbringen, auch wenn mir gerade mal die Zeit fehlt.

Die DB kannte ich noch nicht. Für die enthaltenen Cache ist sie eine interessante Option.

Wenn dich interessiert, ob cmanager für eine falsche Zuordnung verantwortlich ist, kannst du den GC-Cache mit geotoad in eine PQ stecken und cmanager nach Duplikaten suchen lassen.

following

  • Gast
Re: Doppellistings abgleichen -- cmanager
« Antwort #129 am: 12. Januar 2016, 13:44:25 »
Der Algorithmus ist der folgende. Bei >=80% wird eine Übereinstimmung angenommen

Interessant. Das ist ein guter Algorithmus, der Fehlerkennungen von Caches verschiedener Owner praktisch ausschließt - denn dort sind die Ownernamen verschieden, in den allermeisten Fällen auch die Cachenamen und mindestens eines von D und T (zwei Owner, zwei Einschätzungen). Hab mal einige kritische Fälle durchgeschaut, die werden alle korrekt behandelt.

Bei Typ und Größe ist Folgendes zu beachten:

OC-Nano = GC-Mikro oder Sonstige Größe
OC-Extra groß = GC groß
OC-Drive-In = GC-Tradi
OC-Mathe/Physikcache = GC Mystery
GC-Earthcache = OC Virtual

GC-Mystery wird auf OC oft versehentlich als "unbekannter / sonstiger Cachetyp" gelistet, wegen des ?: ->

Der Status-Vergleich schließt ziemlich viele Doppellistings aus, die nur auf OC archiviert wurden. Die fehlen dann in der OC-Fundstatistik des Benutzers. Vielleicht kann mann stattdessen das Datum vergleichen: Der OC-Cache darf nicht nach dem GC-Logdatum gelegt worden sein (date_hidden, bei Events date_created) und nicht vorher archiviert (Datum des Archivierungslogs, oder last_modified falls es fehlt). Die OC-Logs sollten aber nur bei Bedarf abgerufen werden, aus Performancegründen.

Probleme gibt es, wenn ein Owner absichtlich mehrere Caches an gleicher Stelle legt, z.B. OC12599 vs. GC6321G mit 80% Übereinstimmung. Für alle Problemfälle könnte man eine zentrale, handgewartete Liste von GC-Only Caches anlegen, die dann vom Abgleich ausgeschlossen werden.

following

  • Gast
Re: Doppellistings abgleichen -- cmanager
« Antwort #130 am: 14. Januar 2016, 20:57:35 »
Der Suchradius ist aktuell recht groß gewählt, um auch Mysteries mit abweichenden Mysterykoordinaten zu finden. Der ließe sich reduzieren, aber mein Eindruck war, dass da trotzdem nicht sonderlich viele OC-Codes zurückgegeben werden.

Aktuell wird anscheinend bei allen Cachetypen in 1 km Umkreis gesucht. Ich schlage vor, dass zumindest für Tradis auf 50 Meter zu reduzieren; das sollte die Systembelastung wesentlich senken.
« Letzte Änderung: 14. Januar 2016, 20:59:10 von following »

Offline Samsung1

  • Micro
  • ***
  • Beiträge: 104
Re: Doppellistings abgleichen -- cmanager
« Antwort #131 am: 14. Januar 2016, 22:58:49 »
Ein kleines Update, dass mir wichtig genug erschien, um es in meinen Zeitplan zu quetschen: Version 0.2k kopiert jetzt nicht mehr die von GC.com generierte Log-Uhrzeit aus der Pocket-Querry in die Logs auf OC, da diese etwas.... willkürlich erscheint. Weitere Bugs behebt die Version noch nicht.
« Letzte Änderung: 16. Januar 2016, 21:32:40 von Samsung1 »

Offline Samsung1

  • Micro
  • ***
  • Beiträge: 104
Re: Doppellistings abgleichen -- cmanager
« Antwort #132 am: 17. Januar 2016, 00:16:50 »
Version 0.2l hat das Ziel die Last auf die OC-Datenbank zu reduzieren. Hierfür gibt es jetzt einen lokalen Cache, der sicher merkt, wenn es zu einem GC-Cache in der Vergangenheit keine Treffer gab. Diese Resultate sind zwischen 3 und 12 Monaten gültig, damit nicht alle Cache auf einen Schlag erneut online überprüft werden. Nach dieser Zeit wird wieder der Server angefragt. Als netter Nebeneffekt sollten sich wiederkehrende Abgleiche damit deutlich beschleunigen.
Ferner gilt der große Suchradius jetzt nur noch für "Unknown" Cache.
Leider enthält auch diese Version noch keine Bugfixe.
« Letzte Änderung: 17. Januar 2016, 00:21:11 von Samsung1 »

Offline Samsung1

  • Micro
  • ***
  • Beiträge: 104
Re: Doppellistings abgleichen -- cmanager
« Antwort #133 am: 17. Januar 2016, 00:32:49 »
Leider bin ich kein GC-Premium Mitglied und mit alten PQs kann ich die Fehler nicht reproduzieren. Mag mir jemand eine PQ zur Verfügung stellen, mit der es kracht? Vielleicht per Dropbox o.ä. als PM?

following

  • Gast
Re: Doppellistings abgleichen -- cmanager
« Antwort #134 am: 17. Januar 2016, 01:34:09 »
Ferner gilt der große Suchradius jetzt nur noch für "Unknown" Cache.

Es gibt viele Multis bei denen auf GC die Station1 und auf OC der Parkplatz oder sonstwas eingetragen ist. Manchmal auch umgekehrt. :-) Könnte also Sinn machen, auch Multis im großen Radius zu suchen.