Schlechte Bildqualität von Rasterpyramidendateien in ArcGIS Desktop (kein Anti-Aliasing)?

8

Es gibt mehrere GeoTIFF-Dateien (Größe ~ 7000 x 7000 px), die ich in ArcGIS Desktop 10.0 zu öffnen versuche. Ich habe bereits Rasterpyramiden für sie (.ovr-Dateien) mit dem Geoverarbeitungswerkzeug erstellt, aber ihre Qualität ist ziemlich schlecht (Größenänderung 0,25):

kleines Beispiel

Jede GeoTIFF-Datei enthält viele dünne Details - tatsächlich handelt es sich um eine CAD-Zeichnung, die im Raster gespeichert ist. Ich habe versucht, die manuelle Größenänderung für GeoTIFF im kostenlosen Bildbetrachter durchzuführen, und habe Resample + Anti-Aliasing verwendet. Ergebnis sieht gut aus (0,25 Größe ändern):

kleines Beispiel

Standard-Resample-Methoden (in ArcGIS 10.0), die ich für die Pyramidenerstellung verwendet habe, haben mir kein gutes Ergebnis gebracht. Ich habe auch versucht, Bilder ohne Pyramiden anzuzeigen - das Gleiche.

Dann habe ich versucht, diese Pyramidendatei (.ovr) mit der GDAL-Bibliothek (GDALDataset.BuildOverview) zu erstellen. GDAL kann jedoch auch kein Anti-Aliasing beim Generieren von OVR-Dateien verwenden.

Eine andere Möglichkeit besteht darin, die OVR-Datei manuell zu generieren. Ich habe versucht, eine Bibliothek zum Erstellen einer OVR-Datei zu finden. Nichts. Bald habe ich festgestellt, dass OVR tatsächlich eine mehrseitige TIFF-Datei ist. Als ich die OVR-Datei manuell im Bildeditor (als mehrseitiges TIFF) erstellt, umbenannt und versucht habe, sie in ArcGIS zu verwenden, sah ich einen schwarzen Bildschirm mit einigen Verzerrungen. Möglicherweise liegt ein Problem mit der Farbpalette vor. Ich habe auch keine OVR-Spezifikation gefunden.

Weiß jemand, dass es eine Möglichkeit gibt, solche Pyramidendateien mithilfe von Anti-Aliasing zu generieren, um die Bildqualität zu verbessern? Kann es Links zu OVR-Spezifikationen oder Bibliotheken geben?

EDIT1:

Hier ist ein Teil des Rasters, der als Beispiel verwendet werden kann (versuchen Sie, Pyramiden in ArcGIS zu erstellen).

EDIT2:

Um auf Kommentare zum Ändern der Resampling-Methode beim Erstellen von Pyramiden vollständig zu antworten, habe ich alle Methoden in ArcGIS ausprobiert. Dann habe ich jede OVR-Datei als mehrseitiges TIFF geöffnet und eine Pyramidenebene genommen und in einer separaten Datei gespeichert. Dann habe ich dasselbe Quellbild im Freeware-Viewer (IrfanViewer) auf dieselbe Größe (Pyramidenebene) neu abgetastet. Das Quellbild hat eine Größe von 5001 x 3361 px. Die Pyramidenebene hat eine Größe von 313 x 210 px. Das Bild wurde also 16-mal verkleinert. Hier sind meine Ergebnisse:

  • Nächste Resampling-Methode (aus der Pyramidendatei):

Beispiel am nächsten

  • Bilineare Resampling-Methode (aus der Pyramidendatei):

Beispiel bilinear

  • Cubic Resampling-Methode (aus der Pyramidendatei):

Beispiel kubisch

  • Resample mit Anti-Aliasing in IrfanViewer auf dieselbe Größe:

Beispiel Anti-Aliasing

EDIT3:

Ich reicht eine meiner Quelle georeferenziert Rastern und sein neu abgetasteten Beispiel die Qualität zu zeigen , die ich in Pyramiden zu erreichen versuchen.

Alex Markov
quelle
Können Sie das Bild posten, damit andere damit experimentieren können?
Craig Williams
Ich kann nicht das gesamte Bild posten, aber ich habe einen Link zu einem Teil davon hinzugefügt. Ich hoffe es wird genug sein. Versuchen Sie, die Größe x0.25 mit und ohne Anti-Aliasing in einem Bildbetrachter zu ändern, und Sie werden den Unterschied und das Ergebnis sehen, das ich für Pyramiden erzielen möchte.
Alex Markov
Ich denke, Sie müssen das Bild oder einen Teil davon im Originalformat erneut veröffentlichen, da eine nicht geoferenzierte JPG-Datei nicht wie eine georeferenzierte TIFF-Datei funktioniert. Können Sie die ursprüngliche TIF-Datei ausschneiden und komprimieren?
blah238
Dumme Frage: Haben Sie die originalen CAD-Zeichnungen? Wenn ja, in welchem ​​Format?
Mike T
Diese Dateien sind noch nicht georeferenziert. Wie können Georeferenzinformationen den Prozess des Pyramidenbaus beeinflussen? Es sieht so aus, als würde jede Pyramidenebene einfach die Größe von x0,5 der vorherigen Ebene (oder des Quellbilds für die erste Ebene) ändern. Aber ich bin nicht 100% sicher. Haben Sie einen Link für eine detailliertere Beschreibung? Ich werde versuchen, georeferenziertes Raster zu finden ...
Alex Markov

