• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Datenbankpflege Bildimport

Stonefinger

Geocacher
Hallo zusammen,

mich beschäftigt gerade, wie ich meine Datenbank möglichst aktuell halte, und dabei nicht zu viel Traffic auf GC.com verursache. Der Zeitfaktor spielt natürlich auch noch eine Rolle. Für 1600 Caches die Bilder immer wieder neu zu laden dauert halt auch. Vermutlich habe ich auch noch nicht ganz begriffen wie das momentan bei Cachebox wirklich funktioniert.

Tag 1. GPX Datei Homezone (1000 Caches) > 1. Import Bilder und Spoiler werden geladen von GC.com geladen (jetzt ist alles aktuell)

Tag 2. GPX Datei Homezone (1000 Caches) > 2. Import Biler und Spoiler (? Werden hier jetzt alle Bilder neu geladen, oder wird nachgesehen, ob die Bilder schon auf der Speicherkarte sind?) (hier jetzt auch gleich ein Problem... Cache XY wurde mittlerweile archiviert und ist nicht mehr dabei, ist aber immer noch in der Datenbank)

Was würde passieren, wenn ich die Datenbank manuell lösche? Die Bilder sind ja nach wie vor auf der Speicherkarte. Wird hier geprüft, ob die Bilder schon vorhanden sind, bzw. wenn das der Fall ist dann das Bild auf der Karte verwendet? Oder wird grundsätzlich, wenn ich die Funktion "import immages" Wähle alles vom gc Server geladen?

Gruß
Werner
 

KukiHN

Geocacher
Hätte da ne ähnliche Frage....
Was ist eigentlich der Unterschied zwischen den Bildern in Repository - Spoilers und Images?
Ich habe die Spoilerbilder schon alle via SpoilerSync auf dem PDA im Ordner Repository - Spoilers, werden auch von Cachebox erkannt und verwendet.
Wenn ich nu bei Import - Description Images aktiviere geht das Laden wieder von vorne los. Sind das andere Bilder (wobei einige dieselben wie in Spoiler sind), sind diese nur anders benannt? Wie kann ich ein doppeltes Laden der Bilder vermeiden?
 

GeoSilverio

Geowizard
Das Laden der Bilder ist derzeit so geregelt: (wenn ich mich vertue, bitte korrigieren)
- Es wird immer geschaut, ob das Bild schon vorhanden ist, dann muss es nicht mehr geladen werden
- Falls es noch nicht vorhanden ist, wird versucht, es zu laden, bei einem Fehlversuch kann es natürlich nicht geladen werden
- Ein erneutes Einlesen der Bilder überprüft standardmäßig wieder ALLE Bilder.

Neu ist nun, dass der Import der Bilder auf den Filter schaut und nur die Bilder der Caches überprüft, die gerade im Filter sind.
Falls man also einmal alle Bilder drin hat und nun eine neue GPX mit nur den Änderungen oder neuen Caches importiert, kann man einen Filter auf diesen mport setzen. Dann werden nur die Bilder dieser Caches überprüft.

Falls man immer die gleiche PQ mit bis zu 1000 Caches (sagen wir mal wöchentlich) importiert, nützt einem das natürlich wenig, da der Filter dann ja immer aus den gleichen Caches besteht.
Wer Programme wie GSAK nutzt, kann sich aber dort alle PQ rein importieren und dann filtern auf "nur neue Caches, die seit dem xxxxx dazugekommen sind" oder sowas und dann eben nur das Delta importieren und auch filtern.

Was sicher schön wäre für die Geschwindigkeit des Bildimportes, wäre ein Datenbank-Flag an jedem Cache, der auf TRUE gesetzt wird, wenn mal alle vorhandenen Bilder vorhanden sind. Dann würde das vielleicht alles etwas flotter gehen. Aber wie weiß cachebox dann, dass vielleicht der owner ein neues Bild in die Beschreibung getan hat...
Also so ganz einfach ists eben nicht.

Die Spoilerbilder sind ja etwas anderes, die gehören nicht mehr zur Cachbeschreibung sonder sind eben als "spoiler" noch angehängt. Die kann man mit dem Tool "SpoilerSync" laden und dann eben in dem Spoiler-Ordner ablegen, neuerdings lassen sich Spoilerbilder auch von cachebox aus nachladen.
 
