He creado 4 la mayoría de los polígonos básicos:
Y encontré este script:
import arcpy
infc = r'D:\Scratch\POLYGONS.shp'
d=arcpy.Describe(infc)
SR=d.spatialReference
with arcpy.da.SearchCursor(infc, ("SHAPE@","LABEL")) as rows:
for shp,label in rows:
buf=shp.buffer(5)
n=buf.partCount
for i in xrange (n):
prt=buf.getPart(i)
pgon=arcpy.Polygon(prt,SR)
arcpy.AddMessage((int(buf.area),int(pgon.area),label))
SALIDA:
[68735, 68707, u'RECTANGLE']
[29892, 29846, u'TRIANGLE']
[47832, 47832, u'CIRCLE']
[55126, 55060, u"'COMPLEX'"]
Alguien podría ayudarme a entender el resultado.
ACTUALIZACIÓN:
He modificado el código:
import arcpy
infc = r'....POLYGONS.shp'
outBuffer=r'...OUT_BUFFER.shp'
outPart=r'...SCRARCH\OUT_PART.shp'
d=arcpy.Describe(infc)
SR=d.spatialReference
with arcpy.da.SearchCursor(infc, ("SHAPE@","LABEL")) as rows:
for shp,label in rows:
buf=shp.buffer(5)
arcpy.CopyFeatures_management(buf, outBuffer)
n=buf.partCount
for i in xrange (n):
prt=buf.getPart(i)
pgon=arcpy.Polygon(prt,SR)
arcpy.CopyFeatures_management(pgon, outPart)
break
para comprobar real de las formas. Cuando se trabaja con geometrías sería de esperar que la primera parte de una sola parte polígono sería idéntica a la del polígono de sí mismo.
Esta es una superposición de entrada y salida, y se puede ver de donde no coincide ocurrido - en las esquinas:
Algo muy siniestro es acontecimiento dentro de arcpy.Polígono, se simplifica la forma de usar algún tipo de "lógica". El manejo de la verdadera curvas(?). ¿Por qué el resultado es tan feo?
NOTA:
- mismo resultado obtenido con la exportación a la geodatabase
- ambas salidas se vino arriba con la entrada de referencia espacial del
Este búfer problema es una parte de un trabajo muy grande, donde tengo que lidiar con posibles por parte de varios polígonos. La solución que estoy usando es la explosión de búfer para piezas individuales, el uso de arcgis herramienta (!). Funciona, pero ridículamente lento debido a que el número de iteraciones. ¿Por qué en la tierra el abc de la geometría de la manipulación no está funcionando?
Si sabes solución diferente de la de mi solución, me voy premio de 200 puntos a su respuesta.
Bien, sucede que, después de la publicación me di cuenta de que no debe ser molestado con partes de la memoria, porque la etiqueta punto de polígono se coloca en el interior de la mayor parte de los polígonos.