OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

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

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

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: 7,749

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

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

Offline

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

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

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: 7,749

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

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

Offline

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

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

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,691
Website

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

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

Offline

Board footer

Powered by FluxBB