1 votos

Crear un punto para cada línea que no sea de las líneas

Me gustaría crear automáticamente un vector de puntos.

El vector debe estar compuesto por un punto por cada línea de un vector lineal (aproximadamente 3000 características). Esos puntos deben situarse cerca de cada línea, pero no a lo largo de ellas. El mejor resultado se obtendría si los puntos se crearan en una dirección perpendicular a cada línea, a 1 metro de distancia de cada línea.

Para tener un ejemplo, la siguiente imagen muestra el resultado deseado: Example: points with green signs are okay, the point with red cross is not okay.

4voto

ghotan Puntos 29

QGIS 3.0/3.2 - Geometría por expresión herramienta en Processing Toolbox | Vector geometry

Seleccione su capa de línea como entrada, punto como tipo de geometría de salida, y aplique:

centroid(offset_curve($geometry, 1))

1voto

nuecaster Puntos 128

El método proporcionado por Kazuhito es mucho más elegante, pero en caso de que no tengas acceso a QGIS 3.0/3.2, aquí tienes dos métodos para 2.18:


Crear un búfer de 2 metros de un solo lado con OGR > Single sided buffers (and offset lines) for lines (caja de herramientas de procesamiento)

Utilice Polygon Centroids (Processing Toolbox) para crear los centroides de los buffers.


Cree un punto en la capa de línea utilizando una de estas herramientas de la caja de herramientas de procesamiento:

  • QGIS > Random points along line
  • OGR > Create points along lines
  • GRASS > V.to.points

Seleccione todas las características en la capa de puntos, utilice Move Feature(s) (barra de herramientas de edición) para moverlos.


Compruebe los resultados de cualquiera de los dos métodos utilizando Spatial Query para seleccionar las características de la capa de puntos que se cruzan con las características de la capa de líneas.

Utilice el Move Feature(s) para alejarlas de las líneas que intersectan.

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