ASCI Datei - dat

Hi,

ich habe eine asci Datei die als *.dat abgespeichert ist bekommen und will diese in arcview einlesen.

Dazu habe ich die Datei vorher problemlos in excel eingelesen und nach leerzeichen und , trennen lassen. anschließend das ganze als txt nach tabs getrennt abgespeichert und in ercview eingelesen.

das klappt alles prima. ABER

Excel liest ja leider nur 65.536 Zeilen ein, mein datensatz dürfte aber an die 180.000 zeilen haben.

was tut man in so einem fall?

die dat Datei habe ich im Explorer einfach in txt umbenannt - da ladet arcview zwar alles rein, die spaltenstruktur geht aber verloren und ich kann nicht weiter arbeiten.

beim spatial analysten gibt es zwar unter Datei/Import Data Source einen ASCII Raster zum auswählen da paßt aber auch irgendetwas nicht.

ich kopier mal die ersten zeilen hier rein - vielleicht erkennt ja ein experte was man da machen könnte.

lg
aus wien petra





VARIABLES= "X","Y","N-DEP(kg/ha/J)","S-DEP(kg/ha/J)"
ZONE N=90601 ,F=FEPOINT, ET=QUADRILATERAL
0.0 0.0 0.766E-02 0.273E-02
100.0 0.0 0.750E-02 0.262E-02
200.0 0.0 0.528E-02 0.182E-02
300.0 0.0 0.570E-02 0.198E-02
400.0 0.0 0.550E-02 0.201E-02
Hallo Petra,
zum Thema Editor kann ich dir nur sagen, daß du einmal einen anderen Editor suchen solltest. Beispielsweise Dana Text Editor. Der kann 999.999 Zeilen lesen und sie als Txt abspeichern.
Schönen Gruß
Thorsten
Hallo Petra,
was den Editor betrifft kann ich Thorsten nur zustimmen. Aber Excel ist ja auch kein Texteditor... Wir benutzen TextPad, eine Begrenzung ist mir hier nicht bekannt - hab schon mit Erfolg über ne Million Zeilen umgesetzt.

Die Datei, die du da hast, entspricht nicht dem ASCII-Raster-Format (siehe Index der ArcView-Hilfe, "ASCII files") die kannst du über den Spatial Analyst NICHT einlesen.

Es ist eher eine XYZ-Datei, die du folgendermaßen formatiert über "Tabelle hinzufügen" importieren und dann als Ereignisthema laden kannst:

X,Y,N_DEP,S_DEP
0.0,0.0,0.766E-02,0.273E-02
100.0,0.0,0.750E-02,0.262E-02
200.0,0.0,0.528E-02,0.182E-02
300.0,0.0,0.570E-02,0.198E-02
400.0,0.0,0.550E-02,0.201E-02

Die wissenschaftliche Zahlenschreibweise in den Dep-Feldern ("E hoch minus 2" usw.) wird beim Laden automatisch von ArcView in Dezimalschreibweise umgewandelt. Wenn nicht, hast du was falsch gemacht.
Etwas zu Wünschen übrig lässt alerdings die Referenzierung - so, wie es ist, wird das nur ein unreferenziertes Raster, wahrscheinlich mit 100m Gitterweite. Du bräuchtest zumindest eine Referenzkoordinate (z.B. X/Y unten links oder sowas).

Gruß, Mx
Hi Maxilla,

also TextPad ist wirklich praktischer als mein 08/15 Texteditor. Nur wie formatiert man die Datensätze um, dass die überflüssigen Leerzeichen gelöscht und Beistriche eingefügt werden. Geht da über ein Makro???
In Excel ist das halt so prakisch - dass der Text in Spalten eingelesen wird und beim Abspeichern die Tabellenstruktur erhalten bleibt.
Eine Hilfskrücke wäre noch die über das Txt-Pad kleine Excel taugliche Häppchen abzuspeichern und dann quasi mehrere Tabellenpakte zu erzeugen.

Aber alle auf einmal wäre halt komfortaler.

Die Koordinaten links unten hab ich übrigens - mit der move/rotate Erweiterung funktioniert das dann ein lagerichtiges Shape zu erzeugen.

Lg

