Estoy tratando de crear puntos aleatorios a lo largo de un archivo de forma de polilínea en QGIS. Básicamente, como la herramienta 'puntos aleatorios' en 'herramientas de investigación' pero para polilíneas en lugar de polígonos.
Intenté convertir el archivo de línea en un archivo de forma de polígono, pero llena algunas áreas con polígonos, mientras que otras áreas siguen siendo polígonos de tipo línea larga.
Soy bastante nuevo en QGIS y no estoy realmente familiarizado con el código Python.
qgis
point
line
polyline-creation
Cec.g
fuente
fuente
Respuestas:
Este código funcionará en la última versión de desarrollo de QGIS.
Sé que dijiste que no estás muy familiarizado con el código de Python, pero deberías poder ejecutar esto de manera bastante fácil. Copie el código anterior en un archivo (se llama el mío
locate.py
) y colóquelo en su~/.qgis/python
si está en Windows 7 que estaráC:\Users\{your user name}\.qgis\python\
en Windows XPC:\Documents and Settings\{your user name}\.qgis\python\
Una vez que el archivo esté en la carpeta de Python, abra QGIS y seleccione algunos objetos de línea.
Luego abra la consola de Python y ejecute el siguiente código:
El resultado debería verse así
Si desea ejecutarlo nuevamente, simplemente seleccione algunas líneas más y
locate.createRandomPoints(10)
vuelva a ejecutarlo en la consola de Python.Nota: localizar.createRandomPoints (10) el 10 aquí es el número de puntos a generar por línea
fuente
import locate
no usaste la necesidad de .py en la consola de Python?Puede amortiguar las polilíneas (mínimamente) y luego ejecutar el muestreo en los polígonos resultantes. Podría funcionar bien por sí solo si no tiene otros factores limitantes, por ejemplo. en espacio mínimo entre puntos, densidad o somesuch.
Para casos más complicados, crearía una muestra aleatoria mucho más densa y luego elegiría los puntos apropiados (lo que sea que sea) en un segundo paso. Algo similar podría hacerse con la herramienta densificar, pero todos los puntos estarían en las polilíneas.
fuente