Страница 1 из 1

Рендерить пибрид с помощью mapnik

Добавлено: 05 мар 2015, 23:47
geka83
Здравствуйте!! Подскажите в каком направление искать и возможно ли это сделать с помощью mapnika! Есть локальный тайловый сервер куда загуржаются и нарезаются на тайлы космические снимки земной поверхности, а также база данных OSM установлен mapnik. Необходимо с помощью mapnika на основе имеющейся нарезки тайлов спутникового снимка земли и базы данных OSM отрендерить гибрид (т.е. нанести на на имеющееся тайлы основные дороги и названия населенных пунктов).

Re: Рендерить пибрид с помощью mapnik

Добавлено: 06 мар 2015, 10:16
SergeyRyzhkov
Интересная задача. Через месяц придется самому решение искать.
Если найдете что-то - отпишитесь, пожалуйста.

Пока что на ум приходит (к Mapnik не относится), из БД OSM нарезать также тайлы, а затем тем или иным способом "смержить" два набора, например используя GDAL.
Загвоздка в том что сами по себе тайлы не геопривязаны. Вернее если в структуре, например, файловой то косвенно имеем привязку, но как отдельный файл - нет

Re: Рендерить пибрид с помощью mapnik

Добавлено: 06 мар 2015, 14:46
geka83
Читал якобы космоснимки http://blog.kosmosnimki.ru/2010/02/17/h ... osmosnimki делают гибрид с помощью мапника. Значит по идее можно! Но пока не могу найти технических аспектов реализации!

Re: Рендерить пибрид с помощью mapnik

Добавлено: 06 мар 2015, 15:34
Denis Rykov
Очень просто, берете MapProxy, подключаете тайловый источник и слой на базе мапника и комбинируете как угодно.

Re: Рендерить пибрид с помощью mapnik

Добавлено: 06 мар 2015, 15:40
SergeyRyzhkov
А еще способы есть сформировать (сгенерить) тайлы из нескольких источников?
MapProxy и т.д. - это хорошо, но хотелось бы иметь минимум доп. установок.

Re: Рендерить пибрид с помощью mapnik

Добавлено: 06 мар 2015, 16:05
geka83
Спасибо Денис! Буду теперь разбираться!

Re: Рендерить пибрид с помощью mapnik

Добавлено: 12 мар 2015, 15:20
SergeyRyzhkov
geka83
Делитесь результатом :)

Re: Рендерить пибрид с помощью mapnik

Добавлено: 10 апр 2015, 10:42
bms
Чтобы срендерить гибридный тайл достаточно добавить к объекту mapnik.map второй слой с описанным стиле, естественно

Код: Выделить всё

   m = mapnik.Map(600, 600, 'init:epsg:3857')
    s = mapnik.Style()
    s1 = mapnik.Style()
    r = mapnik.Rule()
    r1 = mapnik.Rule()
    r.symbols.append(mapnik.RasterSymbolizer())
    r1.symbols.append(mapnik.LineSymbolizer())
    s.rules.append(r)
    s1.rules.append(r1)
    m.append_style('Raster', s)
    m.append_style('Vector', s1)
    layer = mapnik.Layer('world', m.srs)
    layer.datasource = mapnik.Gdal(file='/path/to/file.tif)
    layer.styles.append('Raster')
    m.layers.append(layer)
    layer1 = mapnik.Layer('fields', m.srs)
    layer1.datasource = mapnik.PostGIS(host='...', user='...', password='...', dbname='...',table='vector_table',srid=3857)
    layer1.styles.append('Vector')
    m.layers.append(layer1)
    m.zoom_all()
    image = mapnik.Image(m.width, m.height)
    mapnik.render(m, image)