Puede utilizar el programa QGIS plugin LRS por eso. Acepta puntos que no se encuentran en la línea, por lo que se evita el primer paso (ajustar los puntos a las líneas).
Este es el flujo de trabajo:
-
Basándose en una capa de líneas (rutas) y de puntos (para la calibración), vaya a la capa Calibración ficha.
- Seleccione la capa de la línea (tubería) con su ruta (un campo que identifica las rutas, es muy útil si su capa de línea tiene varias rutas).
- Seleccione la capa de puntos de calibración con su correspondiente ruta (punto ruta debe coincidir con la línea ruta valor) y medir campos. Como puede ver, necesitaría una capa de puntos de calibración con al menos dos puntos, que podrían estar situados al principio y al final de la ruta, con valores de 0 y 10000 en caso de que la ruta tenga 10km.
- Haga clic en Ok para interpolar los valores M a lo largo de las rutas.
-
Ir a la Medidas ficha.
- Seleccione su capa de válvulas.
- Rellena los campos de salida (Se aplicarán a una nueva capa, no te preocupes).
- Haga clic en Ok para obtener una nueva capa (de memoria) que contendrá el valor M (encadenamiento) de cada válvula.
- No olvides guardar la capa que obtienes de la 2., ya que es una capa de memoria (temporal).
En la siguiente captura de pantalla puede ver una tubería de muestra, un par de puntos de calibración (triángulos naranjas) y un par de válvulas que no se encuentran en la tubería (puntos verdes) con su encadenamiento calculado (valor M).
Incluso puede verificar el encadenamiento de las válvulas utilizando el Localizar ficha. Sólo tienes que seleccionar tu ruta e introducir una medida conocida (por ejemplo, 5603). Debería ver una marca amarilla en la línea, que representa la proyección de la válvula en la línea.
Utilizo QGIS v.2.6.1. Usted puede encontrar la documentación del plugin LRS aquí .
1 votos
He borrado mi respuesta. Esto no es fácil de hacer en QGIS. Aquí hay una pista - gis.stackexchange.com/questions/59169/
0 votos
También v.distance de la caja de herramientas de procesamiento, pero no puedo conseguir que se ejecute en mi máquina.
1 votos
No conozco ninguna manera fácil de hacerlo en QGIS, pero siempre hay PostGIS (todavía libre), pero se necesita algo de SQL. Añade a la tabla de válvulas 2 columnas on_pipe_geom y distance_to_start. DistanceToStart es ST_LocatePoint(linegeom, ST_closestpoint(linegeom, valvegeom)) y on_pipe_geom es ST_closestpoint(linegeom, valvegeom). Si los datos no son tan buenos, entonces necesita encontrar el punto de línea más cercano para cada punto (y añadir la columna nearest_pipe_id a la tabla de válvulas).
0 votos
Siento no haber tenido mucha experiencia en la realización de análisis geoespaciales en Postgis. ¿Podría usted proporcionar más aclaraciones?