http://wiki.openstreetmap.org/wiki/Develop - ваш друг за такие ответы.Они объясняют (в зависимости от страницы) довольно подробно, как все работает.
Я не знаю, как работает Osmosis, так как мы работаем с osm2pgsql, но я предполагаю, что они почти схожи: он в основном ищет определенные теги (поскольку все «помечено» сообществом OSM) и сохраняет его в базе данных.Поэтому, если у вас есть POI супермаркета «some_supermarket», в котором есть тег «супермаркет», запись в базе данных будет отражать эту информацию и координаты.Улицы, здания и т. Д. - это только координаты, которые связываются при рендеринге или обработке.
Если вы запрашиваете рендеринг плиток / геоизображений, есть доступные рендеры, которые выполняют эти задачи.Вики сверху даст вам много ответов, просто найдите «рендерер».Они просто извлекают информацию (в зависимости от уровня масштабирования и ваших настроек) из базы данных для определенного ограничивающего прямоугольника и интерпретируют данные из базы данных, например, знают, что улица связана и должна быть окрашена в серый цвет.