Main Content

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 xy-ubicaciones locations en coordenadas mundiales.

    ejemplo

    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.

    [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 límites más cercanas para una subregión del mapa de distancia firmado, map. La subregión comienza en la ubicación de 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 límites más cercanas para una subregión del mapa de distancia firmado, map. La subregión comienza en la ubicación de esquina mínima cornerLocation en el marco de coordenadas frame.

    Nota

    Al especificar una ubicación de esquina y un tamaño de mapa, closestBoundary determina las ubicaciones de límites más cercanas utilizando las distancias entre los centros de celda 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 de esquina mínima 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 tienen la forma [row column] y cornerLocation es la esquina superior izquierda del marco mundial.

    Tamaño del mapa de 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 mundial.

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

    • "grid" : especifique 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 un arreglo L -por-1-por-2 para consultas de puntos y una M-por- N arreglo $ 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 elemento 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

    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

    | |