Raster in Float (Conversion)

Zusammenfassung

Konvertiert ein Raster-Dataset in eine Datei mit binären Gleitkommawerten, die Raster-Daten darstellen.

Verwendung

  • Als Eingabe-Raster-Dataset sind alle gültigen Raster-Datasets zulässig.

  • Es werden zwei Ausgabeformate erstellt: eine binäre 32-Bit-Datei mit Vorzeichen im IEEE-Gleitkomma-Format mit der Erweiterung .flt und eine ASCII-Header-Datei mit der Erweiterung .hdr. Beide verwenden denselben Ausgabe-Gleitkomma-Raster-Dateinamen.

  • Die ASCII-Datei besteht aus Header-Informationen mit einer Reihe von Schlüsselwörtern.

    Das Format der Datei lautet im Allgemeinen wie folgt:

        NCOLS xxx
        NROWS xxx
        XLLCORNER xxx
        YLLCORNER xxx
        CELLSIZE xxx
        NODATA_VALUE xxx
        BYTEORDER <MSBFIRST | LSBFIRST>

    Die Definitionen der Schlüsselwörter lauten wie folgt:

    • NCOLS und NROWS geben die durch die Binärdatei definierte Anzahl der Spalten und Zeilen im Raster an.

    • XLLCORNER und YLLCORNER stehen für die Koordinaten der unteren linken Ecke der unteren linken Zelle.

      Die Verwendung von XLLCENTER und YLLCENTER wird von Raster in Float nicht unterstützt.

    • CELLSIZE ist die Zellengröße des Rasters.

    • NODATA_VALUE ist der Wert, der die NoData-Zellen angibt.

    • Durch BYTEORDER wird festgelegt, wie Binärzahlen mit mehreren Byte in dem System gespeichert werden, in dem die Binärdatei generiert wurde. Bei Systemen mit CPU von Intel ist die Byte-Reihenfolge LSBFIRST (auch bekannt als "Little Endian"). In den meisten anderen Architekturen (die meisten Unix-Systeme außer Alpha sowie ältere Macintosh-Systeme mit Motorola CPUs) ist die Byte-Reihenfolge MSBFIRST (auch bekannt als "Big Endian").

  • Der Wert NODATA_VALUE wird in der Ausgabedatei den Zellen im Eingabe-Raster zugeordnet, die NoData-Werte enthalten. Dieser Wert ist normalerweise den Zellen vorbehalten, deren wahrer Wert unbekannt ist.

  • NoData-Werte im Eingabe-Raster erhalten in der Ausgabe-Float-Datei standardmäßig den Wert -9999. Wenn Sie einen anderen Wert verwenden möchten, gehen Sie wie folgt vor:

    1. Führen Sie das Werkzeug Erweiterung "ArcGIS Spatial Analyst" IsNull für das ursprüngliche Raster aus. Es wird ein Raster mit binären Werten ausgegeben, wobei der Wert "1" den NoData-Werten im ursprünglichen Raster entspricht. Der Wert "0" entspricht allen übrigen Werten.
    2. Führen Sie das Erweiterung "ArcGIS Spatial Analyst"-Werkzeug If-Else-Bedingungen aus. Geben Sie dabei folgende Werte an: das Ergebnis von IsNull als Eingabe-Bedingungs-Raster, den neuen Wert, der den NoData-Werten zugeordnet werden soll, als Eingabe-Wert, wenn Bedingung WAHR, das Ursprungs-Raster als Eingabe-Raster, wenn Bedingung FALSCH und den Bedingungsausdruck "value = 1".
    3. Konvertieren Sie das Con-Ausgabe-Raster mit dem Werkzeug Raster in FLOAT in eine Binärdatei im Gleitkommaformat.
    4. Ändern Sie in der ASCII-Header-Datei den Wert NODATA_VALUE in den Wert, in den NoData konvertiert wurde.

  • Bei diesem Werkzeug wird der Ursprung nur als linke untere Ecke der linken unteren Zelle geschrieben. Das Werkzeug Raster kopieren unterstützt als Ursprung auch den Mittelpunkt der unteren linken Zelle.

Syntax

arcpy.conversion.RasterToFloat(in_raster, out_float_file)
ParameterErklärungDatentyp
in_raster

Das Eingabe-Raster-Dataset.

Das Raster kann ein Ganzzahl- oder Gleitkomma-Raster sein.

Raster Layer
out_float_file

Die Ausgabe-Raster-Datei im Gleitkommaformat.

Der Dateiname muss die Erweiterung .flt aufweisen.

File

Codebeispiel

RasterToFloat – Beispiel 1 (Python-Fenster)

Konvertiert ein Raster-Dataset in eine Datei mit binären Gleitkommawerten, die Raster-Daten darstellen.

import arcpy
from arcpy import env
env.workspace = "C:/data"
inRaster = "elevation"
outFloat = "c:/output/elevation.flt"
arcpy.RasterToFloat_conversion("elevation", "c:/output/elevation.flt")
RasterToFloat – Beispiel 2 (eigenständiges Skript)

Konvertiert ein Raster-Dataset in eine Datei mit binären Gleitkommawerten, die Raster-Daten darstellen.

# Name: RasterToFloat_Ex_02.py
# Description: Converts a raster dataset to a file of binary floating-point
#     values representing raster data.
# Requirements: None

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inRaster = "elevation"
outFloat = "c:/output/elevation.flt"

# Execute RasterToFloat
arcpy.RasterToFloat_conversion(inRaster, outFloat)

Lizenzinformationen

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

Verwandte Themen