metaclass: (Default)
[personal profile] metaclass
Если кому интересно, как подключить спутниковые карты РБ к maemo mapper, то Tile source должен иметь такие параметры:
URL:http://wms.latlon.org/?request=GetTile&layers=spot&x=%2$d&y=%3$d&z=%1$d
Image type: JPEG
Type: XYZ_INV

Прикол в следующем: для этого url формата нужен порядок параметров x,y,z. У маппера есть такой тип репозитория, НО у него для Z указывается такое число: zoom - (MAX_ZOOM - 16). А нам надо число, аналогичное openstreetmap (MAX_ZOOM + 1 - zoom) - которое там есть в формате XYZ_INV, но у этого формата порядок параметров z,x,y (как в урл для osm /%d/%d/%d.png). Поэтому, чтобы оно заработало - нужно поменять порядок параметров с помощью модификаторов в плейсхолдерах формата %n$d, где n - номер параметра в списке (начиная с единицы).

Пришлось курить исходники маппера и доку на printf.

PS: В maemo-mapper есть еще один шызо-хак. Не совсем понятно, есть ли он в новой версии, но в старых точно есть - при установке url, если оно обнаруживает %0d в формате, то ставит нужный тип репозитория сам. Поэтому можно в конец url дописать &fake=%0d что вызовет срабатывание хака и установку типа репы, если этой настройки нету в диалоге.

PPS: mappero в N900 - это версия 3.1, там все сделано культурно, с выбором типа репы. А более старые версии 2.х - там тип репы выбирается через шызохак:

maemo-mapper-2.6.2\src\maps.c,809
        if(strstr(url, "service=wms"))
            repo->type = REPOTYPE_WMS;
        else if(strstr(url, "%s"))
            repo->type = REPOTYPE_QUAD_QRST;
        else if(strstr(url, "%0d"))
            repo->type = REPOTYPE_XYZ_INV;
        else if(strstr(url, "%-d"))
            repo->type = REPOTYPE_XYZ_SIGNED;
        else if(strstr(url, "%0s"))
            repo->type = REPOTYPE_QUAD_ZERO;
        else
            repo->type = REPOTYPE_XYZ;


В общем, я сам похожую хуиту делал по молодости в оперденях и теперь мне очень стыдно.

PPPS: У меня очень тяжкие нелады с головой, в url же порядок параметров пофиг.

url: http://wms.latlon.org/?request=GetTile&layers=spot&z=%d&x=%d&y=%0d

Date: 2010-10-12 04:51 pm (UTC)
From: [identity profile] inhate.livejournal.com
живет, кстати, в соседнем слотоместе.

Date: 2010-10-12 04:55 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Ага, я знаю.

Date: 2010-10-12 05:02 pm (UTC)
From: [identity profile] vp.livejournal.com
как тесен сервер шкаф :)

Date: 2010-10-12 05:08 pm (UTC)
From: [identity profile] hshhhhh.livejournal.com
домен такой .og :)

