insertParkingSpaces

Вставьте парковочные места в парковку

Описание

insertParkingSpaces функция вставляет сетку парковочных мест в парковку в заданном положении или вдоль заданных ребер.

  • Чтобы вставить пробелы в заданном положении, используйте Position аргумент значения имени.

  • Чтобы вставить пробелы вдоль заданных ребер, используйте Edge аргумент значения имени.

Чтобы использовать эту функцию, необходимо задать любой Position или Edge, но вы не можете задать обоих.

Вставьте пробелы в заданном положении

insertParkingSpaces(lot,space,numSpaces,Position=position) вставляет сетку парковки одной строки, содержащую numSpaces пробелы типа space в парковку, lot. Функция вставляет сетку в заданном xy-position в метрах.

пример

insertParkingSpaces(___,Name=Value) опции наборов с помощью аргументов name-value, в дополнение к входным параметрам от предыдущего синтаксиса. Можно задать Position и другие аргументы name-value в любом порядке после других входных параметров.

Пример: insertParkingSpaces(lot,space,8,Rows=2,Position=[25 25]) вставляет 2 8 сетка парковочных мест в парковку в положении (25, 25) в метрах от источника сценария.

Вставьте пробелы вдоль заданных ребер

пример

insertParkingSpaces(lot,space,Edge=edge) вставляет сетку с одной строкой пробелов типа space вдоль заданных ребер edge из парковки, lot. Функция вставляет столько же пробелов сколько подгонка ребра.

пример

insertParkingSpaces(lot,space,numSpaces,Edge=edge) вставляет numSpaces пробелы вдоль каждого заданного ребра.

пример

insertParkingSpaces(___,Edge=edge,Name=Value) опции наборов с помощью аргументов name-value, в дополнение к любой комбинации входных параметров от предыдущих синтаксисов. Можно задать Edge и другие аргументы name-value в любом порядке после других входных параметров.

Пример: insertParkingSpaces(lot,space,Edge=[1,3],Offset=5) вставляет строку парковочных мест вдоль ребер 1 и 3 из парковки и возмещает каждую строку от ее ребра на 5 метров.

Примеры

свернуть все

Создайте ведущий сценарий, содержащий короткую дорогу, которая вводит в парковку, которая 50 метров длиной и 20 метров шириной. Постройте парковку и отобразите числа ребра, вдоль которых можно вставить парковочные места. Поскольку ребро 3 формы перекресток с дорогой, ее номер ребра не отображается на графике, но можно все еще вставить пробелы вдоль него.

scenario = drivingScenario;
roadcenters = [25 30; 25 15];
road(scenario,roadcenters);

vertices = [0 0; 50 0; 50 20; 0 20];
lot = parkingLot(scenario,vertices);
plot(scenario,ParkingLotEdges="On")

Задайте тип парковочного места, чтобы добавить вдоль одного из ребер. Установите угол 60 градусов. Постройте парковочное место.

space = parkingSpace(Angle=60);
plot(space)

Вставьте угловые пробелы вдоль ребра 1 из парковки.

insertParkingSpaces(lot,space,Edge=1)

Вставьте повернутые пробелы вдоль ребра 3: пять выше соединения и пять ниже соединения. Возместите эти пробелы на 3 метра и в 30 метрах от нижней части ребра 3, соответственно. Инвертируйте угол пробелов, используемых вдоль ребра 1.

numSpaces = 5;
space = parkingSpace(Angle=120);
insertParkingSpaces(lot,space,numSpaces,Edge=3,Offset=3)
insertParkingSpaces(lot,space,numSpaces,Edge=3,Offset=30)

Создайте ведущий сценарий, содержащий 50-метровую дорогу и 20 30 парковка метра. Постройте сценарий.

scenario = drivingScenario;
roadcenters = [0 50; 50 0];
road(scenario,roadcenters);

vertices = [40 10; 25 -5; 5 15; 20 30];
lot = parkingLot(scenario,vertices);
plot(scenario)

Figure contains an axes object. The axes object contains 2 objects of type patch, line.

Вставьте сетку парковки в партию. Задайте сетку с двумя строками восьми пробелов. Используйте размерности парковочного места по умолчанию и поместите сетку в углу в 45 градусов, чтобы выровнять ее с дорогой.

space = parkingSpace;
numSpaces = 8;
insertParkingSpaces(lot,space,numSpaces,Rows=2,Position=[15 20],Orientation=45)

Figure contains an axes object. The axes object contains 3 objects of type patch, line.

Создайте парковку, которая содержит смесь парковочных мест, областей без парковок и доступных пробелов.

Задайте парковочное место, чтобы использовать на парковке. Используйте настройки по умолчанию. Постройте пробел.

space = parkingSpace;
plot(space,Origin="off")

Figure contains an axes object. The axes object with title Parking Space contains an object of type patch.

Задайте области без парковок, чтобы использовать на парковке. Задайте цвет белого и ширины, которая составляет один метр меньше, чем ширина парковочного места по умолчанию. Постройте пробел.

noSpace = parkingSpace(Type="NoParking",Width=(space.Width - 1),MarkingColor="White");
plot(noSpace,Origin="off")

Figure contains an axes object. The axes object with title No Parking contains an object of type patch.

Задайте доступное парковочное место, чтобы использовать на парковке. Задайте ширину, которая составляет один метр больше, чем ширина парковочного места по умолчанию. Постройте пробел.

accessibleSpace = parkingSpace(Type="Accessible",Width=(space.Width + 1));
plot(accessibleSpace,Origin="off")

Figure contains an axes object. The axes object with title Accessible Parking Space contains 4 objects of type patch.

Создайте ведущий сценарий, содержащий парковку с непрямоугольным размещением. Постройте парковку и отобразите числа ребра, вдоль которых можно добавить парковочные места.

scenario = drivingScenario;
vertices = [0 0; 32 -10.5; 32 -50.5; 25 -57.5; 0 -57.5];
lot = parkingLot(scenario,vertices);
plot(scenario,ParkingLotEdges="on")

Figure contains an axes object. The axes object contains 7 objects of type patch, line, text.

Вставьте парковочные места по умолчанию вдоль первых трех ребер парковки. Чтобы постараться не перекрывать парковочные места, внесите эти корректировки во вставки:

  • Вдоль ребра 1, вставьте только 10 пробелов.

  • Вдоль ребра 2, возмещает пробелы на 5 метров от первой вершины ребра.

  • Вдоль ребра 3, возмещает пробелы на 3 метра от первой вершины ребра.

numSpaces = 10;
insertParkingSpaces(lot,space,numSpaces,Edge=1)
insertParkingSpaces(lot,space,Edge=2,Offset=5)
insertParkingSpaces(lot,space,Edge=3,Offset=3)

Figure contains an axes object. The axes object contains 23 objects of type text, patch, line.

В центре парковки вставьте 2 10 сетка парковочных мест, содержащих 8 столбцов пробелов по умолчанию, 1 столбец областей без парковок и 1 столбец доступных пробелов.

insertParkingSpaces(lot,[space noSpace accessibleSpace],[8 1 1],Position=[12 -18],Rows=2)

Figure contains an axes object. The axes object contains 28 objects of type text, patch, line.

Входные параметры

свернуть все

Парковка, на которой можно вставить пробелы в виде ParkingLot объект. Чтобы создать парковку, используйте parkingLot функция.

Парковочные места, чтобы вставить в виде parkingSpace объект или вектор из parkingSpace объекты.

space и numSpaces должен содержать то же число элементов. Каждый элемент numSpaces задает количество парковочных мест, типа, заданного в соответствующем положении space, включать в сетку парковки.

Пример: [parkingSpace parkingSpace(Type="NoParking") parkingSpace(Type="Accessible")]

Количество пробелов в сетке парковки в виде положительного целого числа или вектора из положительных целых чисел.

space и numSpaces должен содержать то же число элементов. Каждый элемент numSpaces задает количество парковочных мест, типа, заданного в соответствующем положении space, включать в сетку парковки.

Вставленная сетка парковки содержит sum(numSpaces) парковочные места. Если вы задаете больше пробелов, чем может соответствовать парковке, то вставленные парковочные места расширяют мимо границы парковки.

Пример: [5 1 1]

Положение, в котором можно вставить сетку парковки в виде вектора-строки из формы [x y] в метрах от источника сценария. insertParkingSpaces функция определяет вертикальное изменение (z - значение) сетки парковки на основе вертикального изменения входной парковки lot.

  • Для сеток парковки одной строки (Rows=1), position задает верхний левый угол сетки парковки.

  • Для сеток парковки 2D строки (Rows=2), position задает среднюю точку крайней левой маркировки маршрута парковки.

Эта таблица показывает демонстрационные положения для одной строки и сеток парковки 2D строки.

Положение (сетка парковки одной строки)Положение (сетка парковки 2D строки)

Parking lot containing a one-row parking grid. The position is the upper-left corner of the grid.

Parking lot containing a two-row parking grid. The position is the midpoint of the left edge of the grid.

Пример: [10 15]

Ребра, вдоль которых можно вставить сетку парковки в виде положительного целого числа или вектора из положительных целых чисел. Допустимые значения ребра находятся в области значений [1, M], где M является максимальным количеством ребер на парковке. Чтобы просмотреть ребра, вдоль которых можно вставить сетку парковки, используйте plot функционируйте, чтобы построить ведущий сценарий, который содержит парковку, lot, и включите ребра парковки. Пример кода:

plot(scenario,ParkingLotEdges="on")

Пример: [2 4]

Аргументы name-value

Задайте дополнительные пары аргументов как Name1=Value1,...,NameN=ValueN, где Name имя аргумента и Value соответствующее значение. Аргументы name-value должны появиться после других аргументов, но порядок пар не имеет значения.

Пример: insertParkingSpaces(lot,space,Orientation=45,Position=[50 35]) вставляет сетку парковки в углу в 45 градусов в положении (50, 35) в метрах от источника сценария.

Количество строк в сетке парковки в виде 1 или 2.

Зависимости

Чтобы использовать этот аргумент, необходимо задать position аргумент.

Ориентация сетки парковки, в градусах в виде неотрицательного действительного скаляра. Ориентация измеряется против часовой стрелки относительно горизонтальной оси сетки парковки.

  • Для сеток парковки одной строки (Rows=1), горизонтальная ось является верхним краем сетки.

  • Для сеток парковки 2D строки (Rows=2), горизонтальная ось является центральной линией сетки.

Таблица показывает демонстрационные ориентации для одной строки и сеток парковки 2D строки.

Ориентация (сетка парковки одной строки)Ориентация (сетка парковки 2D строки)

One-row parking grid with a counterclockwise-positive orientation

Two-row parking grid with a counterclockwise-positive orientation

Зависимости

Чтобы использовать этот аргумент, необходимо задать position аргумент.

Смещение сетки парковки от ребер, в метрах в виде неотрицательного действительного скаляра. Offset относительно первой вершины каждого заданного ребра. То же смещение применяется ко всем ребрам.

Зависимости

Чтобы использовать этот аргумент, необходимо задать edge аргумент.

Введенный в R2021b