You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2019-08-21 08:12:24

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

tile-слой покрытия мегафона и мтс сдвинут относительно osm

Пытаюсь прикрутить слой покрытия мегафона и МТС, но они как-то не совпадают со слоем ОСМ и между собой. Можно ли как-то в леафлете ввести поправки?

Возможно они затачивались как-то под yandex-карты и у них какая-то иная система координат...

Вот так подключаю в леафлет (на самом деле в форк openstreetmap.ru):

    // мегафон
      osm.registerLayer(
        'megafon',
        new L.TileLayer('https://coverage-map.megafon.ru/{z}/{x}/{y}.png', {
          maxZoom: 20,
          layers: '2g,lte,lte_plus', 
          attribution: "Данные Мегафон",
          transparent: 'true',
          opacity: 1,
        }),  
        'Покрытие Мегафон',
        'D', 
        false
      );
    
    // МТС
      osm.registerLayer(
        'mts',
        new L.TileLayer('http://tiles.mts.ru/G3_New/{z}/{x}/{y}', {
          maxZoom: 20,
          attribution: "Данные МТС",
          transparent: 'true',
          opacity: 1,
        }),  
        'Покрытие МТС',
        'P', 
        false
      );
    

Мегафон - сдвинут:
megafon.png
МТС - сдвинут и уменьшен:
mts.png


matrix.org: @progserega:rsprim.ru

Offline

#2 2019-08-21 08:18:39

freeExec
Moderator
From: Ульяновск,Модератор всех слоёв
Registered: 2012-07-31
Posts: 8,547

Re: tile-слой покрытия мегафона и мтс сдвинут относительно osm

В Leaflet можно указать кастомную проекцию, попробуй туда он яндекса (где Земля эллипс) засунуть.

Offline

#3 2019-08-21 09:11:03

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

Re: tile-слой покрытия мегафона и мтс сдвинут относительно osm

freeExec wrote:

В Leaflet можно указать кастомную проекцию, попробуй туда он яндекса (где Земля эллипс) засунуть.

В интернете пишут, что это:
crs = L.CRS.EPSG3395;

Я не спец в Leaflet - прошу прощения. Но как я понял проекцию можно указать карте, не слою. А у меня другие слои же тогда поедут?

При создании  слоя (как пишут: https://www.wrld3d.com/wrld.js/latest/d … TileLayer/ ) нет опции указания проекции (crs).


matrix.org: @progserega:rsprim.ru

Offline

#4 2019-08-21 13:43:41

freeExec
Moderator
From: Ульяновск,Модератор всех слоёв
Registered: 2012-07-31
Posts: 8,547

Re: tile-слой покрытия мегафона и мтс сдвинут относительно osm

Вот вроде нужная статья. На гитхабе в отдельной ветке есть код с поддержкой для TMS своей проекции.

Offline

#5 2019-08-22 05:22:32

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

Re: tile-слой покрытия мегафона и мтс сдвинут относительно osm

freeExec wrote:

Вот вроде нужная статья. На гитхабе в отдельной ветке есть код с поддержкой для TMS своей проекции.

Спасибо!
Направление ясно.

Хотя боль какая-то:
Поставил код из ветки. Но это оказывается не пропатченный код, а просто отдельный проект. Скопировал Proj4Leaflet отдельно, переключился на master, подключил оба. Proj4js требует. Порылся - нашёл proj4, но оно не Proj4js. Переименовал в коде плагина в proj4. Запускаю - падает - говорит переданная проекция ESPG:900913 не нравится:

 uncaught exception: EPSG:900913 proj4-src.js:1404:8
    callback http://dev.map.prim.drsk.ru/js/proj4js-2.5.0/dist/proj4-src.js:1404
    Projection http://dev.map.prim.drsk.ru/js/proj4js-2.5.0/dist/proj4-src.js:1409
    initialize http://dev.map.prim.drsk.ru/js/Proj4LeafletTMS/src/proj4leaflet.js:9
    e http://dev.map.prim.drsk.ru/js/leaflet.js:5
    initialize http://dev.map.prim.drsk.ru/js/Proj4LeafletTMS/src/proj4leaflet.js:35
    e http://dev.map.prim.drsk.ru/js/leaflet.js:5
    initLayers http://dev.map.prim.drsk.ru/js/page.map/osm.layers.js:171
    <анонимный> http://dev.map.prim.drsk.ru/js/page.map/_map.js:4
    jQuery 4

в общем нужно погружаться в глубь и ковырять и ковырять потроха этих либ и надстроек, т.к. судя по всему они уже расплылись по версиям далеко и несовместимы :-(


matrix.org: @progserega:rsprim.ru

Offline

#6 2019-08-25 09:12:39

Alexandr Zeinalov
Member
From: New-Peredelkino, Moscow, RU
Registered: 2009-08-26
Posts: 1,699
Website

Re: tile-слой покрытия мегафона и мтс сдвинут относительно osm

Вместо 900913 надо использовать 3857.

Offline

Board footer

Powered by FluxBB