5 votos

punto creado en una línea y no precisamente en la línea

En QGIS quería mover los puntos a la más cercana de las líneas. He comprobado las soluciones aquí, pero no están utilizando las herramientas de las que no estoy familiarizado aún(POSTGIS o GRASSGIS). Me di cuenta de mi propia manera con el uso de QGIS, pero me está dando resultados extraños.

Mi problema es que mueve los puntos no están exactamente en las líneas, no hay 0.0000 longitud de la línea entre ellos.

Proceso de trabajo: he conectado a las líneas de puntos usando v. neto.conectar, luego se extrae sólo las líneas entre puntos y orignal líneas de capa (vamos a llamar a ellos se unen). He creado inicio y el punto final en la combinación de la capa de uso de pequeñas código de python:

from qgis.core import * 
import qgis.utils

layers = iface.legendInterface().layers()

points = []

for i in layers[2].getFeatures():
    geom = i.geometry()
    a = geom.asPolyline()
    points.append(a)

vl = QgsVectorLayer("Point", "beg_end", "memory") 
pr = vl.dataProvider()

vl.startEditing()

for i in range(len(points)-1):
    fet = QgsFeature()
    fet2 = QgsFeature()
    fet.setGeometry(QgsGeometry.fromPoint(QgsPoint(points[i][0])))
    fet2.setGeometry(QgsGeometry.fromPoint(QgsPoint(points[i][len(points[i])-1])))
    pr.addFeatures([fet])
    pr.addFeatures([fet2])

vl.commitChanges()
vl.updateExtents()

QgsMapLayerRegistry.instance().addMapLayer(vl)

Al final me guarda los puntos finales de la combinación que se supone que son mentira en mi capa de línea (y que parece que hay). Pero si yo uso la herramienta de conexión de redes plugin resulta que es la creación 0.0000 longitud de la línea entre mueve los puntos y las líneas originales para unirse a ellos.

¿Por qué los puntos que no están en las líneas y cuál es la razón de este pequeño diferencias? Es posible complemento a las líneas y cómo?

1voto

sashkello Puntos 325

Debido a limitaciones de precisión, como se indica en común, podría ser imposible hacer que un punto sea exactamente en la parte superior de un segmento de línea. Por otro lado, si que es obligatorio ( para el análisis de red, por ejemplo, usted puede querer hacer lo contrario, crear un nuevo vértice de la línea en el lugar exacto en el punto. Que. Debería funcionar.

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