Petra
Einfach "Suchen | Ersetzen..." --> Leerzeichen durch Komma benutzen. Um Fehler durch mehrere Leerzeichen zu vermeiden, empfiehlt es sich, zunächst z.B. drei Leerzeichen durch ein Komma zu ersetzen, dann zwei, dann eins. Falls AV das dann nicht oder falsch einliest, melde dich nochmal.
das funktioniert nicht ganz weil dadurch die spalten verutschen.
zwischen den "Spalten" sind unterschiedlich viele Leerezeichen.

ich kenn mich hier mit dem hochladen von bildern nicht aus. unter http://www.freepages.at/meine/tabellestruktur.jpg
habe ich einen teil der Tabelle abgebildet.
Ja, okay, also wie ich vorher schon sagte: Dann musst du halt einfach mehrere Leerzeichen durch ein Komma ersetzen. Tipp bei "Suchen nach:" 10 Leerzeichen (oder wievieleauchimmer) ein und unten 1 Komma. Um sicher zu gehen, löscht du dann jeweils ein Leerzeichen im "Suchen nach"-Feld und wiederholst das Ganze.

Und: Schalte mal alle Zeichen sichtbar - die Leerzeichen könnten auch Tabulatoren sein?

Falls du nach dem Ersetzen überflüssige Leerzeichen oder Beistriche (z.B. am Datensatzanfang oder -ende) hast, muss man die auch noch "behandeln", da bietet TextPad zahlreiche, etwas versteckte Funktionen...
jetzt hats funktioniert, da war noch irgendein anderes zeichen versteckt.

danke

petra
Hi,

für´s Datenaufbereiten schwören wir in unserem Ingenieurbüro auch seit Jahren schon auf Textpad. So richtig in Fahrt kommt das Tool, wenn man reguläre Ausdrücke benutzt, bei obigem Fall findet der Search/Replace-Ausdruck ' +' / ' ' (also Suche: Leerzeichen mit Pluszeichen / Ersetze mit: einem Leerzeichen) beliebig viele zusammenhängende Leerzeichen und ersetzt sie durch eines (oder z.B. mit '\t' durch einen Tabulator...) Das mit dem performanten Durchmarsch durch Hunderttausende von Datensätze kann ich nur bestätigen.

Gruß, Michael
Hallo!
Ich muss zugeben, ich komme mit dem textpad noch nicht so ganz zurecht. Meine Daten sehen z.B. so aus:
1982 -1216.216667 86.950000 -178.816667 -200.150000 -152.150000 331.878788
1983 -1216.216667 86.950000 -177.066667 -197.150000 -144.150000 389.174242
Habe da jetzt ein Leerzeichen durch Komma ersetzt, aber wenn ich das dann ich ArcView lade, zeigt er nun 1982, 1983, ... an.
Was mache ich falsch?
Du musst einen Header schreiben (7 Felder), also z.B.

a,b,c,d,e,f,g
1982,-1216.216667,86.950000,-178.816667,-200.150000,-152.150000,331.87 8788
1983,-1216.216667,86.950000,-177.066667,-197.150000,-144.150000,389.17 4242

...den blöden Textumbruch musst du dir natürlich wegdenken
Hallo,
ich arbeite auch ganz gerne mit Textpad, aber nun habe ich einen Datensatz, der am Datensatzanfang noch zwei Leerstellen hat, so wie zwischendurch auch, so dass wenn ich es mit Kommata ersetze, ein Komma am Anfang steht und mir ArcView dann Probleme bereitet, wenn ich die Textdatei reinladen will. Wie umgehe ich das?

Gruß
Nele
Regulärer Ausdruck anhaken und Suche nach:

^ +

(d.h. Caret ("Dach") UND Leerzeichen UND Pluszeichen) und ersetze mit "nichts" (d.h. überhaupt kein Zeichen)

Das Caret gibt an, dass das Muster nur für den Anfang einer Zeile gilt. Das Plus gibt an, dass das vorgehende Zeichen ein- oder mehrmals auftreten kann und "einfach" ersetzt wird.
Du könntest natürlich auch erst alle Leerzeichen mit Kommas ersetzen und dann ^, (Caret UND Komma) mit nichts ersetzen.