Antworten:

3

Ich habe mich vor langer Zeit damit befasst. Die einzige Problemumgehung, die ich jemals gefunden habe, hat mehr Platz genutzt, sah aber gut aus. Versuche dies:

  1. Konvertieren Sie von 8 Bit in 24 Bit: gdal_translate -expand rgb
  2. Überlagerungen hinzufügen: gdaladdo -r average_magphase -clean -ro FR_102-132.tif 2 4 6 8 16

Es sollte Toolboxen geben, um die gleichen Ergebnisse in der ESRI-Welt zu erzielen.

Greg Barrett
quelle
Danke Greg! Dies ist das beste Ergebnis, das ich mit GIS-Tools erzielt habe. Sieht viel besser aus als meine vorherigen Ergebnisse. Ich werde weiter mit verschiedenen Methoden experimentieren.
Alex Markov
2

Versuchen Sie, Ihre Pyramiden-Resampling-Methode explizit auf bilineare Interpolation oder kubische Faltung einzustellen.

blah238
quelle
Ich habe bereits alle verfügbaren Resample-Methoden zum Bau von Pyramiden ausprobiert - das Ergebnis kommt dem ersten Bild sehr nahe.
Alex Markov
Möglicherweise ist dies bei Pyramiden überhaupt kein Problem. Versuchen Sie, die Resampling-Methode der Ebene auf der Registerkarte Anzeige der Eigenschaften für Ebenen auf bilinear oder kubisch einzustellen.
blah238
Ich habe versucht, die Resampling-Methode der Ebene auf der Registerkarte Anzeige auf bilinear und kubisch einzustellen. Die besten Ergebnisse ergeben bilineare Ergebnisse, aber Anti-Aliasing liefert viel bessere Ergebnisse, insbesondere wenn das Quellbild eine Breite / Höhe> 4000px aufweist. Ich habe meiner Frage weitere Vergleichsbeispiele hinzugefügt.
Alex Markov
Was passiert, wenn Sie keine Pyramiden erstellen und in den Anzeigeeigenschaften der Ebene ein bilineares Resampling angeben?
blah238
Gleiche Sache. Es sieht etwas besser aus, ist aber weit entfernt vom letzten Beispiel in meiner Frage (Anti-Aliasing in IrfanViewer). Ich habe alle möglichen Kombinationen ausprobiert: mit / ohne Pyramiden + verschiedene Resampling-Methoden.
Alex Markov
1

Ich habe mich seit Monaten mit demselben Problem in ArcGIS befasst und ich denke, ich habe es endlich herausgefunden: Mit ArcGIS können Sie eine bestimmte Resampling-Methode auswählen, diese wird jedoch möglicherweise ignoriert!

Beim Testen mit dem von Ihnen bereitgestellten Beispiel fand ich dieselbe hässliche Pyramidenkreation, die Sie früh gefunden haben. Ich habe mich für die bilineare Pyramidenerstellung entschieden, aber als ich die Eigenschaften für das Bild in ArcCatalog öffnete, stellte ich fest, dass die Pyramiden tatsächlich gegen meinen Willen als nächster Nachbar erstellt wurden.

ArcGIS hat diese Pyramiden trotz Auswahl der bilinearen Neuabtastung erstellt

Mit dieser Diskussion habe ich versucht, über GDAL gut aussehende Pyramiden zu erstellen, aber ich hatte Probleme, die Dateiformate für die korrekte Übertragung zwischen GDAL und ArcGIS zu erhalten. Dabei habe ich etwas entdeckt. Ich werde mit dem schrittweisen Prozess erklären ...

  1. Importieren Sie das Raster in eine Datei (anstatt in eine Geodatabase) und lassen Sie ArcGIS die Pyramiden erstellen. Unabhängig von Ihrer Auswahl wird wahrscheinlich der nächste Nachbar verwendet (getestet über die Toolbox und arcpy).
  2. Löschen Sie in dem Ordner, in dem das Raster gespeichert ist, die Dateien .ovr und .aux. Dies sind die eigentlichen Pyramidendateien.
  3. Öffnen Sie ArcMap und fügen Sie das Raster Ihrem DataFrame hinzu. Es wird ein anderes Dialogfeld angezeigt, in dem Sie aufgefordert werden, Pyramiden zu generieren. Beim Erstellen der Pyramiden in diesem Dialogfeld wird die Auswahl der Resampling-Methode berücksichtigt.

Geben Sie hier die Bildbeschreibung ein

Nach dem Löschen der Dateien .ova und .aux hat ArcGIS diese Pyramiden ordnungsgemäß erstellt

Wenn ich einige Tests durchführe, stelle ich fest, dass dies etwas anders ist als das Problem, das Sie haben, aber vielleicht erleben Sie dies, ohne es zu merken. Ich konnte online keine anderen Diskussionen über die schlechte Qualität der Rasterpyramide finden, und ich habe einige dieser Probleme definitiv erlebt und gelöst. FWIW, ich hatte eine viel bessere Qualität des Luftbildes mit bilinearem Resampling als mit kubischem Resampling.

Hier ist die GIMP-skalierte Kopie desselben Beispielbilds, deren Größe durch lineares Resmapling geändert wurde: GIMP übertrifft ArcGIS in Bezug auf die Bildqualität immer noch

dmsnell
quelle