Hallo zusammen,
ich habe eine .asc-Datei und würde diese gerne in ein Raster umwandeln. Beim Laden in das Skript wird eine Schema.ini erzeugt, in der 'Format=csvdelimited' steht. Die Werte in der Datei haben als Dezimalzeichen einen Punkt(.) und sind durch Leerzeichen getrennt.
Die Ausführung des Skripts misslingt mit folgender Fehlermeldung:
'An error was encountered while executing ASCIIToRaster.
("esriGeoAnalyst.GridEngine") Fehler beim Ausführen des Rasterausdrucks
Fehler beim Ausführen von (ASCIIToRaster_1).'
Stimmt die Schema.ini nicht? Und wenn ja, wie muss ich diese abändern?
Dank & Gruß
Jens
ich habe eine .asc-Datei und würde diese gerne in ein Raster umwandeln. Beim Laden in das Skript wird eine Schema.ini erzeugt, in der 'Format=csvdelimited' steht. Die Werte in der Datei haben als Dezimalzeichen einen Punkt(.) und sind durch Leerzeichen getrennt.
Die Ausführung des Skripts misslingt mit folgender Fehlermeldung:
'An error was encountered while executing ASCIIToRaster.
("esriGeoAnalyst.GridEngine") Fehler beim Ausführen des Rasterausdrucks
Fehler beim Ausführen von (ASCIIToRaster_1).'
Stimmt die Schema.ini nicht? Und wenn ja, wie muss ich diese abändern?
Dank & Gruß
Jens
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Gast am Fr., 24.11.2006 - 13:10
Permalink<NCOLS xxx>
<NROWS xxx>
<XLLCENTER xxx | XLLCORNER xxx>
<YLLCENTER xxx | YLLCORNER xxx>
<CELLSIZE xxx>
{NODATA_VALUE xxx}
row 1
row 2
.
.
.
row n
Hierbei steht "xxx" für eine Zahl. Das Schlüsselwort "nodata-value" ist optional und standardmäßig auf "-9999" eingestellt. Zeile 1 der Daten befindet sich oben in dem Grid, Zeile 2 direkt unter Zeile 1, etc.
LLCENTER verwendet den Mittelpunkt der Zelle ganz unten links als Position für das Raster. LLCORNER verwendet die untere linke Ecke der Zelle ganz unten links. Beachten Sie, dass das Werkzeug Raster zu ASCII ausschließlich LLCORNER-ASCII-Dateien generiert. Beispiel:
ncols 480
nrows 450
xllcorner 378923
yllcorner 4072345
cellsize 30
nodata_value -32768
43 2 45 7 3 56 2 5 23 65 34 6 32 54 57 34 2 2 54 6
35 45 65 34 2 6 78 4 2 6 89 3 2 7 45 23 5 8 4 1 62 ...
Der Wert "nodata_value" wird in der ASCII-Datei den Zellen zugewiesen, deren wahrer Wert unbekannt ist. Im Raster wird den Zellen NoData zugewiesen.
Zellenwerte müssen durch Leerzeichen begrenzt sein. Am Ende jeder Zeile in dem Grid müssen keine Absatzzeichen gesetzt werden. Anhand der Spalten in der Kopfzeile wird festgelegt, wann eine neue Zeile beginnt.
Die Anzahl der Zellenwerte muss der Anzahl der Zeilen mal der Anzahl der Spalten entsprechen. Ist dies nicht der Fall, wird eine Fehlermeldung ausgegeben
Gruß P
Gespeichert von JensM am Fr., 24.11.2006 - 13:25
PermalinkDie Frage, die ich mir (oder hier) stelle, entspricht der Eintrag in der Schema.ini der Trennung durch Leerzeichen bzw. Punkt als Dezimalzeichen? Wird in der Schema.ini schon unterschieden, ob die Zahlenwerte FLOAT oder INTEGER sind/verwendet werden?
Sagt die Fehlermeldung etwas bestimmtes aus, oder ist sie aussagefrei?
Gruß
Jens
Gespeichert von Maxilla am Fr., 24.11.2006 - 14:22
PermalinkCSVDelimited heißt kommagetrennt. Die Schema.ini wird von AG automatisch erzeugt und zwar für alle TXT-, ASC-, oder CSV-Dateien als CSVDelimited, für Dateien mit TAB-Endung als TABDelimited. Du kannst die Schema.ini aber entsprechend deiner Daten ändern:
[dein.asc]
Format=Delimited( )
DecimalSymbol=.
oder du ersetzt die Leerzeichen in der Datei mit Kommas. Für die Schema.ini oben sollte deine Datei etwa so aussehen:
X Y Z
1.1 2.2 3.3
4.4 5.5 6.6
7.7 8.8 9.9
...
Eine schema.ini kann auch noch weitere Parameter enthalten, z.B.:
[dein.asc]
ColNameHeader=False
Format=Delimited( )
DecimalSymbol=.
MaxScanRows=10
CharacterSet=1252
Col1=X Float
Col2=Y Float
Col3=Z Float
Näheres zur Schema.ini unter Schema.ini File (Microsoft),
Grüße, Mx.
Gespeichert von JensM am Fr., 24.11.2006 - 14:58
Permalink[mein.asc]
Format=Delimited( )
DecimalSymbol=.
dieses hatte ich mir auch schon zusammengedichtet, leider bleibt die Fehlermeldung. Anzahl der Zeilen und Reihen habe ich auch schon überprüft. :-(
Entweder hakt mein ArcGIS (9.1 mit SP2 und deutschem Supplement) oder mit der Datei stimmt etwas nicht.
Gruß
Jens
Gespeichert von Maxilla am Fr., 24.11.2006 - 15:14
PermalinkWenn du das Tool 'ASCII to Raster' benutzen willst, muss deine Datei ja wirklich so aussehen wie von P. beschrieben. Wenn die Datei aber so aussieht, wie von mir beschrieben, musst du 'Tools | Add XY Data' benutzen...
Gespeichert von JensM am Mo., 27.11.2006 - 09:39
Permalinknrows 1490
xllcenter 2533305.000
yllcenter 5682205.000
cellsize 10.000
nodata_value -9999.000
17.590 17.590 17.596 17.596 17.596 17.580 17.580 17.580 usw.
Sieht aus meiner Sicht aus, wie es sollte. Wie gesagt, Spalten und Reihen stimmen überein.
Asciigrid von Aris zeigt es an, aber eine Umwandlung in ein Rasterformat schlägt fehl.
Gespeichert von Obiwan am Mo., 27.11.2006 - 09:46
PermalinkGespeichert von JensM am Mo., 27.11.2006 - 12:30
PermalinkGruß
Jens
Gespeichert von Obiwan am Mo., 27.11.2006 - 13:57
PermalinkAber merk Dir einfach "Ascii to Raster" ==> Komma! (Zumindest in Deutschland)
Gespeichert von Maxilla am Mo., 27.11.2006 - 14:18
PermalinkBei mir funktioniert 'Ascii to Raster' nämlich nur mit Punkt als Trenner. Hab ich mir bislang keine Gedanken drum gemacht. Dass das aber daran liegt, dass ich den Punkt als Dezimaltrenner in den Ländereinstellungen eingestellt habe weil ich meist mit dem Original-ArcGis arbeiten muss, da wäre ich nun nicht drauf gekommen...
Und das löst gleichzeitig noch einige andere Probleme. Danke für den Hinweis, Obi.
Gespeichert von Obiwan am Mo., 27.11.2006 - 14:28
PermalinkGespeichert von JensM am Mo., 27.11.2006 - 15:25
PermalinkBedeutet das, die Einträge in der Schema.ini sind irrelevant?
Gruß
Jens
Gespeichert von Obiwan am Mo., 27.11.2006 - 15:33
PermalinkIm Falle der anderen Formatierung
(RW, HW, ZValue
3546667, 5467359, 0815)
natürlich nicht!