Luftbilder von Aerowest

Ist ja auch Ubuntu :wink:

Bernd

So, geht jetzt auch mit OpenSUSE.

Das Problem lag bei IcedTea-Web, dem Browserplugin für Firefox, es gibt leider keine Alternative.

Aber man kann das Plugin deaktivieren und Sun-Java 1.7.0 installieren, mit dessen Plugin klappts.

Nur so als Info, falls jemand auch mal darüber stolpert

Bernd

Ist bekannt:
http://wiki.openstreetmap.org/wiki/DE_talk:WissensWert/Luftbilder
Inkl. Lösung ohne Java.

Gruß,
Mondschein

Hallo,

ich benutze die Aerowestbilder schon seit einiger Zeit. Nachdem ich das Problem mit den Auflösungspyramiden gelößt habe (gdaladdo hat unter Win7 Probleme mit jpeg) hat sich ein neues Problem aufgetan.

Bisher habe ich die Bilder immer in 1:1000 runtergeladen und sie waren auch alle gut zu sehen. Jetzt kam ich auf die Idee, dass 1:2000 vielleicht auch reichen könnte und weniger Aufwand zum Runterladen ist. Also habe ich da mal angefangen. Jetzt habe ich nur das Problem, dass die neuen 1:2000-Bilder über den 1:1000 Bildern liegen. Man sieht gut dass erst das hochauflösende Bild geladen wird und danach das andere Bild drüber gelegt wird. Gibt es da irgendeine Möglichkeit das zu steuern?
Ich habe mal Testweise angefangen eine “Auflösungspyraminde” runter zu laden. Funktioniert auch soweit, ich würde nur gerne meine alten Bilder da mit einbauen, was leider aus dem beschriebenen Problem nicht geht.

Gruß,
AJoNee

Die Reihenfolge wird durch die shp-Datei bestimmt.
Die bei gdaltindex (erstellt diese shp-Datei) zuletzt angegebenen Bilder liegen oben.

Gruß,
Mondschein

Vielen Dank für die zügige Antwort. Wenn ich den folgenden Befehl

gdaltindex -write_absolute_path bilder.shp *.jpg

richtig verstehe müsste es demnach reichen, wenn ich die Bilder so umbenenne, dass große Bilder am Anfang von Alphabet stehen und kleinen am Ende und ich danach das Shapefile beim Hinzufügen von Bildern immer lösche und anschließend neu erstelle.
Oder fällt sonst noch jemandem eine gute Möglichkeit ein das Problem zu lösen? Wenn es klappt ergänze ich dann noch die entsprechende Wiki-Seite.

AJoNee

Wenn Windows nach dem Dateinamen sortiert, dann müsste das so funktionieren.

Gruß,
Mondschein

Du hast natürlich auch noch eine andere Möglichkeit. holgermappt hatte bereits ein kleines Perlskript geschrieben, welches die Auflösung berücksichtigt und so erst die groben und dann die feineren Bilder einliest. Ob du allerdings Perl einfach so unter Windows ausführen kannst ist die Frage.

Kann mich nicht in JOSM rechts oben in dem Dateiebenenfenster durch hoch-/ runterverschieben die Layer verändern?

Na klar kann man die Layer verschieben. Wenn man jedoch nicht nur 20 oder 30 Bilder haben möchte, nimmt man sich einen Mapserver, welcher ähnlich wie die anderen WMS Server nur noch einen Layer haben. Da kann man in Josm nichts mehr verschieben weil die Anzeige von einem externen Programm gerechnet wird.

Ah, hatte ich falsch verstanden.

Aber kann man nicht 2 Layer erstellen, einen pro Auflösung? Weiss ja nicht, ob das geht, mir fehlt da der technische Hintergrund… :slight_smile:

Natürlich kann man auch zwei Layer oder mehr anlegen. Das muss man dann aber vorher machen.

Da ich von Perl keine Ahnung habe werde ich das Rad mal neu erfinden und probieren das ganze mit Lazarus zu Programmieren (Da kommt dann auch das Batch skript rein und noch mehr). Mit Lazarus sollte ich das ganze dann auch Linux-Kompatibel kompilieren können.

AJoNee

Das ist ein schönes Projekt. Du solltest mit deinem Programm die jgw Dateien wie textdateien öffnen und dann nach Auflösung sortieren. Außerdem empfehle ich dir wenn du schon dabei bist immer Nordwest zu erst einzufügen und dann nach Osten arbeiten und später die nächste “Reihe”

Wo kann man denn das Skript herunterladen?

Gruß,
Mondschein

Da kannst du ihn nur selber danach fragen. Er hatte es mir angeboten, wegen mangelnder Perlkenntnisse habe ich mich nur über deren technische Umsetzung erkundigt und es dann dabei belassen.

Hallo AJoNee

Warum nicht einfach die Bilder unterschiedlicher Auflösung in jeweils eigene Ordner ablegen?
Dann gibst du die Dateien als Ordner_2000/* und Ordner_1000/* an und schon hast du die richtige Reihenfolge.
Alternativ kannst du natürlich vor den Dateinamen jeweils ein “eins_” respektive “zwei_” hängen, wenn es einfacher ist alle Bilder in einem Ordner zu haben.

Edbert (EvanE)

Das Script habe ich bisher nicht veröffentlicht. Kann ich aber machen, wenn Interesse besteht.

Die zugehörigen Posts stehen in Thread Mapserver Luftbilder sortieren:

Ich habe Interesse! :smiley:

Gruß,
Mondschein

Na dann. Ist nur für EPSG31469, da ich bisher nichts anderes gebraucht habe.

#! /usr/bin/perl

### This script reads the images from directory $imgDir, sorts them, and
### creates a new shape file in that directory.

use strict;
use warnings;

### The extracted images are expected in this directory.
my $imgDir = "epsg31469";

opendir(my $dh, $imgDir) or die "Can't opendir $imgDir: $!";
my %images;
while (my $file = readdir($dh)) {
  if ($file =~ m/\.jgw$/) {
    my $filePath = $imgDir."/".$file;
    open(my $fd, $filePath) or die "Cannot read file $filePath: $!";
    my $meterPerPixel = <$fd>;
    $filePath =~ s/jgw$/jpg/;
    $images{$filePath} = $meterPerPixel;
    close($fd);
  }
}
closedir $dh;

my $scriptName = "./run.sh";
open(my $fd, ">", $scriptName) or die "Cannot open run script: $!";
### Delete the old shape file and create a new one.
print $fd "#! /bin/sh\n\nrm $imgDir.sh* $imgDir.dbf\n\ngdaltindex $imgDir.shp \\\n";
foreach my $image (sort {$images{$b} <=> $images{$a}} keys(%images)) {
  print $fd "  $image \\\n";
}
print $fd "  2>&1 | grep -v \"is already in tileindex. Skipping it.\"\n";
close($fd);
chmod(0755, $scriptName);
### Run the script that we just created.
system($scriptName);

Edit: Ach so, funktioniert erstmal nur unter Unix/Linux wegen /bin/sh, rm und grep. Aber mal ehrlich, wer nimmt denn noch was anderes :slight_smile: