На карте не отображаются номера зданий (tileMill + OSM)

я использую tileMill для создания офлайн-карты для моего приложения для iPhone, короче говоря, я загрузил данные OSM для региона Украины из здесь. Я проверил, что на онлайн-карте (по ссылке) показаны номера зданий, как вы можете видеть на картинке:

введите здесь описание изображения

но после импорта данных, которые я загрузил, на плиточный завод нет номеров зданий:

введите здесь описание изображения

есть идеи, почему это происходит? Спасибо!

РЕДАКТИРОВАТЬ: я выясняю, как настроить метку номеров домов, но когда я импортирую данные в tilemill (с этим tutorial) я не могу найти слой, содержащий номера домов.

Код для установки метки для номеров домов:

#housenumbers {
  [zoom >= 17] {
    text-name: "[addr:housenumber]";
    text-placement: interior;
    text-min-distance: 1;
    text-wrap-width: 0;
    text-face-name: @book-fonts;
    text-fill: #444;
    text-size: 9;
  }
}

#housenames {
  [zoom >= 17] {
    text-name: "[addr:housename]";
    text-placement: interior;
    text-wrap-width: 20;
    text-face-name: @book-fonts;
    text-size: 8;
    text-fill: #444;
    [zoom >= 18] {
      text-size: 9;
    }
  }
}

person ignotusverum    schedule 19.12.2013    source источник
comment
Содержит ли ваша таблица стилей номера домов? Найдите ключ addr:housenumber.   -  person scai    schedule 19.12.2013


Ответы (3)


Вы должны понимать, что OSM.org использует чистый движок рендеринга под названием Mapnik. Tilemill — это оболочка для Mapnik, упрощающая таблицы стилей.

Как говорит @scai, вам нужно создать таблицу стилей, которая отображает метку для номеров домов. Я не знаком с tilemill, чтобы сказать вам, что нужно сделать, но обычно это состоит из

  • Добавление символа метки, который ищет тег addr:housenumber=* и печатает значение соответствующим шрифтом и размером.
  • (создание поддельных узлов, которые имеют дело с размещением этих меток в контурах зданий и т. д.)
person MaM    schedule 19.12.2013

Слой

Источник: ПостГИС

Таблица или подзапрос

( SELECT way, "addr:housenumber" 
  FROM planet_osm_polygon
  WHERE  "addr:housenumber"  IS NOT NULL
) AS data

Стайлинг

label.mss

#housenumbers[zoom >= 17] {
  ::label {
    text-name: '[addr:housenumber]';
    text-face-name:@sans;
    text-size: 9;   
    text-placement:interior;
    text-min-distance: 1;
    text-wrap-width: 0;
    text-fill: #444;
  }    
}

"::label" нужен для предотвращения красных точек на карте.

p.s. для русских я написал об этом в своем блоге.

person constXife    schedule 26.01.2014

для меня это работало с planet_osm_point вместо planet_osm_polygon

(ВЫБЕРИТЕ путь, «адрес: номер дома» ОТ Planet_osm_polygon, ГДЕ «адрес: номер дома» НЕ НУЛЬ) КАК данные

person user4894848    schedule 13.05.2015