Date: 2010-10-12 05:18 pm (UTC)
From: [identity profile] litvin-v.livejournal.com
Для maemo 4.x в маппере версий 2.x нет типа репозитория. Только урл. :(
А с таким урлом как у тебя он пытается забрать что-то вроде этого
http://wms.latlon.org/?request=GetTile&layers=spot&x=10341&y=2&z=18905
и получает internal server error.

Date: 2010-10-12 05:42 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Хм, странно. Это явно тип URL XYZ. И с этим типом OSM работать не способен, соотвественно, тип где-то должен указываться.

Там вообще-то экран с настройкой репы скроллироваться должен - типы и прочее внизу.

Date: 2010-10-12 05:54 pm (UTC)
From: [identity profile] metaclass.livejournal.com
а покажы-ка содержимое
/var/lib/gconf/apps/maemo/maemo-mapper/\%gconf.xml

там есть ключик с tile source, внутри которого лежит xml

Date: 2010-10-12 06:15 pm (UTC)
From: [identity profile] litvin-v.livejournal.com
        
                
  • OpenStreet http://tile.latlon.org/tiles/%0d/%d/%d.png /media/mmc1/Maps/Latlon.sq 2 1 1 1 4 20 0 1
  • Gsat http://khm.google.com/kh/v=66&x=%d&y=%d&zoom=%d /media/mmc1/Maps/gsat.sqlite 2 1 0 1 4 20 0 1
  • Navitel http://maps.navitel.su/navitms.fcgi?t=%d,%d,%d /media/mmc1/Maps/Navitel.sqlite 2 1 0 1 4 20 0 1
  • Vi http://tile.openstreetmap.org/%0d/%d/%d.png /media/mmc1/Maps/Vi.sqlite 2 1 0 1 4 20 0 1
  • Belarus http://tile.latlon.org/tiles/%0d/%d/%d.png /media/mmc1/Maps/Belarus.sq 2 1 0 1 4 18 0 1
  • Minsk http://tile.latlon.org/tiles/%0d/%d/%d.png /media/mmc1/Maps/Minsk.sq 2 1 0 1 4 20 0 1
  • Rajon http://tile.latlon.org/tiles/%0d/%d/%d.png /media/mmc1/Maps/Rajon.sq 2 1 0 1 4 20 0 1
  • Spot http://wms.latlon.org/?request=GetTile&layers=spot&x=%2$d&y=%3$d&z=%1$d /media/mmc1/Maps/Spot.sq 2 1 0 1 4 20 0 1
  • Date: 2010-10-12 06:19 pm (UTC)
    From: [identity profile] litvin-v.livejournal.com
    Как не пытался вставить xml, ЖЖ тэги парсит и те получается. tile source там нет, там entry name="repositories" mtime="1286906658" type="list" ltype="string" и даелее список репов.

    Кстати, в строке что ты привёл перед последней 1 $ или % ?
    C $ вообще число не подставляется.

    Date: 2010-10-12 06:20 pm (UTC)
    From: [identity profile] metaclass.livejournal.com
    %, да, это я ошибся

    Date: 2010-10-12 06:21 pm (UTC)
    From: [identity profile] metaclass.livejournal.com
    закинь xml на http://nopaste.info/


    Date: 2010-10-12 06:25 pm (UTC)
    From: [identity profile] metaclass.livejournal.com
    Скажи точно версию маппера, а то я нужные исходники найти не могу :)
    (deleted comment)

    Date: 2010-10-12 06:46 pm (UTC)
    From: [identity profile] metaclass.livejournal.com
    А блин, у меня 3.1 версия, теперь понятно почему такие отличия.

    короче, дописывай в конец url &fake=%0d смотрим что получается, и ложим болтъ, если ничего.

    Date: 2010-10-12 06:37 pm (UTC)
    From: [identity profile] metaclass.livejournal.com
    там похоже, шизанутый хак
    оно ищет %0d, тогда ставит правильный тип репозитория.
    допиши в конец url такое &fake=%0d (&fake=%0d, на случае если жж сожрет амперсанд)

    Date: 2010-10-12 06:46 pm (UTC)
    From: [identity profile] litvin-v.livejournal.com
    Оппа, с шизанутым хаком заработало :)
    Писал видимо аутичный гуру.

    Date: 2010-10-12 06:47 pm (UTC)

    Date: 2010-10-12 06:52 pm (UTC)
    From: [identity profile] litvin-v.livejournal.com
    я ещё в путь добавил &filter=contrast:3
    Лучше видно.

    Date: 2010-10-12 06:55 pm (UTC)
    From: [identity profile] litvin-v.livejournal.com
    >...тип репы выбирается через шызохак...
    Оно бы ладно, если бы всё документировано было. А то пришлось исходники курить.

    Date: 2010-10-12 07:00 pm (UTC)
    From: [identity profile] metaclass.livejournal.com
    Да, я даже без хака это дело запустил только методом "читаем исходники и доку на format placeholders".

    Date: 2010-10-12 08:40 pm (UTC)
    From: [identity profile] metaclass.livejournal.com
    Я псих и забыл, что порядок параметров в url неважен, и пошел по аналогии с osm, в котором это не параметры а путь :)

    Date: 2010-10-12 08:43 pm (UTC)
    From: [identity profile] avr-forever.livejournal.com
    а можно выключить заскринивание меня? :)

    Date: 2010-10-12 08:50 pm (UTC)
    From: [identity profile] metaclass.livejournal.com
    Это у меня комменты с урл не от френдов скринятся автоматом. Сейчас во френды добавлю.

    Date: 2010-10-12 08:38 pm (UTC)
    From: [identity profile] jek-hor.livejournal.com
    Ребе, жжоте. А написать "http://wms.latlon.org/?request=GetTile&layers=spot&z=%2$d&x=%3$d&y=%1$d" религия не позволяет? :)

    Date: 2010-10-12 08:43 pm (UTC)
    From: [identity profile] metaclass.livejournal.com
    Мне надо лечить голову от лишней зауми, это как факт.

    Date: 2010-10-12 10:39 pm (UTC)
    From: [identity profile] wildman.livejournal.com
    :) вы нам и таким доставляете неимоверно :) не надо лечиться!

    Profile

    metaclass: (Default)
    metaclass

    April 2017

    S M T W T F S
          1
    2345678
    9101112 131415
    16171819202122
    23242526272829
    30      

    Most Popular Tags

    Style Credit

    Expand Cut Tags

    No cut tags
    Page generated Sep. 1st, 2025 11:48 am
    Powered by Dreamwidth Studios