in qmz unbenannte zip Datei wird in QVX nicht erkannt.

  • Ich möchte eine qmz-Datei selbst aus Kacheln erstellen. Da eine qmz-Datei dasselbe ist wie eine .zip-Datei, brauche ich den Powershell-Befehl compress-archive -path .\otm -destinationpath ..\uweotm.zip.

    die Datei uweotm.zip wird dann in uweotm.qmz unbenannt.

    Versuche ich diese qmz Datei in QVX ( v 1.0.20.1) zu öffnen (Drag/Drop vom Win10 Explorer), bekomme ich die Meldung:



    Brauche ich das Zip-Kommando im win10 Explorer (Rechte-Maustaste auf dem Verzeichnis otm und dann "an komprimierten zip-Ordner schicken), so bekomme ich eine zip-Datei, die ich, nach Umbenennen in qtm.qmz in QVX ohne Probleme importieren kann.


    Auf was achtet QVX, wenn es die qmz-Dateien liest?

    Im Anhang die zwei Dateien.

    (Ich musste die .qmz-Dateien zum hochladen mit .zip im Namen versehen, da ich .qmz nicht hochladen kann. Zum Testen einfach das".zip" entfernen.)

    Dateien

    • uweotm.qmz.zip

      (8,75 kB, 61 Mal heruntergeladen, zuletzt: )
    • otm.qmz.zip

      (36,39 kB, 66 Mal heruntergeladen, zuletzt: )

    QV 7 auf Lenovo ThinkPad X61 mit Win 7 , QVX auf Win 11, TwoNav und QVM / QVXM auf iPad mini / iPhone mit iOS 16

  • Moin Uwe,


    man sieht schon an der Dateigröße, daß da was faul ist. Wenn du beide Dateien mit einem Archivprogramm öffnest, siehst du, daß in uweotm.qmz die Kachelverzeichnisstruktur fehlt.

    compress-archive -path .\otm -destinationpath ..\uweotm.zip

    In der Doku steht dazu: "There's no directory structure in thearchive file because the Path only specifies file names." Genau das ist oben passiert, um das zu vermeiden, muß der Powershell-Befehl erweitert werden, lies dazu bitte die Abschnitte 6 bis 8 der verlinkten Doku. Ich würde stattdessen allerdings einfach den "Senden an -> Zip-Archiv"-Befehl aus dem Kontextmenü des Windows-Explorer nehmen.

    Grüße
    Hans


    "The universal aptitude for inaptitude makes any human accomplishment an incredible miracle." (John Paul Stapp)

  • Hallo Hans

    Wenn ich die Dateien im Explorer ansehe (nachdem ich .zip im Namen angehängt habe), sieht man die Verzeichnisstruktur in den qmz-Dateien:

    Die PowerShell Doku bezieht sich auf einen -Path Parameterwert, der Dateien bezeichnet. Das ".\otm" bezeichnet jedoch ein Verzeichnis und dann wird die Verzeichnisstruktur ins Archiv geschrieben.

    Hätte ich -Path .\otm\*.* geschrieben, so würde die Verzeichnisstruktur in der Tat fehlen.


    Die Dateigrösse ist anders, da in der einen Datei der Level 1 fehlt (den habe ich erst später im Verzeichnis dazugetan).

    Aber das kann nicht der Grund sein, weshalb QVX die Datei nicht als Karte erkennt.

    Kennst Du einen PowerShell-Befehlt, mit dem ich "Senden an -> Zip-Archiv" anstossen kann?

    QV 7 auf Lenovo ThinkPad X61 mit Win 7 , QVX auf Win 11, TwoNav und QVM / QVXM auf iPad mini / iPhone mit iOS 16

  • Das ".\otm" bezeichnet jedoch ein Verzeichnis und dann wird die Verzeichnisstruktur ins Archiv geschrieben.

    Nicht wirklich, der Windows-Explorer täuscht da. Wenn man die beiden ZIPs mit der Linux-Archivverwaltung (unter Windows kannst du dafür z.B. auch 7zip nehmen) öffnet, sehen sie so aus:



    Wenn man beide Archive mit einem Editor öffnet, sieht man das auch. Der Powershell-Befehl erzeugt einen anderen Header als die Klassiker, in der uweotm.qmz ist nur die Kachel 0/0/0 und die xml-Datei mit den Metadaten enthalten. Die otm.qmz sieht in der nächsten Ebene so aus, die Unterverzeichnisse für die Zoomstufen sind korrekt angelegt:


    Kennst Du einen PowerShell-Befehlt, mit dem ich "Senden an -> Zip-Archiv" anstossen kann?

    Nein, da mußt du dich selber reinfuchsen. Du könntest z.B. in der Registry suchen, welcher Befehl dafür hinterlegt ist.

    Grüße
    Hans


    "The universal aptitude for inaptitude makes any human accomplishment an incredible miracle." (John Paul Stapp)

  • Nicht wirklich, der Windows-Explorer täuscht da. Wenn man die beiden ZIPs mit der Linux-Archivverwaltung (unter Windows kannst du dafür z.B. auch 7zip nehmen) öffnet, sehen sie so aus:

    Also die PowerShell Doku ist da eindeutig:

    Die Verwendung von Wildcards mit einem Stammverzeichnis wirkt sich auf den Inhalt des Archivs aus:

    • Wenn Sie ein Archiv erstellen möchten, das das Stammverzeichnis enthält und alle dateien und Unterverzeichnisse enthält , geben Sie das Stammverzeichnis im Pfad ohne Wildcards an. Beispiel: -Path C:\Reference


    Jedoch bin ich mit dir einig, dass die beiden zips nicht gleich sind. Ich habe 7zip und sehe folgende Unterschiede:

    Kann es sein, dass das fehlende Attribut "D" bei den Directories von QVX erwartet wird? (Win Explorer und 7zip scheinen sich da weniger daran zu stören)

    QV 7 auf Lenovo ThinkPad X61 mit Win 7 , QVX auf Win 11, TwoNav und QVM / QVXM auf iPad mini / iPhone mit iOS 16

  • Kann es sein, dass das fehlende Attribut "D" bei den Directories von QVX erwartet wird?

    Das kann nur Tom beantworten. Aus deinem Screenshot geht auch hervor, daß da noch mehr fehlt als nur das "D", für mich ist das kein intaktes Verzeichnis.

    Grüße
    Hans


    "The universal aptitude for inaptitude makes any human accomplishment an incredible miracle." (John Paul Stapp)

  • wenn ich die Datei im winExplorer oder 7zip entzippe, so wird die Directory-Struktur automatisch auf der Festplatte richtig erstellt. Es scheint da unterschiedliche Interpretationen zu geben, wann ein Unterverzeichnis richtig in der zip-Date steht.


    Die verwendete Methode im .NET /powershell schreibt den Unterverzeichnis-Pfad in den Parameter entryName.

    Kann es sein, dass andere Programme (inkl. QVX) das anders machen?

    QV 7 auf Lenovo ThinkPad X61 mit Win 7 , QVX auf Win 11, TwoNav und QVM / QVXM auf iPad mini / iPhone mit iOS 16

  • Jegliche Versuche mittels .Net- oder Powershell-Befehlen eine zip-Datei zu bekommen, die QVX anerkennt, waren erfolglos.

    Ich rufe nun die Kommandozeilen-Variante 7z.exe aus Powershell auf und bin sehr zufrieden. Mit der Filelist-Option geht das zippen zudem ungemein viel schneller, als die Kacheln einzeln hinzuzufügen.

    Ebenfalls toll ist, dass ich auch bestehende qmz-Dateien updaten und mit Kacheln erweitern kann. Das geht ja mit QVX leider nicht (in QV7 gab es das noch)

    Also alles gut!:)

    QV 7 auf Lenovo ThinkPad X61 mit Win 7 , QVX auf Win 11, TwoNav und QVM / QVXM auf iPad mini / iPhone mit iOS 16