Un comportamiento interesante:
Dos segmentos de línea en un conjunto de datos tienen casi, pero no del todo , puntos finales idénticos. La diferencia entre ellos es menor que la tolerancia XY del conjunto de datos.
Leyendo las coordenadas en arcpy, salen diferentes unas de otras.
Pero si hago un acercamiento y un acercamiento y un acercamiento, mucho más allá de la XYTolerance, ArcMap todavía los muestra como idénticos - no aparece ningún espacio entre las líneas.
¿Es de esperar? ¿Garantiza arc la precisión de los datos dibujados en la pantalla, o los datos pasados a arcpy? ¿Qué pasará si los puntos están separados por la tolerancia XY exactamente?
Actualización: He intentado probar el caso límite, pero la trama se complica. El siguiente script crea una clase de característica que se muestra correctamente en ArcMap a pesar de tener características más pequeñas que la tolerancia del clúster. Todavía tengo otros datos que no se muestran correctamente en las mismas circunstancias.
import arcpy
out_polyline_feature_class = arcpy.GetParameterAsText(0)
# t is tolerance
t=0.001
ic = arcpy.InsertCursor(out_polyline_feature_class)
edges = [ [ (0,0), (0,t/2) ],
[ (0,0), (t,0) ],
[ (0,0), (-t,-t) ],
[ (0,0), (-2*t,0) ]
]
line = arcpy.Array()
pnt = arcpy.Point()
for edge in edges:
line.removeAll()
for point in edge:
pnt.X, pnt.Y = point
line.add(pnt)
row = ic.newRow()
row.shape = line
ic.insertRow(row)
del row
del ic