Создание тайлов OSM в WGS84

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
serefimov
Новоприбывший
Сообщения: 7
Зарегистрирован: 22 июн 2012, 10:25
Репутация: 0

Создание тайлов OSM в WGS84

Сообщение serefimov » 26 авг 2014, 16:30

Есть задача: нарезать OSM в проекции 4326.
По инструкции создал тайловый сервер.
Поменял в osm.xml в теге Map значение srs на

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

+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs
Это параметры проекции plate carree.
И проблема в том, что тайлы отрисовываются только в западном полушарии:
map_only_west.PNG
map_only_west.PNG (17.41 КБ) 4578 просмотров
Тайлы на восток не отрисовываются.
Думаю, дело в параметрах тайловой сетки.
У WGS84 на нулевом уровне 2 тайла, например:
Изображение Изображение

А у меня 0/1/0.png не рисуется (проверял напрямую), т.к. в Гугломеркаторе на 0 уровне только один тайл ( т.к. карта квадратная).
Подскажите, как поменять параметры разграфки? Чтоб отрисовывался восток.

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 740
Ваше звание: Вредитель полей

Re: Создание тайлов OSM в WGS84

Сообщение ericsson » 26 авг 2014, 20:05

Хм, если речь именно о схеме тайлов OSM TMS, то разве эта схема не является фиксированной?

serefimov
Новоприбывший
Сообщения: 7
Зарегистрирован: 22 июн 2012, 10:25
Репутация: 0

Re: Создание тайлов OSM в WGS84

Сообщение serefimov » 27 авг 2014, 09:42

Разобрался.
Чтобы тайлы генерировались 2 к 1 нужно в файле /etc/renderd.conf в разделе [default] добавить:

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

ASPECTX=2
ASPECTY=1
Тайл 0/1/0.png рисуется!
Но...
Как теперь отобразить эти тайлы на карте ol3?
Где задать параметры разграфки XYZ?
ericsson писал(а):Хм, если речь именно о схеме тайлов OSM TMS, то разве эта схема не является фиксированной?
Схема-то фиксированная. Вопрос был в том, как их нефиксированно нарезать, а теперь - как отобразить ))

serefimov
Новоприбывший
Сообщения: 7
Зарегистрирован: 22 июн 2012, 10:25
Репутация: 0

Re: Создание тайлов OSM в WGS84

Сообщение serefimov » 28 авг 2014, 13:18

Удалось отобразить тайлы в openlayers 2.
wgs84_msk_lol.PNG
wgs84_msk_lol.PNG (136.27 КБ) 4475 просмотров
Выглядит карта конечно очень странно )

Может кому-то пригодится код подключения TMS:

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

    var baseUrl = "http://10.46.2.166/osm/";

    function getTileUrl (bounds) {
        // рассчитываем параметры x,y,z
        var res = this.map.getResolution();
        var x = Math.round ((bounds.left - this.maxExtent.left) / (res * this.tileSize.w));
        var y = Math.round ((this.maxExtent.top - bounds.top) / (res * this.tileSize.h));
        var z = this.map.getZoom();

        // прописываем урл
        var path = z + "/" + x + "/" + y + "." + this.type;
        var url = this.url;
        if (url instanceof Array) {
            url = this.selectUrl(path, url);
        }
        return url + path;
    }

    var map = new OpenLayers.Map( 'map', {maxResolution: 180/256});
    //maxResolution - разрешение тайла нулевого уровня (180º/256 пикс.)

    var layer = new OpenLayers.Layer.TMS( "TMS", baseUrl, { type:'png', getURL:getTileUrl});

    map.addLayer(layer);
    map.setCenter(new OpenLayers.LonLat(37, 55), 6);
Нужно только поменять baseUrl на свой.

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 740
Ваше звание: Вредитель полей

Re: Создание тайлов OSM в WGS84

Сообщение ericsson » 28 авг 2014, 21:13

Естественно, вам пришлось писать свою функцию, потому что TMS не предполагает этой схемы, то что вы сделали - некий костыль.
А какова цель отображения данных в этой проекции?

serefimov
Новоприбывший
Сообщения: 7
Зарегистрирован: 22 июн 2012, 10:25
Репутация: 0

Re: Создание тайлов OSM в WGS84

Сообщение serefimov » 01 сен 2014, 13:51

ericsson писал(а):Естественно, вам пришлось писать свою функцию, потому что TMS не предполагает этой схемы, то что вы сделали - некий костыль.
А какова цель отображения данных в этой проекции?
Исторически неудачный выбор проекции отображения остальных покрытий.

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 740
Ваше звание: Вредитель полей

Re: Создание тайлов OSM в WGS84

Сообщение ericsson » 01 сен 2014, 21:04

Сочувствую.

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость