Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

closestBoundary

Obtenir la limite la plus proche de l'emplacement

Depuis R2023a

    Description

    boundary = closestBoundary(map) renvoie les emplacements des obstacles les plus proches boundary pour chaque cellule de la carte de distance signée spécifiée map.

    boundary = closestBoundary(map,location) renvoie les emplacements limites les plus proches pour les xy-emplacements locations en coordonnées mondiales.

    exemple

    boundary = closestBoundary(map,location,frame) renvoie les emplacements limites les plus proches pour les emplacements spécifiés locations dans le cadre de coordonnées frame.

    [boundary,isValid] = closestBoundary(map,location,___) renvoie isValid, indiquant lesquels des emplacements spécifiés locations se trouvent dans les limites de la carte.

    boundary = closestBoundary(map,cornerLocation,matSize) renvoie les emplacements limites les plus proches pour une sous-région de la carte de distance signée, map. La sous-région commence à l'emplacement de coin minimum cornerLocation dans le cadre de coordonnées mondial avec une taille de carte donnée matSize.

    boundary = closestBoundary(map,cornerLocation,matSize,frame) renvoie les emplacements limites les plus proches pour une sous-région de la carte de distance signée, map. La sous-région commence à l'emplacement de coin minimum cornerLocation dans le cadre de coordonnées frame.

    Remarque

    Lors de la spécification d'un emplacement de coin et d'une taille de carte, closestBoundary détermine les emplacements limites les plus proches en utilisant les distances entre les centres de cellules dans la région de requête rectangulaire.

    Exemples

    réduire tout

    Créez une carte de distance signée avec une largeur de 40 cellules et une hauteur de 20 cellules.

    map = signedDistanceMap(40,20);

    Mettez à jour l'occupation de la carte avec une matrice d'identité.

    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.

    Trouvez la limite la plus proche pour chaque cellule de coin de la carte.

    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
    
    

    Recherchez la cellule limite XY la plus proche pour les cellules du premier quadrant 5 x 5 en haut à gauche.

    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
    
    

    Arguments d'entrée

    réduire tout

    Carte de distance signée, spécifiée comme objet signedDistanceMap .

    Coordonnées mondiales ou locales, ou emplacements de grille, spécifiées sous la forme d'une matrice N-by-2. N est le nombre d’emplacements. Le format des lignes dépend de la valeur de l'argument frame :

    • "world" — [x y] coordonnées dans le cadre mondial.

    • "local" — [x y] coordonnées dans le repère local.

    • "grid" — [row column] emplacement dans le cadre de la grille.

    Emplacement du coin minimum de la matrice de sortie, spécifié comme un vecteur de coordonnées à deux éléments sous la forme [x y]. L'emplacement est en coordonnées mondiales ou locales si l'argument frame est défini sur "world" et "local", respectivement. Lorsque frame est "grid", les coordonnées sont sous la forme [row column] et cornerLocation est le coin supérieur gauche du cadre du monde.

    Taille de la carte de sous-région, spécifiée sous la forme d'un vecteur à deux éléments [x y] en coordonnées mondiales ou locales. L'emplacement est en coordonnées mondiales ou locales si l'argument frame est défini sur "world" et "local", respectivement. Lorsque frame est "grid", cornerLocation est le coin supérieur gauche du cadre du monde.

    Cadre de coordonnées, spécifié comme l'une de ces options :

    • "world" — Spécifiez les coordonnées dans le cadre mondial.

    • "local" — Spécifiez les coordonnées dans le cadre local.

    • "grid" — Spécifiez les emplacements de la grille dans le cadre de la grille.

    Types de données : char | string

    Arguments de sortie

    réduire tout

    Point limite le plus proche, renvoyé sous la forme d'un tableau L-by-1-by-2 pour les requêtes de points et d'un M-by- N Tableau $-by-2 pour les requêtes de sous-région. L est le nombre d’emplacements interrogés. M et N sont les dimensions de la carte ou de la sous-région de carte spécifiée.

    Points dans la limite, renvoyés sous la forme d'un vecteur d'éléments L, où L est le nombre total d'emplacements interrogés. Chaque élément est un 1 (true) si le point est à l'intérieur des limites, et 0 (false) si le point est en dehors des limites.

    Cette sortie n'est renvoyée que pour les requêtes ponctuelles.

    Capacités étendues

    Génération de code C/C++
    Générez du code C et C++ avec MATLAB® Coder™.

    Historique des versions

    Introduit dans R2023a