Ich habe mir ein Lazarus-Programm (Pascal) geschrieben, dass für mich fast alles ereldigt:


type
  TDatenrecord = record
    DateinameJGW: string;
    DateinameJPG: string;
    DateinameOvr: string;
    Ort: string;
    Groesse: double;
    GroesseGerundet: double;
    Reihenfolge: integer;
    XKoord: double;
    YKoord: double;

[...]   

procedure Sortieren (var Datenarray:TDatenarray);
  procedure Vertauschen (var Datenarray:TDatenarray;i,j:integer);
  var
    ZwSpeicher: TDatenrecord;
  begin
    ZwSpeicher:= Datenarray[i];
    Datenarray[i]:=Datenarray[j];
    Datenarray[j]:=ZwSpeicher;
  end;

var
  i,j:integer;
  begin
    For i:= Length(Datenarray)-1 downto 1 do
      For j:=1 to i do
        begin
          if Datenarray[j-1].GroesseGerundet < Datenarray[j].GroesseGerundet
            then begin
              Vertauschen(Datenarray, j-1,j);
            end;
          if Datenarray[j-1].GroesseGerundet = Datenarray[j].GroesseGerundet
            then if Datenarray[j-1].YKoord < Datenarray[j].YKoord
              then begin
                Vertauschen(Datenarray, j-1,j);
              end;
        end;
  end; 

Da die Auflösungen nicht immer gleich sind habe ich diese gerundet und sortiere sie im ersten Schritt nach der Größe. Sollte die Größe gleich sein sortiere ich nach der Y-Koordinate, sodass das nördliche Bild immer zuerst gezeichnet wird.

gdaltindex macht es sich beim Zeichen sehr einfach: Was zuerst im Index ist wird zuerst gezeichnet. Das hat den Vorteil, dass man Übersichtsbilder an den Anfang stellen kann, welcher Schnell sichtbar wird und die Deteilbilder am Ende werden danach drüber gelegt.

Sollten Fragen zu meinem Code sein oder der Wunsch den ganzen Code zu bekommen gerne bei mir melden.

In diesem Sinne,
AJoNee