Float in Raster (Konvertierung)
Zusammenfassung
Konvertiert eine Datei mit binären Gleitkommawerten, die Raster-Daten darstellen, in ein Raster-Dataset.
Verwendung
-
Die Eingabedatei ist eine 32-Bit-Binärdatei im IEEE-Gleitkommaformat mit Vorzeichen.
-
Zwei Eingaben sind erforderlich: die Binärdatei im Gleitkommaformat mit der Erweiterung FLT (<in_float_file>.flt) und eine ASCII-Header-Datei mit der Erweiterung HDR (<in_float_file>.hdr). Sie geben lediglich die FLT-Datei an. Im selben Verzeichnis muss jedoch eine HDR-Datei mit dem gleichen Dateinamen vorhanden sein.
-
Die ASCII-Datei besteht aus Header-Informationen mit einer Reihe von Schlüsselwörtern.
Bei der Struktur der ASCII-Datei gibt es zwei Variationen. In einem Fall wird der Ursprung mit den Koordinaten der unteren linken Ecke der unteren linken Zelle bzw. als Mittelpunkt der unteren linken Zelle angegeben.
Normalerweise hat die Datei das folgende Format:
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 steht für die Anzahl der Spalten und Zeilen im Raster, die von der Binärdatei definiert werden.
XLLCORNER und YLLCORNER steht für die Koordinaten der unteren linken Ecke der unteren linken Zelle.
Sie können den Ursprung auch mit den Koordinaten des Mittelpunktes der linken unteren Zelle angeben, indem Sie XLLCENTER und YLLCENTER verwenden.
CELLSIZE ist die Zellengröße des Rasters.
NODATA_VALUE ist der Wert, der NoData-Zellen darstellen soll.
Mit BYTEORDER wird festgelegt, wie Multibyte-Binärzahlen in dem System gespeichert werden, in dem die Binärdatei generiert wurde. Bei Intel-basierten Systemen ist die Byte-Reihenfolge LSBFIRST (auch bekannt als "Big Endian"). In den meisten anderen Architekturen (alle UNIX-Systeme mit Ausnahme von Alpha, und ältere Macintosh-Systeme mit Motorola-CPUs) ist die Byte-Reihenfolge MSBFIRST (auch bekannt als "Little Endian").
-
Über den Wert NODATA_VALUE in der Eingabedatei legen Sie fest, welchen Zellen im Ausgabe-Raster der Wert "NoData" zugeordnet wird. "NoData" ist in der Regel für Zellen reserviert, deren wahrer Wert unbekannt ist.
-
In einer Binärdatei im Gleitkommaformat werden die Werte als binäre 32-Bit-Gleitkommazahlen mit Vorzeichen ausgedrückt. Der erste Datensatz der Datei entspricht der ersten Zeile des Rasters. Von links nach rechts entsprechen die ersten 32 Bit der ersten Zelle, die nächsten 32 Bit der zweiten Zelle usw. bis zum Ende des Datensatzes (der Zeile). Dieses Muster wiederholt sich beim zweiten Datensatz (der zweiten Zeile des Rasters) und so lange, bis der letzte Datensatz (die untere Zeile des Rasters) erreicht ist.
-
Dieses Werkzeug unterstützt zum Bestimmen des Ursprungs sowohl die linke untere Ecke als auch den Mittelpunkt der linken unteren Zelle. Raster in FLOAT schreibt den Ursprung nur als linke untere Ecke der linken unteren Zelle.
Verwenden Sie das Werkzeug Projektion definieren nach der Erstellung des Ausgabe-Rasters, um das richtige Koordinatensystem anzuwenden.
Syntax
Parameter | Erläuterung | Datentyp |
in_float_file |
Die Eingabe-Binärdatei im Gleitkommaformat. Der Dateiname muss über die Erweiterung .flt verfügen. Sie benötigen eine Header-Datei in Verbindung mit der Binärdatei im Gleitkommaformat mit der Erweiterung .hdr. | File |
out_raster | Das zu erstellende Ausgabe-Raster-Dataset. Wenn Sie nicht in einer Geodatabase speichern, geben Sie beim TIFF-Dateiformat die Erweiterung .tif, beim ERDAS IMAGINE-Dateiformat die Erweiterung .img und beim Esri Grid-Raster-Format keine Erweiterung an. | Raster Dataset |
Codebeispiel
Konvertiert eine Datei mit binären Gleitkommawerten, die Raster-Daten darstellen, in ein Raster-Dataset.
import arcpy
arcpy.FloatToRaster_conversion("c:/data/elevation.flt", "c:/output/elev")
Konvertiert eine Datei mit binären Gleitkommawerten, die Raster-Daten darstellen, in ein Raster-Dataset.
# Name: FloatToRaster_Ex_02.py
# Description: Converts a file of binary floating-point values representing
# raster data to a raster dataset.
# Import system modules
import arcpy
# Set local variables
inASCII = "c:/data/elevation.flt"
outRaster = "c:/output/elev02"
# Execute FloatToRaster
arcpy.FloatToRaster_conversion("c:/data/elevation.flt", "c:/output/elev02")