7 votos

Cálculo de valores aleatorios en QGIS

¿Existe una forma de hacer un cálculo de valores aleatorios dentro de un rango en QGIS? He sido capaz de hacer esto dentro de ArcMap Field Calculator con el siguiente código:

Dim max, min
max=20
min=5
x=(Int((max-min+1)*Rnd+min))

__esri_field_calculator_splitter__
x

Gracias

0 votos

La calculadora de campos incorporada no tiene una función "Aleatoria". Esto sería relativamente fácil de hacer con Python si hay un plugin de calculadora de campo avanzada (o equivalente) por ahí. ¿Alguien?

0 votos

Eso es lo que pienso. Hago lo mismo en la calculadora de campo de ArcMap con la opción avanzada. ¿Hay algún desarrollo para la Cal de campo en QGIS en la próxima versión?

0 votos

Tendrías que preguntar en la lista de correo de QGIS - lists.osgeo.org/mailman/listinfo/qgis-user

9voto

QGIS 2.4+ tiene un par de funciones de números aleatorios:

rand(min,max) # returns a random integer between min and max, inclusive

randf(min,max) # returns a float value.

0 votos

Sí, sólo pensé en añadir esto en caso de que alguien venga a buscar.

5voto

rkthkr Puntos 6651

Aunque QGIS no parece tener esta funcionalidad, es posible que pueda trabajar "alrededor" de ella.

Si exporta sus datos a una base de datos de SpatiaLite, puede utilizar la función random() de SQLite en una sentencia SQL. Supongo que algo así:

update TABLE set COLUMN = ROUND((20-5+1) * random() + 5)

Cualquier otra base de datos serviría también, pero esa puede ser tratada como un archivo local y no requiere la instalación de algo separado.

1voto

Podrías cargar el DBF en OO/Libre Office Calc y hacer esto allí. Creo que es necesario tener Base instalada para que Calc pueda trabajar con DBFs y tendrías que configurar las cabeceras de las columnas que creas adecuadamente para el tipo de datos, el ancho de campo, la precisión, etc. Yo trabajo bastante a menudo con DBFs de shapefile en Calc y nunca he tenido problemas para hacerlo, es muy conveniente.

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