Contenido principal

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

closestBoundary

Obtener el límite más cercano a la ubicación

Desde R2023a

    Descripción

    boundary = closestBoundary(map) devuelve las ubicaciones de los obstáculos más cercanos boundary para cada celda del mapa de distancia firmado especificado map.

    boundary = closestBoundary(map,location) devuelve las ubicaciones de límites más cercanas para las ubicaciones xy especificadas locations en coordenadas mundiales.

    boundary = closestBoundary(map,location,frame) devuelve las ubicaciones de límites más cercanas para las ubicaciones especificadas locations en el marco de coordenadas frame.

    ejemplo

    [boundary,isValid] = closestBoundary(map,location,___) devuelve isValid, indicando cuáles de las ubicaciones especificadas locations están dentro de los límites del mapa.

    boundary = closestBoundary(map,cornerLocation,matSize) devuelve las ubicaciones de los límites más cercanos para una subregión del mapa de distancia firmado, map. La subregión comienza en la ubicación de la esquina mínima cornerLocation en el marco de coordenadas mundial con un tamaño de mapa determinado matSize.

    boundary = closestBoundary(map,cornerLocation,matSize,frame) devuelve las ubicaciones de los límites más cercanos para una subregión del mapa de distancia firmado, map. La subregión comienza en la ubicación de la esquina mínima cornerLocation en el marco de coordenadas frame.

    Nota

    Al especificar una ubicación de esquina y el tamaño del mapa, closestBoundary determina las ubicaciones de los límites más cercanos utilizando las distancias entre los centros de las celdas dentro de la región de consulta rectangular.

    Ejemplos

    contraer todo

    Cree un mapa de distancia firmado con un ancho de 40 celdas y una altura de 20 celdas.

    map = signedDistanceMap(40,20);

    Actualizar la ocupación del mapa con una matriz de identidad.

    setMapData(map,[1 10],eye(20),"grid");
    show(map);

    Figure contains an axes object. The axes object with xlabel X [meters], ylabel Y [meters] contains an object of type image.

    Encuentre el límite más cercano para cada celda de esquina del mapa.

    queryIJ = [1 1; 20 1; 1 40; 20 40];
    nearestCornerIJ = closestBoundary(map,queryIJ,"grid")
    nearestCornerIJ = 
    nearestCornerIJ(:,:,1) =
    
         1
         6
        16
        20
    
    
    nearestCornerIJ(:,:,2) =
    
        10
        15
        25
        29
    
    

    Encuentre la celda de límite XY más cercana para las celdas en el primer cuadrante de 5 por 5 en la parte superior izquierda.

    nearestQuadrantXY = closestBoundary(map,[0 5],[5 5])
    nearestQuadrantXY = 
    nearestQuadrantXY(:,:,1) =
    
        9.5000   10.5000   10.5000   11.5000   11.5000
       10.5000   10.5000   11.5000   11.5000   12.5000
       10.5000   11.5000   11.5000   12.5000   12.5000
       11.5000   11.5000   12.5000   12.5000   13.5000
       11.5000   12.5000   12.5000   13.5000   13.5000
    
    
    nearestQuadrantXY(:,:,2) =
    
       19.5000   18.5000   18.5000   17.5000   17.5000
       18.5000   18.5000   17.5000   17.5000   16.5000
       18.5000   17.5000   17.5000   16.5000   16.5000
       17.5000   17.5000   16.5000   16.5000   15.5000
       17.5000   16.5000   16.5000   15.5000   15.5000
    
    

    Argumentos de entrada

    contraer todo

    Mapa de distancia firmado, especificado como un objeto signedDistanceMap.

    Coordenadas mundiales o locales, o ubicaciones de cuadrícula, especificadas como una matriz N por 2. N es el número de ubicaciones. El formato de las filas depende del valor del argumento frame:

    • "world" — [x y] coordenadas en el marco mundial.

    • "local" — [x y] coordenadas en el marco local.

    • "grid" — [row column] ubicación en el marco de la cuadrícula.

    Ubicación mínima de la esquina de la matriz de salida, especificada como un vector de coordenadas de dos elementos en la forma [x y]. La ubicación está en coordenadas mundiales o locales si el argumento frame se establece en "world" y "local", respectivamente. Cuando frame es "grid", las coordenadas están en el formato [row column] y cornerLocation es la esquina superior izquierda del marco mundial.

    Tamaño del mapa de la subregión, especificado como un vector de dos elementos [x y] en coordenadas mundiales o locales. La ubicación está en coordenadas mundiales o locales si el argumento frame se establece en "world" y "local", respectivamente. Cuando frame es "grid", cornerLocation es la esquina superior izquierda del marco mundial.

    Marco de coordenadas, especificado como una de estas opciones:

    • "world" — Especifica las coordenadas en el marco del mundo.

    • "local" — Especifica las coordenadas en el marco local.

    • "grid" — Especifica las ubicaciones de la cuadrícula en el marco de la cuadrícula.

    Tipos de datos: char | string

    Argumentos de salida

    contraer todo

    Punto límite más cercano, devuelto como una matriz de L por 1 por 2 para consultas de puntos y una matriz de M por N por 2 para consultas de subregión. L es el número de ubicaciones consultadas. M y N son las dimensiones del mapa o de la subregión del mapa especificada.

    Puntos en el límite, devueltos como un vector de elementos L, donde L es el número total de ubicaciones consultadas. Cada elemento es un 1 (true) si el punto está dentro de los límites, y 0 (false) si el punto está fuera de los límites.

    Este resultado solo se devuelve para consultas puntuales.

    Capacidades ampliadas

    expandir todo

    Generación de código C/C++
    Genere código C y C++ mediante MATLAB® Coder™.

    Historial de versiones

    Introducido en R2023a

    Consulte también

    | |