Ich habe einen Ordner, der eine große Anzahl von Dateien im GeoTIFF-Format enthält.
Ich muss für jedes dieser Bilder sowohl PRJ- als auch TFW-Dateien generieren.
Gibt es eine Möglichkeit, dies zu tun?
geotiff-tiff
Joe
quelle
quelle
Antworten:
Der einfachste Weg, TFWs zu generieren, besteht darin, ein Skript in Python oder Java mit GDAL zu schreiben, was eine Handvoll Codezeilen wäre.
Die Erstellung von .prj-Dateien im alten Stil (vor ArcGis 9) wird nicht in GDAL unterstützt , sondern nur beim Lesen (siehe hier ). Dateien im neuen Stil (basierend auf WKT) werden bei der Erstellung unterstützt, es kann jedoch nicht garantiert werden, dass sie alle Fälle abdecken. In jedem Fall habe ich in einem überragenden Fall von Verschiebungsaktivitäten ein Python-Skript geschrieben, das genau das tut, was Sie benötigen. Es gibt keine Fehlerprüfung oder ähnliches, aber es funktioniert für das Verzeichnis der Tiffs, die ich zur Hand hatte, YMMV.
Rufen Sie es von der Kommandozeile wie folgt auf:
Der zweite Parameter kann prj sein, um prj-Dateien im WKT-Stil zu generieren, oder alles andere, um nur .TFWs zu generieren.
Wenn Sie Python-Skripte aus irgendeinem Grund nicht verwenden können, können Sie Folgendes verwenden:
Dadurch werden jedoch auch die Bilddaten kopiert, sodass Sie das Original löschen müssen. Und natürlich werden keine .prj-Dateien mit beiden Geschmacksrichtungen erzeugt. Unter der Annahme, dass sich alle Ihre Tiffs in derselben Projektion befinden, können Sie einfach eine .prj-Datei von Hand erstellen und für alle Quellbilder duplizieren.
quelle
generate_tfw
dies bei gedrehten Rastern, die glücklicherweise weniger häufig sind , nicht richtig funktioniert. Dies kann mit ein wenig Matrixmultiplikation behoben werden.Das mit libgeotiff gelieferte Dienstprogramm listgeo ist ein nützliches Befehlszeilenprogramm , mit dem Sie die TWF-Datei aus GeoTIFF-Dateien extrahieren können.
Zum Beispiel habe ich ein Verzeichnis mit GeoTIFFs und ich habe libgeotiff als Teil von OSGeo4w installiert. Sie können die OSGeo4w-Shell ausführen und dies tun:
Es wäre schön, wenn dasselbe Dienstprogramm auch die PRJ-Datei extrahieren könnte.
quelle
Nicht wirklich - wenn Sie die Projektion der Dateien kennen, können Sie den Inhalt der prj-Datei unter http://spatialreference.org nachschlagen und dann mithilfe eines Shell-Skripts für jedes Bild eine Vorlage in jede .prj-Datei kopieren.
Die Georeferenzierung muss für jedes Bild einzeln durchgeführt werden, da die .tfw-Datei für jedes Bild unterschiedlich ist (es sei denn, sie befinden sich alle am selben Ort). http://warper.geothings.net/ ist möglicherweise der richtige Weg, wenn Sie dazu keinen Zugriff auf ein Desktop-GIS haben.
quelle
Mit Geotools in Java können Sie diesen Code verwenden:
Wenn Sie die Projektion erhalten möchten, können Sie diesen Code verwenden:
Schreiben Sie den Inhalt einfach
projectionString
in Ihre Projektionsdatei.quelle
Wenn Sie das Bild in der Fotoretuschierungs-App weiter bearbeiten und die Geolokalisierung beibehalten möchten, ist der Export von Rasterebenen mit der Erstellung eines zweiten Bilds und aktiviertem gerendertem Bild der einfachste Weg, IMO. Für leicht abweichende Optionen gibt es einen Weg durch das Menü Raster / Konvertierung / Übersetzen.
quelle