Magic Earth-Favoriten editieren mit einem externen Editor

hakkiman

hakkiman

Neues Mitglied
18
Da ich kürzlich ME installiert habe, wollte ich meine Favoriten von Mapfactor Navigator in ME integrieren.
Es sind sehr viele Einträge, die ich in verschieden Länder gruppiert hatte, damit es übersichtlich bleibt. Nur habe ich keinen Editor gefunden, welcher die Datei „Favourites.xlm“ vernünftig anzeigen kann.
Ich habe es mit Poi’s hinbekommen, aber da werden nicht alle Einträge angezeigt, wenn diese über einen bestimmten Umkreis hinaus liegen.
Und über ME selber alle Koordinaten einzeln einzugeben dauert mir viel zu lange.
Diesbezüglich habe ich heute auch mal den Support angeschrieben, mal schauen, was als Antwort kommt.
Habt ihr eventuell einen Editor gefunden, welcher funktioniert?
 
xlm-Dateien sind SQLite Datenbankdateien. Besorg dir mal den den "DB Browser for SQLite" von "DB Browser for SQLite". Damit kannst du dir die Datei anzeigen lassen. (eventuell xlm in db umbennenen)
Wenn du deine POI *.kml Datei in favourites.kml Datei umbenennst, werden die POIs als Favoriten importiert. Schau mal in meine PDF.
Wenn du bei deinen POIs auch Telefonnummern und Adressen importieren möchtest, schau mal in die zweite PDF. Ich benutze das Adressfeld aber für Beschreibungen. Wird intern in der Datenbank auch so bezeichnet (descr)
Gruß Egon
 

Anhänge

  • 04. Favoriten in Magic Earth importieren.pdf
    94,6 KB · Aufrufe: 97
  • 01. KML POIs anpassen und Importieren in Magic Earth.pdf
    747,4 KB · Aufrufe: 82
Zuletzt bearbeitet:
  • Danke
Reaktionen: s9gg9, akapuma und hakkiman
Das ist eine Möglichkeit, mit der ich mich anfreunden kann. Hab so nach und nach meine Favoriten eingefügt. Vielen Dank für den Tipp.
 
Hab gestern eine ausführliche Antwort vom Support erhalten. Mit folgendem Inhalt:
Hello, Thank you for contacting us. Favourites can be edited directly in Magic Earth app (long tap on the desired favourite and then on the Edit button). Alternatively, you can modify the file Favourites.xlm file with a SQLite browser: Downloads - DB Browser for SQLite. Just download the browser on your computer, open the Favourites.xlm file with this program, go to Browse Data and choose LMK in the Table field (see screenshot ‘sqlite.png’). To get latitude and longitude from the values in the coordinates column, please perform the following operations: Coordinates data is packed as an integer 64 value for optimized access. The C code snippet for unpacking it is: WGS_ longitude = int( ccordinates ) / 3200000. ; WGS_latitude = int( coordinates >> 32 ) / 3200000. ; I hope this information helps. Please contact us if there is anything else we may assist you with. Best regards, Delia

Für alle, die sich gefragt haben, wie die Koordinaten formatiert sind.
 
Zuletzt bearbeitet:
Die Info ist ja recht interessant, wenn man die Datenbank direkt beschreiben möchte. Jetzt bräuchte ich nur noch jemanden, der daraus einen funktionierenden Rechenweg ableitet. Ich hab keine Ahnung wie das gehen soll. Hier mal zwei fertige Beispiele.

longitude = 13.74328, latitude = 51.05671 entspricht einem "Coord" Wert von 701719316006899520 in der ME Datenbank
longitude = 13.66440, latitude = 50.73259 entspricht einem "Coord" Wert von 697261483550779904
 
Zuletzt bearbeitet:
auf dem Rückweg der Mail ging die bitmask für WGS_longitude verloren, das hier funktioniert:

C:
void main() {
  long long coord = 701719316006899520;
  // bitwise right shift
  printf("WGS_latitude: %f\n", (float)(coord >> 32) / 3200000);
  // bitmask of first 32 bits
  printf("WGS_longitude: %f\n", (float)(coord & 0xFFFFFFFF) / 3200000);
}
 
Zuletzt bearbeitet:
Ich hatte mitlerweise auch die Lösung direkt für die SQLite-Datenbank zusammengebastelt.
Es werden zwei neue Spalten erstellt und die Daten da abgelegt.

Für die Favorites.xlm, History.xlm und EigenePOIs.xlm gilt folgendes:
ALTER TABLE LMK ADD COLUMN Latitude TEXT DEFAULT '';
ALTER TABLE LMK ADD COLUMN Longitude TEXT DEFAULT '';
UPDATE LMK SET Latitude = (coords>>32)/3200000.;
UPDATE LMK SET Longitude = (coords<<32 >>32)/3200000.;

oder nur ansehen:
SELECT name, coord, (coord>>32)/3200000. AS Latitude, (coord<<32 >>32)/3200000. AS Longitude
FROM LMK

Für die Koordinaten der Wegpunkte in der Tripp.db gilt, typisch ME, eine andere Umrechnung.
ALTER TABLE Wpts ADD COLUMN Latitude TEXT DEFAULT '';
ALTER TABLE Wpts ADD COLUMN Longitude TEXT DEFAULT '';
UPDATE Wpts SET Latitude = (coords>>32)/100000.;
UPDATE Wpts SET Longitude = (coords<<32 >>32)/100000.;

oder nur ansehen:
SELECT TripId, coords, (coords>>32)/100000. AS Latitude, (coords<<32 >>32)/100000. AS Longitude
FROM Wpts;
 
  • Danke
Reaktionen: MacDony
Ups, hier geht es ja richtig ans (IT-)Eingemachte ...
 
@Hannus danke, left und dann right-shift lesbarer als bitmask. Habe das in einen Favourites.xlm dumper verpackt der nach Geojson, GPX und KML exportiert - mein Nutzungsfall war nicht zu editieren, sondern die Möglichkeit anzubieten mit den eigenen Favourites zu migrieren. Trotzdem hilft das ggf als Vorlage den anderen Weg zu bauen oder im exportierten kml zu editieren und dann über die Methode in deinen PDFs wieder zu importieren.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: MacDony

Ähnliche Themen

K
Antworten
10
Aufrufe
438
Lenoid
Lenoid
T
  • teatimetom
Antworten
10
Aufrufe
356
Lenoid
Lenoid
S
Antworten
11
Aufrufe
380
orgshooter
orgshooter
Zurück
Oben Unten