OP
Stonefinger

Stonefinger

Geocacher
Hallo Silverio,

bitte definiere: "- Ein erneutes Einlesen der Bilder....."

Ist das dann so, dass bei jedem Start der Cachebox in dieser Reihenfolge vorgegangen wird?

Oder ist das absolut zu sehen?

hmmm... ist das verständlich, wie ich es geschrieben habe :)

Gruß
Werner
 

GeoSilverio

Geowizard
Nein, Bilder werden ja grundsätzlich sowieso nur auf deine Aktion hin (Misc - Import) importiert. Aber wenn du das startest, werden alle Bilder von allen Caches überprüft, die derzeit in deinem Datenbankfilter aktiv sind.
Wenn du den Import der Bilder nicht manuell startest, passiert gar nichts, ich glaube nicht mal, wenn du einen einzelnen Cache aufrufst. Da kommen nur so Platzhalter in der Cachebeschreibung.
 
OP
Stonefinger

Stonefinger

Geocacher
Ok... ich starte jetzt den Bildimport, habe 1000 Caches aktiv. Schaut die Cachebox zunächst, ob die Bilder schon auf der Speicherkarte sind?

Tut mir leid, wenn ich nochmal nachfrage, aber ich habs immer noch nicht geschnallt :)
 

MarcLandis

Geocacher
Stonefinger schrieb:
Ok... ich starte jetzt den Bildimport, habe 1000 Caches aktiv. Schaut die Cachebox zunächst, ob die Bilder schon auf der Speicherkarte sind?

Tut mir leid, wenn ich nochmal nachfrage, aber ich habs immer noch nicht geschnallt :)

Ja, erst wird geprueft ob es nen lokales Bild gibt.
 

Toette

Geomaster
hmm...
da muss ich auch noch mal nachhaken...

angenommen ich hab 2000 caches in der datenbank und will _schnell_ ne PQ mit 20 Caches hinzufügen.

Dann muss ich also erst die PQ ohne Bilder importieren (weil ich ja noch keinen Filter setzen kann). Wie bekomme ich dann die Bilder dieser kleinen PQ?
Auf die PQ Filtern und erneut starten?

Wäre es nicht sinnvoller, NUR die aktuelle PQ beim Import zu bearbeiten und alles andere "on demand" ?

Grundsprech soll endlich mal ne vernünftige API anbieten, dann wäre dieser ganze Zirkus unnötig,

Viele Grüße
Toette
 

GeoSilverio

Geowizard
So macht er das ja jetzt...
1. neue PQ importieren
2. auf den neuen Import filtern
3. Bildimport starten

Damit werden nur Bilder von Caches des neuen Imports geladen.

Was die API angeht, stimme ich voll zu. Das hat mit den Bildern gar nicht mal soo viel zu tun, aber allein das Ganze GPX-Geraffel ist offline ja noch halbwegs Ok. Aber online mal Caches aus der Umgebung aufrufen? Nix... Und immerhin zahlen wir dafür.
 

GeoSilverio

Geowizard
Ähm nein... Ich denke nicht.
Die Punkte 1 bis 3 sind manuell zu tun. Aber geht ja flott. Man darf nur den Bildimport nicht gleich beim GP -Import mit dazu anhaken.
Vielleicht kann uns ein Dev aber noch aufklären, vielleicht gehts doch schon automtisch?
 

cacheboxer

Geomaster
Ich glaube das so irgendwie nicht - der Bildimport ist mit der aktuellen Version extrem viel schneller geworden, auch wenn man nichts besonders filtert.

Eben beim Import kam der Hinweis, dass das Suchen nach "additional images" und "spoilers" gegen die terms of use verstoße und ob man das auf eigenes Risiko wirklich wolle.

OK, spidern ist nicht "erlaubt", aber das normale Laden von Listingsbildern schon.

Warum kam dieser Hinweis jetzt nach zig Imports exakt einmal? Und wie sage ich CB, dass ich die Description Images will, die Spoiler aber nur bei Bedarf auf Anforderung im Feld?

Wie unterscheidet CB überhaupt, was ein "Spoiler" ist und ins Spoiler-Verzeichnis geht und was ein Description Images? Habe unter Find/Spoiler auch schon Description Images angeboten bekommen, die ich da nicht manuell hinkopiert habe (was aber auch sehr praktisch war, da ich da zoomen kann).

