Estoy tratando de convertir segmentos de flujo a texto. Esta es la función para el script
#función para convertir la característica a texto como comando ungenerate en ArcGIS workstation
def featureTotext(path,feature,TextFileName):
import string, os, sys, locale, arcgisscripting
gp = arcgisscripting.create()
gp.overwriteoutput = 1
msgNotEnoughParams = "Número incorrecto de parámetros de entrada."
msgUseValidDecimalPointSep = "Por favor, utilice uno de los separadores de punto decimal válidos."
try:
os.chdir(path)
inputFC = feature
outFile = open(TextFileName, "w")
sepchar=""
inDesc = gp.describe(inputFC)
inRows = gp.searchcursor(inputFC)
inRow = inRows.next()
# outFile.write(inDesc.ShapeType + "\n")
while inRow:
feat = inRow.GetValue(inDesc.ShapeFieldName)
partnum = 0
partcount = feat.partcount
while partnum < partcount:
outFile.write("\t"+str(inRow.GetValue('GRID_CODE')) + "\n")
print inRow.GetValue('GRID_CODE')
part = feat.getpart(partnum)
part.reset()
pnt = part.next()
pnt_count = 0
while pnt:
outLine = "\t" + str(pnt.x) + "\t" + str(pnt.y) + "\n"
if sepchar == "": outFile.write(outLine)
else: outFile.write(outLine.replace(".", sepchar))
pnt = part.next()
pnt_count += 1
if not pnt:
pnt = part.next()
if pnt:
outFile.write("AnilloInterior\n")
partnum += 1
outFile.write("FIN\n")
inRow = inRows.next()
outFile.write("FIN")
outFile.flush()
outFile.close()
print outFile
except Exception, ErrorDesc:
gp.AddError(ErrorDesc[0])
if outFile: outFile.close()
gp.AddError(gp.getmessages(2))
Este script da una salida similar al comando "ungenerate" en ArcGIS workstation. Cuando se usa, esta función da menos puntos de salida que usando el comando ungenerate.
La salida de esta función se ve así:
1354
391367.254831 9456327.37568
389617.254831 9458077.37568
389617.254831 9459077.37568
388117.254831 9460577.37568
387117.254831 9460577.37568
380117.254831 9467577.37568
FIN
Quiero tener más puntos (intervalo más pequeño) al extraer las coordenadas X e Y de una característica. ¿Cómo puedo hacer esto?