1 votos

Resaltar los duplicados a la distancia más cercana

Tengo un shapefile de puntos con varios nombres y hay muchos nombres duplicados en los datos.

Quiero destacar los duplicados más cercanos en los datos.

¿Cómo puedo resolver esto en QGIS?

enter image description here

4voto

chhh Puntos 1154

Puedes utilizar expresiones para obtener para cada punto el id del punto más cercano con el mismo valor de atributo, como name .

Puede utilizar para ello overlay_nearest función ( disponible desde QGIS 3.16 Para las versiones más antiguas, consulte la página Plugin refFunctions ).

  1. Permite crear una matriz de características, clasificadas en orden ascendente de distancia a la característica actual: la más cercana, la segunda más cercana, etc.
  2. A continuación, filtre esta matriz en busca de elementos (características) con el mismo nombre que la característica actual.
  3. De la matriz filtrada, obtener el primer elemento (=más cercano).

La expresión tiene el siguiente aspecto: la salida es el id del punto más cercano con el mismo valor en el campo name . Utilice esta expresión con la calculadora de campos para crear un campo nearest_duplicate :

array_first (
    array_filter( 
        overlay_nearest( 
            @layer, 
            $id, 
            limit:= count(name)
        ),
        attribute( 
            get_feature_by_id (
                @layer, 
                @element
            ), 
            'name'
        ) = 
        attribute( 
            get_feature_by_id (
                @layer,
                $id 
            ), 
            'name'
        )
    )
)

Ver captura de pantalla: aquí, he utilizado una versión ligeramente ampliada de la expresión anterior para crear líneas de conexión con el generador de geometría para visualizar la conexión de cada punto con su duplicado más cercano: enter image description here

Véase la siguiente captura de pantalla, en la que los puntos también están numerados para facilitar su identificación. Mire por ejemplo en la parte inferior derecha, donde tiene tres puntos denominados C - C:28, C:47 y C:19. Sus respectivos duplicados más cercanos son los siguientes:

enter image description here

enter image description here

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