Irgendwie durchschaue ich momentan so einiges nicht mehr :???:

MfG
 
OP
Stonefinger

Stonefinger

Geocacher
Habe jetzt ein paar Versuche gemacht....

1. GPX Datei importiert 100 Multis (waren vorher schon drauf inkl. Spoiler und Bilder)
- Beim Import kam die Meldung "Spoilerbilder......"
- Dauer des Bildimports (vorheriges selektieren und filtern der GPX) 8 Min!

2. Anschließend wieder Bildimport gestartet
- Beim Import kam keine Meldung "Spoilerbilder..."
- Dauer des Bildimports 30 sek. (Lediglich bei Bildern die vorher noch nicht, wegen Fehler, geladen wurden, werden neu versucht zu laden)

3. Jeder wiederholte Bildimport lief wie 2. ab (30 sek.).

Habe dann die GPX Datei nochmals aufgespielt. Das Ergebnis war, dass er wieder nach den Spoilern gefragt hat.

Hier würde ich vielleicht ansetzen.
Es ist ja so, dass archivierte und geänderte Caches sehr schwer aus einer großen Datenbank rauszukriegen sind. Mir bleibt also nur das Löschen und erneute Aufspielen. Momentan ist es so, dass Cachebox zunächst lokal nach den Beschreibungs-Bildern sucht. Egal, wie ich importiere (und das geht verdammt schnell). Ist es nicht sinnvoll dies auch mit den Spoilern zu tun?

Was unterscheidet Spoilerbilder von Beschreibungs-Bildern?

Die Links für die Beschreibungs Bilder sind in der Long Description der GPX-Datei eingebettet. Es muss kein Zugriff auf GC.com erfolgen.
Die SpoilerBilder können nur durch einen Zugriff auf GC.com gesucht werden.

Mein Vorschlag wäre folgender:
Beim Download der Spoilerbilder wird eine Log-Datei erzeugt, in der protokolliert wird, welche Spoiler schon geladen wurden. Edit: nach welchen Spoilern schon gesucht wurde.
Das könnte man zwar auch mit der Datenbank realisieren, aber wenn ich diese lösche, um beispielsweise archivierte Caches auszufiltern, wären die Informationen immer noch da.

Was haltet ihr davon?
 

BdDuke

Geocacher
Hallo Stonefinger,

ich glaube ich muss hier mal etwas Licht ins dunkle bringen. In der aktullen Implementierung wird sowohl der Zustand der geladenen Beschreibungsbilder und separat der Zustand der Spoiler Bilder (Additional Images) in der Datenbank gespeichert. Das hat den Vorteil, dass alles was zum Import gehört auch in der DB ist und nicht über separate log-Files oder ähnliches inkonsistent werden kann. Es wird auch generell nicht mehr bei den Bildern auf das lokale Vorhandensein geschaut, da es schon mal vorgekommen ist, dass ein Bild aktualisiert werden musste. Und dieser Fall hatte bisher nicht funktioniert.
Generell ist es so, dass für erneute GPX-Importe nur bei geändertem Listing oder bisher nicht ladbaren Bildern wieder versucht wird Bilder zu laden, ansonsten wird weder auf GC.com noch auf die Image Urls zugegriffen, damit die Belastung klein bleibt und der Import schneller geht.
Das Thema: Spoiler Bilder und Description Images doppelt? Ja das ist in der Tat so. Leider ist das Spoiler-Format nicht gleich dem Decription Image Format und so sind diese Bilder immer doppelt geladen. Das ist zwar unschön, hat aber den Vorteil, dass diese Bilder dann auch unter Spoiler aufgezoomt werden können.

Meldung Spoilerbilder: Diese Meldung erscheint immer nur dann, wenn der Haken bei Import -> Import Images gesetzt wird. Wurde er einmal gesetzt, dann möchte man ja nicht bei jedem neuen Import immer wieder den Kram bestätigen müssen. Will man keine Spoiler haben, aber diese vorher bestätigt, dann muss man zuerst den Description Images haken entfernen und danach wieder setzen.

So jetzt hoffe ich, dass die Geschichte etwas klarer geworden ist.

Grüße

BdDuke

Stonefinger schrieb:
Habe jetzt ein paar Versuche gemacht....

