Entzerren (Data Management)

Zusammenfassung

Transformiert ein Raster-Dataset mithilfe von Quell- und Ziel-Passpunkten. Dies ist mit einer Georeferenzierung vergleichbar.

Abbildung

Beispiel für zweidimensionale Koordinatentransformationen

Verwendung

  • Sie müssen die Quell- und Zielkoordinaten angeben. Der Transformationstyp (polynomiale Ordnung) für die Auswahl hängt von der Anzahl der eingegebenen Passpunkte ab.

  • Bei der standardmäßigen polynomialen Ordnung wird eine affine Transformation durchgeführt.

  • Das Entzerren ist hilfreich, wenn das Raster eine systematische geometrische Korrektur erfordert, die mit einem Polynom modelliert werden kann. Durch eine räumliche Transformation kann eine Verzerrung mithilfe einer polynomialen Transformation der richtigen Ordnung invertiert oder entfernt werden. Je höher die Ordnung der Transformation, desto komplexer die Verzerrung, die korrigiert werden kann. Höhere Ordnungen führen zu deutlich längeren Verarbeitungszeiten.

  • Verwenden Sie die folgende Formel, um die minimale Anzahl von Links zu bestimmen, die für eine bestimmte Ordnung der polynomialen Transformation erforderlich sind:

    n = (p + 1) (p + 2) / 2

    wobei n die erforderliche Mindestanzahl von Links für eine Transformation der Polynomreihenfolge p ist. Es wird empfohlen, mehr als die Mindestanzahl von Links zu verwenden.

  • Mit diesem Werkzeug wird die Ausdehnung des entzerrten Rasters festgelegt und die Anzahl der Zeilen und Spalten in etwa mit der im Eingabe-Raster gleichgesetzt. Aufgrund des geänderten Verhältnisses zwischen den Größen des Ausgabe-Rasters in X- und Y-Richtung sind kleinere Abweichungen möglich. Die verwendete Standardzellengröße wird berechnet, indem die Ausdehnung durch die vorher ermittelte Anzahl an Zeilen und Spalten dividiert wird. Der Wert der Zellengröße wird vom Resampling-Algorithmus verwendet.

  • Wenn Sie die Ausgabezellengröße in den Umgebungseinstellungen festgelegt haben, wird die Anzahl der Zeilen und Spalten wie folgt berechnet:

    columns = (xmax - xmin) / cell size rows = (ymax - ymin) / cell size
  • Sie können die Ausgabe in den Formaten BBIL, BIP, BMP, BSQ, DAT, Esri Grid, GIF, IMG, JPEG, JPEG 2000, PNG, TIFF, MRF, CRF oder einem beliebigen Geodatabase-Raster-Dataset speichern.

  • Beim Speichern eines Raster-Datasets in einer JPEG-Datei, einer JPEG 2000-Datei oder einer Geodatabase können Sie im Dialogfeld Umgebungen einen Komprimierungstyp und eine Komprimierungsqualität festlegen.

  • Dieses Werkzeug unterstützt multidimensionale Raster-Daten. Sie müssen die Ausgabe in einer CRF-Datei speichern, um das Werkzeug für jeden Abschnitt im multidimensionalen Raster auszuführen und eine multidimensionale Raster-Ausgabe zu generieren.

    Zu den unterstützten Typen von multidimensionalen Eingabe-Datasets zählen multidimensionale Raster-Layer, Mosaik-Dataset, Image-Service und CRF.

Syntax

arcpy.management.Warp(in_raster, source_control_points, target_control_points, out_raster, {transformation_type}, {resampling_type})
ParameterErklärungDatentyp
in_raster

Das zu transformierende Raster.

Mosaic Layer; Raster Layer
source_control_points
[source_control_point,...]

Die Koordinaten des zu entzerrenden Rasters.

Point
target_control_points
[target_control_point,...]

Die Koordinaten, in welche das Quell-Raster entzerrt wird.

Point
out_raster

Der Name, der Speicherort und das Format für das Dataset, das Sie erstellen. Fügen Sie beim Speichern eines Raster-Datasets in einer Geodatabase dem Namen des Raster-Datasets keine Dateierweiterung hinzu. Beim Speichern des Raster-Datasets als JPEG-, JPEG 2000- oder TIFF-Datei bzw. in einer Geodatabase können Sie einen Komprimierungstyp und eine Komprimierungsqualität festlegen.

Wenn Sie das Raster-Dataset in einem Dateiformat speichern, müssen Sie die Dateierweiterung angeben:

  • .bil: Esri BIL
  • .bip:Esri BIP
  • .bmp: BMP
  • .bsq: Esri BSQ
  • .dat: ENVI DAT
  • .gif: GIF
  • .img: ERDAS IMAGINE
  • .jpg: JPEG
  • .jp2: JPEG 2000
  • .png: PNG
  • .tif: TIFF
  • .mrf: MRF
  • .crf: CRF
  • Keine Erweiterung für Esri Grid
Raster Dataset
transformation_type
(optional)

