В системе HERE Maps API for JavaScript категории мест (Place Categories) представляют собой иерархическую классификацию объектов интереса (POI), используемую для поиска, фильтрации и структурирования геоданных. Категориальная модель лежит в основе работы сервисов геопоиска платформы HERE Technologies и позволяет унифицировать представление точек интереса в различных странах и доменах.
Система категорий строится как многоуровневое дерево, где каждая категория имеет:
Пример структуры:
Еда и напитки
Транспорт
Торговля
Иерархический подход позволяет выполнять как широкие запросы (например, «все заведения питания»), так и узкие (например, «азиатские рестораны»).
Категории применяются в поисковых запросах через параметры фильтрации. Основной сценарий — поиск мест по типу.
const platform = new H.service.Platform({
apikey: 'YOUR_API_KEY'
});
const service = platform.getSearchService();
service.discover({
at: '53.3498,-6.2603',
q: 'restaurant',
limit: 10
}, result => {
console.log(result.items);
}, error => {
console.error(error);
});
В данном примере поиск осуществляется по ключевому слову, которое сопоставляется с категорией «ресторан».
Более точный способ — использование фильтра категорий:
service.discover({
at: '53.3498,-6.2603',
filter: 'categoryId:110-3320-0000',
limit: 10
}, result => {
console.log(result.items);
});
Здесь categoryId указывает на конкретную категорию в
иерархии. Такой подход исключает неоднозначность текстового поиска.
Категория включает широкий спектр заведений:
Особенность группы заключается в наличии глубокой специализации:
Категории транспортного слоя используются для логистических приложений:
Эти категории часто комбинируются с геофенсингом и маршрутизацией.
Сюда относятся торговые и сервисные точки:
В HERE Maps API for JavaScript поддерживается комбинирование категорий для расширенного поиска.
Пример логики:
service.discover({
at: '53.3498,-6.2603',
filter: 'categoryId:200-2000-0011,categoryId:200-2000-0015',
limit: 20
});
Такой запрос возвращает объекты, относящиеся сразу к нескольким категориям, например кафе и рестораны одновременно.
Категории не являются абстрактными — их релевантность зависит от региона:
Например, небольшие кафе в разных странах могут классифицироваться как:
Категории интегрированы в механизмы автодополнения поисковых запросов:
service.autosuggest({
at: '53.3498,-6.2603',
q: 'gas'
}, result => {
console.log(result.items);
});
Результаты могут содержать как текстовые совпадения, так и объекты, привязанные к категориям (например, заправочные станции).
Категориальная модель применяется не только в поиске, но и в аналитике:
При обработке больших массивов данных категории выступают как базовый классификатор для кластеризации POI.
В сценариях маршрутизации категории используются для поиска промежуточных точек:
Пример логики:
Категории могут иметь до нескольких уровней вложенности:
Такая структура позволяет строить точные фильтры без перегрузки запросов.
При работе с идентификаторами категорий важно учитывать:
В большинстве случаев используется комбинация:
q)categoryId)at, in)Расширенный сценарий поиска:
service.discover({
at: '53.3498,-6.2603',
q: 'coffee',
filter: 'categoryId:100-1000-0000',
limit: 15
}, result => {
console.log(result.items);
});
В этом случае текстовый запрос уточняется категорией, что снижает шум в результатах.
Категории формируют основу всех операций с точками интереса:
Без категорий данные POI теряют структурность и становятся набором несвязанных объектов.