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

Benutzerdatenfeld bei Import nicht überschreiben

Mark

Geowizard
Der Titel sagt es eigentlich schon: Ich habe eine Datenbank mit einem Benutzerdatenfeld. Wenn ich eine GPX importiere, die dieses Feld nicht enthält oder der Wert des Feldes anders ist, wird es in der Datenbank überschrieben. Ich dachte, bei "Felder sperren" einfach alle $d_User* auszuwählen, würde reichen. Dem ist aber nicht so. Wie löse ich das?
 

HHL

Geomaster
Sag deinem GPX-Lieferanten (Ich vermute es geht hier um korrigierte Koordinaten?) einfach, er möge die GSAK-spezifischen Felder beim GPX erstellen weglassen. Die haben normalerweise auch nichts in einem GPX zu suchen.
Hilfsweise geht dies:
1. Leere DB erstellen (oder vorhandene aufrufen)
2. GPX importieren
3. Inhalt aller nicht gewünschten Felder per GlobalReplace löschen. *
4. Exportieren als GPX ohne GSAK-spezifische Felder.
5. Import dieses GPX-Files in die reguläre DB.

* kann man auch auslassen.
 
OP
Mark

Mark

Geowizard
Sag deinem GPX-Lieferanten (Ich vermute es geht hier um korrigierte Koordinaten?) einfach, er möge die GSAK-spezifischen Felder beim GPX erstellen weglassen.
Ah okay, so genau hatte ich mir die GPX-Datei nicht angeschaut. Aber ja, im Quellcode sind GSAK-spezifische Felder. Dann teste ich mal deinen Workaround, danke! Schade, dass ein IMPORT ohne diese Felder wohl nicht möglich ist.
 
OP
Mark

Mark

Geowizard
Das funktioniert so leider nicht, weil es dann die in GSAK geänderten Koordinaten nicht "mitnimmt". Lieferant bin ich übrigens selbst, ich will eine Datenbank mit einer anderen zusammenführen und ich wüsste nicht, wie ich das anders machen könnte. Natürlich könnte ich vorher prüfen, ob der Cache schon vorhanden ist, teilweise hat er aber schon geänderte Koordinaten, teilweise Notizen usw. Letztendlich will ich nur Koordinaten ggf. updaten und die Notizen hinzufügen bzw. etwaig vorhandene erweitern.

Das Problem ist übrigens das Makro CorrectedCoord2GCcom.gsk, das legt ein Benutzerdatenfeld CorOnline an. Das kann ich mit Global Replace auch nicht löschen, sondern nur auf true oder false setzen.
 

HHL

Geomaster
Das funktioniert so leider nicht, weil es dann die in GSAK geänderten Koordinaten nicht "mitnimmt".
Doch, das macht es. Im exportierten GPX sind immer die korrigierten Koordinaten. Nach dem Import werden sie nur nicht als solche angezeigt. Es gibt aber ein Makro, das dir das gelbe Dreieck für alle im Filter setzt.
Natürlich könnte ich vorher prüfen,
Das mußt du nicht. Das macht GSAK selber, wenn du die richtigen Einstellungen beim Wegpunkte kopieren verwendest.
NB: Das Vorhalten ein und derselben Caches in mehreren Datenbanken ist grundsätzlich nicht zu empfehlen. Welchen Ärger man sich damit einhandelt siehst du ja jetzt selbst.
 
OP
Mark

Mark

Geowizard
Doch, das macht es. Im exportierten GPX sind immer die korrigierten Koordinaten. Nach dem Import werden sie nur nicht als solche angezeigt. Es gibt aber ein Makro, das dir das gelbe Dreieck für alle im Filter setzt.
Tatsache. Das macht das Ganze jetzt aber nicht einfacher oder besser. Hier fehlt definitiv die Möglichkeit, ein Feld beim Import zu ignorieren. Dann hätte sich mein Problem in 10 Minuten erledigt.

Edit: Das Problem betrifft übrigens nur CustomData. Wenn ich das aus der GPX rauslösche, funktioniert alles wie gewollt.

Das mußt du nicht. Das macht GSAK selber, wenn du die richtigen Einstellungen beim Wegpunkte kopieren verwendest.
NB: Das Vorhalten ein und derselben Caches in mehreren Datenbanken ist grundsätzlich nicht zu empfehlen. Welchen Ärger man sich damit einhandelt siehst du ja jetzt selbst.
Exakt deswegen will ich die Daten ja zusammenführen. Ein Makro, das einfach "Mergen und bei Problemen nachfragen" macht, wäre perfekt. So wie GSAK das bspw. macht, wenn der Import von GPX schon vorhandene Notizen entdeckt.
 
Zuletzt bearbeitet:

HHL

Geomaster
Ein Makro, das einfach "Mergen und bei Problemen nachfragen" macht, wäre perfekt.
Und nach so einem Makro hast Du auch mal gesucht? Vermutlich nicht.
84fbb2e10c73410ee81136cd7462630d.png
 
OP
Mark

Mark

Geowizard
Und nach so einem Makro hast Du auch mal gesucht? Vermutlich nicht.
Selbstverständlich, das liegt ja nahe. Leider auch nicht mit dem erhofften Ergebnis. Ich hab jetzt die GPX-Datei einfach drüber eingelesen und lasse eben das Upload-Makro nochmal laufen. Das wiederholt sich dann zwar nur, aber wenn es keine andere Lösung gibt, dann nehm ich eben die.
 

Lunkelbaer

Geowizard
Bist Du dir sicher, dass die Ladeoptionen auch entsprechend beim Import beibehalten werden?

Die erweiterten Optionen beim Import an. (1. Defaults abhaken)
Dort ist im unteren rechten Eck ein Dropdown (2.) für "Locked Fields". Hier die gewünschten Felder (siehe ggf. auch die Hilfe für die Datenbankvariablen) anklicken. Hier steht z.B. $d_UserData für das Benutzerfeld1; $d_User2 für das Benutzerfeld2; usw. (3.)
Damit Du nicht immer alles neu eingeben musst, speicher dir die Einstellungen ab (4.) und ruf sie beim nächsten Import auf.
Screenshot 2022-05-29 195347.jpg
 
Oben