Gibt die Transformationsmethode zum Verschieben des Raster-Datasets an.

  • POLYORDER0 Bei dieser Methode wird eine Polynom-Transformation 0. Ordnung für den Datenversatz verwendet. Dies wird häufig verwendet, wenn Daten bereits georeferenziert sind, aber die Daten durch einen kleinen Versatz besser übereinstimmen. Es ist nur ein Link zum Durchführen einer Polynom-Transformation 0 erforderlich.
  • POLYSIMILARITY Hierbei handelt es sich um eine Transformation erster Ordnung, die versucht, das Shape des ursprünglichen Rasters beizubehalten. Der RMS-Fehler ist tendenziell höher als andere Polynom-Transformationen, da die Beibehaltung des Shapes wichtiger ist als die optimale Anpassung.
  • POLYORDER1Bei einer polynomen Transformation der ersten Ordnung (affin) wird eine flache Ebene an die Eingabepunkte angepasst.
  • POLYORDER2Bei einer polynomen Transformation der zweiten Ordnung wird eine etwas kompliziertere Oberfläche an die Eingabepunkte angepasst.
  • POLYORDER3Bei einer polynomen Transformation der dritten Ordnung wird eine kompliziertere Oberfläche an die Eingabepunkte angepasst.
  • ADJUST Bei dieser Methode wird eine Polynom-Transformation kombiniert und die TIN-Interpolation (Triangulated Irregular Network) als Interpolationsmethode verwendet, um die globale und lokale Genauigkeit zu optimieren.
  • SPLINE Bei dieser Methode werden die Quellpasspunkte für die Zielpasspunkte genau transformiert. In der Ausgabe sind die Passpunkte genau, die Raster-Pixel zwischen den Passpunkten jedoch ungenau.
  • PROJECTIVE Bei dieser Methode werden Linien entzerrt, damit sie gerade bleiben. Dadurch bleiben Linien, die zuvor parallel waren, möglicherweise nicht parallel. Die projektive Transformation ist besonders nützlich für schiefachsige Bilder, gescannte Karten und einige Bildprodukte.
String
resampling_type
(optional)

Der Resampling-Algorithmus für das Entzerren des Rasters. Die Standardeinstellung ist Nearest.

  • NEAREST "Nächster Nachbar" ist die schnellste Resampling-Methode; Änderungen an Pixelwerten werden minimiert, da keine Werte erstellt werden. Diese Funktion ist für diskontinuierliche Daten wie Landnutzung geeignet.
  • BILINEAR "Bilineare Interpolation" berechnet den Wert jedes Pixels, indem der Mittelwert (gewichtet für Entfernung) der Werte der umgebenden 4 Pixel ermittelt wird. Diese Funktion ist für kontinuierliche Daten geeignet.
  • CUBIC "Kubische Faltung" berechnet den Wert jedes Pixels, indem eine geglättete Kurve durch die umgebenden 16 Punkte angepasst wird. Hierdurch kann das glatteste Bild erzeugt werden, es lassen sich aber auch Werte außerhalb des Bereichs in den Quelldaten erstellen. Diese Funktion ist für kontinuierliche Daten geeignet.
  • MAJORITY"Majority-Resampling" legt den Wert jedes Pixels auf Grundlage des am meisten verbreiteten Wertes innerhalb eines 3 mal 3-Fensters fest. Für diskontinuierliche Daten geeignet.

Die Optionen Nearest und Majority werden für Kategoriedaten verwendet, z. B. für eine Klassifizierung der Landnutzung. Die Option Nearest ist die Standardauswahl, da sie die schnellste Option ist und die Zellenwerte nicht verändert. Verwenden Sie diese Optionen nicht für kontinuierliche Daten wie Höhenflächen.

Die Optionen Bilinear und Cubic eignen sich am ehesten für kontinuierliche Daten. Diese Optionen sollten nicht für klassifizierte Daten verwendet werden, da die Zellenwerte unter Umständen geändert werden.

String

Codebeispiel

Warp – Beispiel 1 (Python-Fenster)

Dies ist ein Python-Beispiel für das Werkzeug Warp.

import arcpy
from arcpy import env
env.workspace = "c:/data"
source_pnt = "'234718 3804287';'241037 3804297';'244193 3801275'"
target_pnt = "'246207 3820084';'270620 3824967';'302634 3816147'"
arcpy.Warp_management("raster.img", source_pnt, target_pnt, "warp.tif", "POLYORDER1",\
                          "BILINEAR")
Warp – Beispiel 2 (eigenständiges Skript)

Dies ist ein Python-Skriptbeispiel für das Werkzeug Warp.

##====================================
##Warp
##Usage: Warp_management in_raster source_control_points;source_control_points... 
##                       target_control_points;target_control_points... out_raster
##                       {POLYORDER_ZERO | POLYORDER1 | POLYORDER2 | POLYORDER3 | 
##                       ADJUST | SPLINE | PROJECTIVE} {NEAREST | BILINEAR | 
##                       CUBIC | MAJORITY}
    

import arcpy

arcpy.env.workspace = r"C:/Workspace"

##Warp a TIFF raster dataset with control points
##Define source control points
source_pnt = "'234718 3804287';'241037 3804297';'244193 3801275'"

##Define target control points
target_pnt = "'246207 3820084';'270620 3824967';'302634 3816147'"

arcpy.Warp_management("raster.img", source_pnt, target_pnt, "warp.tif", "POLYORDER2",\
                      "BILINEAR")

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen