Route - Post Route Matrix Async
API Route Matrix Async
— это запрос HTTP POST
, который позволяет вычислять матрицу сводок маршрутов для набора маршрутов, определенных источниками и целевыми расположениями, с помощью асинхронного (асинхронного) запроса. Для каждого заданного источника служба вычисляет стоимость маршрутизации из этого источника в каждое заданное место назначения. Набор источников и набор назначений можно рассматривать как заголовки столбцов и строк таблицы, а каждая ячейка в таблице содержит затраты на маршрутизацию от источника к месту назначения для этой ячейки. Матрицы маршрутов можно вычислить для вождения, ходьбы и грузовиков маршрутов.
Матрицы маршрутов используются в нескольких разных типах приложений, чаще всего для решения проблемы с менеджером по маршрутизации транспортных средств (TSP) и проблемы маршрутизации транспортных средств (VRP). Для каждой пары назначения источника в матрице возвращаются время путешествия и расстояние. Вы можете использовать вычисляемые затраты, чтобы определить подробные маршруты для вычисления с помощью API маршрутов.
Максимальный размер матрицы для асинхронного запроса составляет 50000 (число источников, умноженное на число назначений).
Отправка асинхронного запроса матрицы маршрутов
Асинхронный API подходит для обработки больших объемов относительно сложных запросов маршрутизации. При выполнении запроса с помощью асинхронного запроса служба возвращает код ответа 202 по URL-адресу в поле operation-Location
заголовка ответа с конечной точкой географической точки Azure Maps "{geography}.atlas.microsoft.com. Этот URL-адрес следует периодически проверять до тех пор, пока состояние не будет выполнено успешно.
Максимальный размер матрицы для этого API составляет 50000 (число источников, умноженное на число назначений). Учитывая это ограничение, примеры возможных измерений матрицы: 500x100, 100x100, 280x170. 100x50 (он не должен быть квадратным).
Асинхронные ответы хранятся в течение 24 часов. URL-адрес перенаправления возвращает ответ 404, если используется после истечения срока действия.
POST https://atlas.microsoft.com/route/matrix:async?api-version=2025-01-01&subscription-key={subscription-key}
Ниже приведена типичная последовательность асинхронных операций:
Клиент отправляет запрос Route Matrix POST в Azure Maps
Сервер ответит на одно из следующих действий:
HTTP
202 Accepted
— запрос матрицы маршрутов был принят.HTTP
Error
. Произошла ошибка при обработке запроса "Матрица маршрутов". Это может быть либо 400 недопустимый запрос, либо любой другой код состояния ошибки.Если запрос matrix Route был принят успешно, заголовок
operation-location
в ответе содержит URL-адрес, чтобы получить состояние запроса. Этот универсальный код ресурса (URI) состояния выглядит следующим образом:
GET https://atlas.microsoft.com/route/operations/{id}?api-version=2025-01-01?subscription-key={subscription-key}
- Клиент выдает запрос GET на результатUrl, полученный на шаге 3, чтобы получить результаты
GET https://atlas.microsoft.com/route/operations/{id}/result?api-version=2025-01-01?subscription-key={subscription-key}
Ограничения API
Асинхронная обработка матрицы лучше всего подходит для более крупных матриц, требующих интенсивного вычисления маршрута. Следующее ограничение применимо к асинхронным запросам. Если ни одна из строк в следующей таблице не соответствует параметрам запроса, запрос не соответствует требованиям и не будет обработан.
Максимальный размер матрицы | Максимальное число источников | Максимальное число назначений | Дополнительные ограничения |
---|---|---|---|
2500 | 1000 | 1000 | Все источники и назначения должны содержаться в ограничивающем поле с выравниванием по оси 400 км x 400 км. В противном случае некоторые ячейки матрицы будут разрешены как OUT_OF_REGION. |
50 000 | 10,000 | 10,000 |
-
departAt или arriveAt должны быть любыми.- traffic должен быть историческим.- optimizeRoute должен быть самым быстрым.- travelMode должен быть либо вождения, либо грузовика. — Никакие другие параметры не могут использоваться явным образом. |
POST https://atlas.microsoft.com/route/matrix:async?api-version=2025-01-01
Параметры URI
Имя | В | Обязательно | Тип | Описание |
---|---|---|---|---|
api-version
|
query | True |
string |
Номер версии API Azure Maps. |
Заголовок запроса
Media Types: "application/geo+json"
Имя | Обязательно | Тип | Описание |
---|---|---|---|
x-ms-client-id |
string |
Указывает, какая учетная запись предназначена для использования в сочетании с моделью безопасности идентификатора Microsoft Entra. Он представляет уникальный идентификатор учетной записи Azure Maps и может быть получен из API учетной записи уровня управления Azure Maps. Сведения о том, как использовать безопасность идентификатора Microsoft Entra в Azure Maps, см. в следующих статьях |
Текст запроса
Media Types: "application/geo+json"
Имя | Обязательно | Тип | Описание |
---|---|---|---|
features | True |
Набор точек происхождения и назначения, передаваемых как функции GeoJSON MultiPoint для входной матрицы. Дополнительные сведения о формате GeoJSON см. в |
|
type | True |
Указывает тип |
|
arriveAt |
string |
Дата и время прибытия в точку назначения, отформатированная как значение Параметр
Значение по умолчанию: Пример: "arriveAt": "2024-12-01T09:30:00.000-07:00" |
|
avoid |
Указывает ограничения, которые следует учитывать при определении маршрута. Избегайте поддержки нескольких значений в запросе и поддерживается только для вождения и грузовика travelMode. |
||
departAt |
string |
Дата и время выхода из точки источника, отформатированная как значение Параметр Кроме того,
Значение по умолчанию: Пример: "departAt": "2024-12-01T09:30:00.000-07:00" |
|
optimizeRoute |
Задает параметр, используемый для оптимизации маршрута. Если это не определено, значение по умолчанию — "самый быстрый", который возвращает маршрут, чтобы свести к минимуму время путешествия. Пример: "optimizeRoute":"shortest" |
||
traffic |
Указывает, как трафик считается для вычислительных маршрутов. Значение по умолчанию: |
||
travelMode |
Указывает профиль путешествия, который следует учитывать при вычислении матрицы. Если значение по умолчанию не указано, значение по умолчанию — "вождение". Пример: "travelMode":"driving" |
||
vehicleSpec |
Указывает атрибуты транспортного средства, такие как высота транспортного средства, вес, максимальная скорость, тип груза и т. д., которые следует учитывать при вычислении матрицы маршрутов. Это помогает избежать низкой очистки моста, ограничений дорожного движения, трудных поворотов, чтобы обеспечить оптимизированный маршрут на основе спецификаций транспортного средства. Атрибуты транспортного средства указываются в свойстве VehicleSpec. |
Ответы
Имя | Тип | Описание |
---|---|---|
202 Accepted |
Принято Заголовки Operation-Location: string |
|
Other Status Codes |
Произошла непредвиденная ошибка. Заголовки x-ms-error-code: string |
Безопасность
AADToken
Это потоки Microsoft Entra OAuth 2.0. При паре с доступом на основе ролей Azure его можно использовать для управления доступом к REST API Azure Maps. Управление доступом на основе ролей Azure используется для назначения доступа к одной или нескольким учетным записям ресурсов Azure Maps или вложенным ресурсам. Доступ к любому пользователю, группе или субъекту-службе можно предоставить через встроенную роль или пользовательскую роль, состоящую из одного или нескольких разрешений для REST API Azure Maps.
Для реализации сценариев рекомендуется просматривать концепции проверки подлинности . В целом, это определение безопасности предоставляет решение для моделирования приложений через объекты, способные управлять доступом в определенных API и областях.
Примечание.
- Для этого определения безопасности требуется использовать заголовок
x-ms-client-id
, чтобы указать, к какой ресурсу Azure Maps приложение запрашивает доступ. Это можно получить изAPI управления картами. -
Authorization URL
зависит от экземпляра общедоступного облака Azure. В национальных облаках есть уникальные URL-адреса авторизации и конфигурации идентификатора Microsoft Entra. - Управление доступом на основе ролей Azure настраивается на основе плоскости управления Azure с помощью портала Azure, PowerShell, CLI, пакетов SDK Azure или REST API.
- Использование веб-пакета SDK для Azure Maps
позволяет настроить приложение на основе конфигурации для нескольких вариантов использования. - Дополнительные сведения о платформе удостоверений Майкрософт см. в обзоре платформы удостоверений Майкрософт.
Тип:
oauth2
Flow:
implicit
URL-адрес авторизации:
https://login.microsoftonline.com/common/oauth2/authorize
Области
Имя | Описание |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Это общий ключ, подготовленный при создании ресурса Azure Maps через плоскость управления Azure с помощью портала Azure, PowerShell, CLI, пакетов SDK Azure или REST API.
С помощью этого ключа любой приложению разрешен доступ ко всем REST API. Другими словами, они в настоящее время могут рассматриваться как главные ключи учетной записи, для которой они выданы.
Для общедоступных приложений мы рекомендуем использовать доступ к REST API Azure Maps на сервере, где этот ключ можно безопасно хранить.
Тип:
apiKey
В:
header
SAS Token
Это маркер подписанного URL-адреса создается из операции SAS списка на ресурсе Azure Maps через плоскость управления Azure с помощью портала Azure, PowerShell, CLI, пакетов SDK Azure или REST API.
С помощью этого маркера любой приложению разрешен доступ с помощью управления доступом на основе ролей Azure и точного управления сроком действия, скоростью и регионами, используемыми для конкретного маркера. Другими словами, маркер SAS можно использовать для разрешения приложений управлять доступом более защищенным способом, чем общий ключ.
Для общедоступных приложений мы рекомендуем настроить определенный список разрешенных источников в ресурсе учетной записи карты карты, чтобы ограничить злоупотребление отрисовкой и регулярно обновлять маркер SAS.
Тип:
apiKey
В:
header
Примеры
Submit an asynchronous request for matrix
Образец запроса
POST https://atlas.microsoft.com/route/matrix:async?api-version=2025-01-01
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "MultiPoint",
"coordinates": [
[
9.15049,
45.458545
],
[
11.050541,
45.403337
]
]
},
"properties": {
"pointType": "origins"
}
},
{
"type": "Feature",
"geometry": {
"type": "MultiPoint",
"coordinates": [
[
11.499931,
48.149853
],
[
14.538226,
50.033688
]
]
},
"properties": {
"pointType": "destinations"
}
}
],
"departAt": "2022-12-19T16:39:57+01:00",
"optimizeRoute": "fastest",
"traffic": "historical",
"travelMode": "truck",
"avoid": [
"unpavedRoads"
]
}
Пример ответа
Operation-Location: https://atlas.microsoft.com/route/operations/bc3f9365-3ee0-4564-aa27-825016325557?api-version=2025-01-01
Определения
Имя | Описание |
---|---|
Adr |
Код ограничения туннеля ADR. ADR — это европейское соглашение о международной перевозке опасных товаров по дороге. Код ограничения туннеля ADR используется для определения того, разрешено ли транспортному средству проходить через туннель с ограничениями на перевозки опасных товаров. |
Features |
Указывает тип |
Feature |
Указывает тип |
Geo |
Допустимый тип геометрии |
Input |
Указывает входные и конечные точки и дополнительные свойства для объекта компонента |
Input |
Задает объект свойств для входной матрицы. |
Maps |
Сведения об ошибке. |
Maps |
Распространенный ответ об ошибке для API Azure Maps для возврата сведений об ошибке для неудачных операций. |
Maps |
Объект, содержащий более конкретные сведения, чем текущий объект об ошибке. |
Route |
Задает параметр, используемый для оптимизации маршрута. Если это не определено, значение по умолчанию — "самый быстрый", который возвращает маршрут, чтобы свести к минимуму время путешествия. Пример: "optimizeRoute":"shortest" |
Route |
Используйте для получения матрицы маршрутов, показывающую время и расстояние для всех возможных пар в списке источников и назначения.
|
Route |
Указывает ограничения, которые следует учитывать при определении маршрута. Избегайте поддержки нескольких значений в запросе и поддерживается только для вождения и грузовика travelMode. |
Route |
Указывает, как трафик считается для вычислительных маршрутов. Значение по умолчанию: |
Route |
Указывает профиль путешествия, который следует учитывать при вычислении матрицы. Если значение по умолчанию не указано, значение по умолчанию — "вождение". Пример: "travelMode":"driving" |
Route |
Указывает исходный тип MultiPoint и тип назначения MultiPoint для входной матрицы. |
Route |
Указывает атрибуты транспортного средства, такие как высота транспортного средства, вес, максимальная скорость, тип груза и т. д., которые следует учитывать при вычислении матрицы маршрутов. Это помогает избежать низкой очистки моста, ограничений дорожного движения, трудных поворотов, чтобы обеспечить оптимизированный маршрут на основе спецификаций транспортного средства. Атрибуты транспортного средства указываются в свойстве VehicleSpec. |
Vehicle |
Типы грузов, которые могут быть классифицированы как опасные материалы и ограничены некоторыми дорогами. Доступные значения vehicleLoadType — это классы US Hazmat 1–9, а также универсальные классификации для использования в других странах. Значения, начиная с USHazmat, предназначены для маршрутизации в США, а другие Хазматы должны использоваться для всех других стран. vehicleLoadType поддерживает несколько значений в запросе. |
AdrTunnelRestrictionCodeEnum
Код ограничения туннеля ADR. ADR — это европейское соглашение о международной перевозке опасных товаров по дороге. Код ограничения туннеля ADR используется для определения того, разрешено ли транспортному средству проходить через туннель с ограничениями на перевозки опасных товаров.
Значение | Описание |
---|---|
B |
Транспортные средства с кодом B ограничены дорогами с категориями B, C, D и E. |
C |
Транспортные средства с кодом C ограничены дорогами с категориями ADR туннеля C, D и E |
D |
Транспортные средства с кодом D ограничены дорогами с категориями D и E. |
E |
Транспортные средства с кодом E ограничены дорогами с категорией E туннеля ADR. |
FeaturesItemTypeEnum
Указывает тип GeoJSON
. Единственным поддерживаемым типом объекта является Feature. Дополнительные сведения см. в RFC 7946.
Значение | Описание |
---|---|
Feature |
Указывает тип объекта компонента |
FeatureTypeEnum
Указывает тип GeoJSON
. Единственным поддерживаемым типом объекта является FeatureCollection
. Дополнительные сведения см. в RFC 7946.
Значение | Описание |
---|---|
FeatureCollection |
Указывает тип объекта |
GeoJsonMultiPoint
Допустимый тип геометрии GeoJSON MultiPoint
. Дополнительные сведения см. в RFC 7946.
Имя | Тип | Описание |
---|---|---|
coordinates |
number[] (double) |
Координаты геометрии |
type |
string:
Multi |
Указывает тип |
InputRouteMatrixFeaturesItem
Указывает входные и конечные точки и дополнительные свойства для объекта компонента GeoJSON
MultiPoint. Дополнительные сведения см. в RFC 7946.
Имя | Тип | Описание |
---|---|---|
geometry |
Допустимый тип геометрии |
|
properties |
Объект свойств функции MultiPoint, указывающий функции источника и функции назначения для входной матрицы. |
|
type |
Указывает тип |
InputRouteMatrixProperties
Задает объект свойств для входной матрицы.
Имя | Тип | Описание |
---|---|---|
pointType |
Указывает исходный тип MultiPoint и тип назначения MultiPoint для входной матрицы. |
MapsErrorDetail
Сведения об ошибке.
Имя | Тип | Описание |
---|---|---|
code |
string |
Один из определяемых сервером кодов ошибок. |
details |
Массив сведений об определенных ошибках, которые привели к этой сообщаемой ошибке. |
|
innererror |
Объект, содержащий более конкретные сведения, чем текущий объект об ошибке. |
|
message |
string |
Читаемое пользователем представление ошибки. |
target |
string |
Целевой объект ошибки. |
MapsErrorResponse
Распространенный ответ об ошибке для API Azure Maps для возврата сведений об ошибке для неудачных операций.
Имя | Тип | Описание |
---|---|---|
error |
Сведения об ошибке. |
MapsInnerError
Объект, содержащий более конкретные сведения, чем текущий объект об ошибке.
Имя | Тип | Описание |
---|---|---|
code |
string |
Код ошибки. |
innererror |
Объект, содержащий более конкретные сведения, чем текущий объект об ошибке. |
RouteMatrixAsyncOptimizeRouteEnum
Задает параметр, используемый для оптимизации маршрута. Если это не определено, значение по умолчанию — "самый быстрый", который возвращает маршрут, чтобы свести к минимуму время путешествия.
Пример: "optimizeRoute":"shortest"
Значение | Описание |
---|---|
fastest |
Находит самый быстрый маршрут для оптимизации маршрута по времени путешествия. |
shortest |
Находит самый короткий маршрут для оптимизации маршрута по расстоянию путешествия. |
RouteMatrixAsyncRequest
Используйте для получения матрицы маршрутов, показывающую время и расстояние для всех возможных пар в списке источников и назначения.
GeoJSON
объект компонента и дополнительные свойства. Дополнительные сведения см. в RFC 7946.
Имя | Тип | Default value | Описание |
---|---|---|---|
arriveAt |
string |
Дата и время прибытия в точку назначения, отформатированная как значение Параметр
Значение по умолчанию: Пример: "arriveAt": "2024-12-01T09:30:00.000-07:00" |
|
avoid |
Указывает ограничения, которые следует учитывать при определении маршрута. Избегайте поддержки нескольких значений в запросе и поддерживается только для вождения и грузовика travelMode. |
||
departAt |
string |
Дата и время выхода из точки источника, отформатированная как значение Параметр Кроме того,
Значение по умолчанию: Пример: "departAt": "2024-12-01T09:30:00.000-07:00" |
|
features |
Набор точек происхождения и назначения, передаваемых как функции GeoJSON MultiPoint для входной матрицы. Дополнительные сведения о формате GeoJSON см. в |
||
optimizeRoute | fastest |
Задает параметр, используемый для оптимизации маршрута. Если это не определено, значение по умолчанию — "самый быстрый", который возвращает маршрут, чтобы свести к минимуму время путешествия. Пример: "optimizeRoute":"shortest" |
|
traffic | historical |
Указывает, как трафик считается для вычислительных маршрутов. Значение по умолчанию: |
|
travelMode | driving |
Указывает профиль путешествия, который следует учитывать при вычислении матрицы. Если значение по умолчанию не указано, значение по умолчанию — "вождение". Пример: "travelMode":"driving" |
|
type |
Указывает тип |
||
vehicleSpec |
Указывает атрибуты транспортного средства, такие как высота транспортного средства, вес, максимальная скорость, тип груза и т. д., которые следует учитывать при вычислении матрицы маршрутов. Это помогает избежать низкой очистки моста, ограничений дорожного движения, трудных поворотов, чтобы обеспечить оптимизированный маршрут на основе спецификаций транспортного средства. Атрибуты транспортного средства указываются в свойстве VehicleSpec. |
RouteMatrixAvoidEnum
Указывает ограничения, которые следует учитывать при определении маршрута. Избегайте поддержки нескольких значений в запросе и поддерживается только для вождения и грузовика travelMode.
Значение | Описание |
---|---|
tollRoads |
Избегает использования платных дорог в маршруте. |
unpavedRoads |
Избегает неотложных дорог в маршруте. |
RouteMatrixTrafficEnum
Указывает, как трафик считается для вычислительных маршрутов.
Значение по умолчанию: historical
Значение | Описание |
---|---|
historical |
Вычисление маршрута учитывает исторические сроки путешествия и долгосрочные закрытия. Пробки и краткосрочные закрытия во время поездки не влияют на маршрутизацию или время поездки. |
live |
Помимо исторического времени путешествия, вычисление маршрута учитывает пробки и краткосрочные и долгосрочные закрытия во время путешествия.
|
RouteMatrixTravelModeEnum
Указывает профиль путешествия, который следует учитывать при вычислении матрицы. Если значение по умолчанию не указано, значение по умолчанию — "вождение".
Пример: "travelMode":"driving"
Значение | Описание |
---|---|
driving |
Профиль маршрутизации, подходящий для автомобилей, используется для вычисления матрицы маршрутов. |
truck |
Профиль маршрутизации, подходящий для коммерческих транспортных средств, таких как грузовики, используются для вычисления матрицы маршрутов. |
walking |
Возвращаемые маршруты оптимизированы для пешеходов, включая использование тротуаров. |
RouteMatrixTypeEnum
Указывает исходный тип MultiPoint и тип назначения MultiPoint для входной матрицы.
Значение | Описание |
---|---|
destinations |
Функции MultiPoint, определяющие расположения назначения в входной матрице. |
origins |
Функции MultiPoint, определяющие расположения источников в входной матрице. |
RouteMatrixVehicleSpec
Указывает атрибуты транспортного средства, такие как высота транспортного средства, вес, максимальная скорость, тип груза и т. д., которые следует учитывать при вычислении матрицы маршрутов. Это помогает избежать низкой очистки моста, ограничений дорожного движения, трудных поворотов, чтобы обеспечить оптимизированный маршрут на основе спецификаций транспортного средства. Атрибуты транспортного средства указываются в свойстве VehicleSpec.
Имя | Тип | Default value | Описание |
---|---|---|---|
adrTunnelRestrictionCode |
Код ограничения туннеля ADR. ADR — это европейское соглашение о международной перевозке опасных товаров по дороге. Код ограничения туннеля ADR используется для определения того, разрешено ли транспортному средству проходить через туннель с ограничениями на перевозки опасных товаров. |
||
axleWeight |
integer (int64) minimum: 0maximum: 1000000 |
0 |
Вес на ось транспортного средства в кг. Значение 0 означает, что ограничения веса на ось не считаются. |
height |
number (double) minimum: 0maximum: 1000000 |
0 |
Высота транспортного средства в метрах. Значение 0 означает, что ограничения высоты не учитываются. |
isVehicleCommercial |
boolean |
False |
Используется ли автомобиль для коммерческих целей. Коммерческие транспортные средства могут быть запрещены ездить на некоторых дорогах. |
length |
number (double) minimum: 0maximum: 1000000 |
0 |
Длина транспортного средства в метрах. Значение 0 означает, что ограничения длины не учитываются. |
loadType |
Типы грузов, которые могут быть классифицированы как опасные материалы и ограничены некоторыми дорогами. Доступные значения vehicleLoadType — это классы US Hazmat 1–9, а также универсальные классификации для использования в других странах. Значения, начиная с USHazmat, предназначены для маршрутизации в США, а другие Хазматы должны использоваться для всех других стран. vehicleLoadType поддерживает несколько значений в запросе. |
||
maxSpeed |
integer (int64) minimum: 0maximum: 250 |
0 |
Максимальная скорость транспортного средства в км/час. Максимальная скорость в профиле транспортного средства используется для проверки того, разрешено ли транспортное средство на автомагистралях. Значение 0 означает, что соответствующее значение для транспортного средства будет определено и применено во время планирования маршрута. Значение, отличное от нуля, может быть переопределено во время планирования маршрутов. Например, текущий поток трафика составляет 60 км/час. Если максимальная скорость транспортного средства составляет 50 км/час, подсистема маршрутизации будет учитывать 60 км/час, так как это текущая ситуация. Если максимальная скорость транспортного средства предоставляется как 80 км/час, но текущий поток движения составляет 60 км/час, то подсистема маршрутизации снова будет использовать 60 км/час. |
weight |
integer (int64) minimum: 0maximum: 1000000 |
0 |
Вес транспортного средства в килограммах. Значение 0 означает, что ограничения веса не учитываются. |
width |
number (double) minimum: 0maximum: 1000000 |
0 |
Ширина транспортного средства в метрах. Значение 0 означает, что ограничения ширины не учитываются. |
VehicleLoadTypeEnum
Типы грузов, которые могут быть классифицированы как опасные материалы и ограничены некоторыми дорогами. Доступные значения vehicleLoadType — это классы US Hazmat 1–9, а также универсальные классификации для использования в других странах. Значения, начиная с USHazmat, предназначены для маршрутизации в США, а другие Хазматы должны использоваться для всех других стран. vehicleLoadType поддерживает несколько значений в запросе.
Значение | Описание |
---|---|
USHazmatClass1 |
Взрывчатка |
USHazmatClass2 |
Сжатый газ |
USHazmatClass3 |
Воспламеняемые жидкости |
USHazmatClass4 |
Воспламеняемые твердые вещества |
USHazmatClass5 |
Окислители |
USHazmatClass6 |
Противоядия |
USHazmatClass7 |
Радиоактивный |
USHazmatClass8 |
Корросивы |
USHazmatClass9 |
Разное |
otherHazmatExplosive |
Взрывчатка |
otherHazmatGeneral |
Разное |
otherHazmatHarmfulToWater |
Вредно для воды |