8 votos

¿Agregar "ruido" para superpuestos X, Y así ya no coordina en el exacto mismo lugar?

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!

7voto

ESV Puntos 4591

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;

  1. 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
  2. Explotar los búferes con Varias partes para Singlepart
  3. 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)
  4. 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.

6voto

Konrad Garus Puntos 166

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.

4voto

sker Puntos 2670

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)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X