ich habe folgendes problem:
ich habe ca. 330 000 textfiles und möchte damit ebensoviele polygone erzeugen. dabei dient mir python als programmiersprache für das gis-programm ArcGIS 9 (weiß nicht, ob das weit verbreitet ist und das jemand kennt...). ein textfile unter vielen sieht folgendermaßen aus:
1
-0.1026990E+06 0.2918890E+06
-0.1048670E+06 0.2951340E+06
-0.1119375E+06 0.2880625E+06
-0.1119375E+06 0.2880625E+06
End
wenn ich das programm durchlaufen lasse braucht der computer erstens ziemlich lang (was bei dieser fileanzahl auch noch verständlich ist) und außerdem schreibt er mir nach einer zeit " No free BITSYS channels (BITCHN)".
kann ich das script soweit verändern, daß das schneller geht bzw. nichtmehr abstürzt? einen tip hab ich bekommen, daß ich die pfade der textfiles in ein anderes textfile zeilenweise schreiben soll und python somit zuerst auf dieses textfile zugreift und danach erst auf das textfile mit den koordinaten. weiß nicht ob das sinnvoll ist bzw. wie das funktioniert...
hat vielleicht irgendwer eine idee???
hoffe, ich hab das irgendwie halbwegs verständlich erklären können,
lg claudia
Code: Alles auswählen
# ---------------------------------------------------------------------------
# Generate a coverage from a file of coordinates
# ---------------------------------------------------------------------------
# Import system modules
import sys, string, os, win32com.client
# Create the Geoprocessor object
gp = win32com.client.Dispatch("esriGeoprocessing.GpDispatch.1")
nr = 000000
for zahl in range(336303):
nr += 1
input_file = "d:/text/text%06i.txt" % nr
output_coverage = "d:/poly/poly%06i" % zahl
try:
# Process: Generate the coverage from the coordinate file...
gp.Generate_arc(input_file, output_coverage, "polygons")
except:
# If an error occurred when running the tool, print out the error message.
print gp.GetMessages()