AJoNee
19
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