Tengo una serie de puntos que representan los animales observaciones. Muchos de ellos se superponen, tener la exacta mismo sistema de coordenadas, y esto me causa problemas cuando quiero ejecutar algunas de las herramientas analíticas que pagais no idénticos puntos. Me preguntaba si hay alguna herramienta que puede añadir un poco de "ruido" a las coordenadas, es decir, la adición de algunos al azar los valores decimales en la final con el fin de obtener ligeramente diferentes coordenadas que son todavía lo suficientemente cerca en el espacio, así como para modificar la observación. He oído acerca de este tipo de herramienta, pero no la puedo encontrar, al menos en ArcGis 10. Tal vez hay otro software que puede hacer? Gracias!
Respuestas
¿Demasiados anuncios?El Generar Condicional Puntos Aleatorios de la herramienta de Modelación Geoespacial medio Ambiente debe hacer el trabajo para usted. Si se especifica el BVUNIFORM
opción para el distrib
atttribute (distribución) puede proporcionar un radio alrededor de los puntos de entrada en el que los nuevos puntos se generará una distribución uniforme. El número de puntos generados ( sample
de atributo) puede ser una cantidad fija, o el nombre del campo que contiene el número de puntos a ser generado.
Alternativamente una similar operación se puede realizar desde dentro de ArcGIS comandos estándar si usted tiene un ArcInfo o Spatial Analyst y 3D Analyst de la licencia;
- En primer lugar búfer de sus puntos por el radio que desea que los puntos de salida
para ser medido. Asegúrese de que el Disolver Tipo
ALL
- Explotar los búferes con Varias partes para Singlepart
- El uso de una unión Espacial a través de combinación de Datos o la Espacial Herramienta de unión para unir los puntos originales de la explotó buffers, dándole buffers con un punto de cuenta (pcb decir)
- Utilice el Crear Puntos Aleatorios de la herramienta con la Limitante de la clase de entidad se pcb, y el Número de Puntos que el pcb
COUNT
de campo. También se puede establecer una Mínima Distancia Permitida por los puntos, así como prevenir la superposición de ellos.
Creo que se podría hacer simplemente en la tabla de atributos. En primer lugar, agregar campos existentes, con las coordenadas X e y (si no los tiene ya) por Agregar Coordenadas XY (herramientas de Administración de Datos). A continuación, puede agregar un campo nuevo y con la calculadora de Campo volvió a Python puede crear valores aleatorios que se desea por el arcgis.función rand () (que se describen en la ayuda a Calcular el Campo (Gestión de Datos) y Crear Valor Aleatorio Generador). Entonces usted acaba de añadir dos nuevos campos X_rand, Y_rand y calcular la adición o sustracción de estos números al azar de inicial de X y Y.
Aquí está una rápida python script que utiliza arcpy y generador de números aleatorios de python para crear una X y Y coordinación de campo del conjunto de datos y luego añadir un pequeño valor aleatorio a cada valor coordinado.
import arcpy, random
#input shapefile
fc = "C:\\Users\\Stuart.Grieve\\polygon_test\\new_shapefile.shp"
#Add a POINT_X and POINT_Y field to the dataset
arcpy.AddXY_management(fc)
# Create a search cursor
rows = arcpy.UpdateCursor(fc)
# Create a list of fields
fields = arcpy.ListFields(fc, "", "All")
#Loop through the rows and add a random value to the x and y coordinates
for row in rows:
for field in fields:
if 'POINT' in field.name:
row.setValue(field.name,row.getValue(field.name)+random.random()/1000)
rows.updateRow(row)