1. GPX Datei importiert 100 Multis (waren vorher schon drauf inkl. Spoiler und Bilder)
- Beim Import kam die Meldung "Spoilerbilder......"
- Dauer des Bildimports (vorheriges selektieren und filtern der GPX) 8 Min!

2. Anschließend wieder Bildimport gestartet
- Beim Import kam keine Meldung "Spoilerbilder..."
- Dauer des Bildimports 30 sek. (Lediglich bei Bildern die vorher noch nicht, wegen Fehler, geladen wurden, werden neu versucht zu laden)

3. Jeder wiederholte Bildimport lief wie 2. ab (30 sek.).

Habe dann die GPX Datei nochmals aufgespielt. Das Ergebnis war, dass er wieder nach den Spoilern gefragt hat.

Hier würde ich vielleicht ansetzen.
Es ist ja so, dass archivierte und geänderte Caches sehr schwer aus einer großen Datenbank rauszukriegen sind. Mir bleibt also nur das Löschen und erneute Aufspielen. Momentan ist es so, dass Cachebox zunächst lokal nach den Beschreibungs-Bildern sucht. Egal, wie ich importiere (und das geht verdammt schnell). Ist es nicht sinnvoll dies auch mit den Spoilern zu tun?

Was unterscheidet Spoilerbilder von Beschreibungs-Bildern?

Die Links für die Beschreibungs Bilder sind in der Long Description der GPX-Datei eingebettet. Es muss kein Zugriff auf GC.com erfolgen.
Die SpoilerBilder können nur durch einen Zugriff auf GC.com gesucht werden.

Mein Vorschlag wäre folgender:
Beim Download der Spoilerbilder wird eine Log-Datei erzeugt, in der protokolliert wird, welche Spoiler schon geladen wurden. Edit: nach welchen Spoilern schon gesucht wurde.
Das könnte man zwar auch mit der Datenbank realisieren, aber wenn ich diese lösche, um beispielsweise archivierte Caches auszufiltern, wären die Informationen immer noch da.

Was haltet ihr davon?
 
OP
Stonefinger

Stonefinger

Geocacher
Offensichtlich gibt es aber einen Unterschied bei der Behandlung von Beschreibungsbildern und Spoilerbildern.

Ich lade eine GPX mit 100 Multis. Beim ersten Bildimport + Spoiler (frägt anfangs danach) braucht CB 8 min.

Ich filtere erneut die selbe GPX. Nun werde ich nicht gefragt (Spoiler) und der Bildimport dauert 30 sec.

Ich spiele die GPX erneut auf und importiere anschließend die Bilder, werde erneut nach den Spoilerbildern gefragt (quitiere mit ja), und das ganze dauert wieder 8 min.

Ich spiele die GPX nochmals auf, importiere die Bilder, verneine die Frage nach den Spoilern, und der Import geschieht in 30 sec.

Damit will ich sagen, dass der Bildimport, wenn schon mal geschehen, wesentlich schneller funktioniert als der Spoiler import. Oder sehe ich da noch was falsch?
 

BdDuke

Geocacher
Hallo Stonefinger,

ich habe auch mal das Ganze bei mir hier probiert und bei mir verzogert sich der Import lediglich durch die nicht runterladbaren Bilder aus nicht verfügbaren Links. Ansonsten sind die Zeiten identisch.

Grüße

BdDuke

Stonefinger schrieb:
Offensichtlich gibt es aber einen Unterschied bei der Behandlung von Beschreibungsbildern und Spoilerbildern.

Ich lade eine GPX mit 100 Multis. Beim ersten Bildimport + Spoiler (frägt anfangs danach) braucht CB 8 min.

Ich filtere erneut die selbe GPX. Nun werde ich nicht gefragt (Spoiler) und der Bildimport dauert 30 sec.

Ich spiele die GPX erneut auf und importiere anschließend die Bilder, werde erneut nach den Spoilerbildern gefragt (quitiere mit ja), und das ganze dauert wieder 8 min.

Ich spiele die GPX nochmals auf, importiere die Bilder, verneine die Frage nach den Spoilern, und der Import geschieht in 30 sec.

Damit will ich sagen, dass der Bildimport, wenn schon mal geschehen, wesentlich schneller funktioniert als der Spoiler import. Oder sehe ich da noch was falsch?
 
Oben