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

OpenLayers: одинаковые проекции с разными кодами

Добавлено: 28 ноя 2011, 06:38
Denis Rykov
Потребовалось подключить в проект WMS-слой, поднятый на базе ArcGIS, но так-как базовый слой в проекте использует проекцию EPSG:900913, то и любой оверлей запрашивается в этой проекции, а поскольку ArcGIS не понимает, что такое 900913, а использует для этой проекции код EPSG:3857, то и отдать слой в 900913 не сможет. Как же поступить в такой ситуации? Очень просто: после создания слоя и перед добавлением его на карту нужно указать его проекцию, пример подключения публичной кадастровой карты:

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

lay_rosreestr = new OpenLayers.Layer.WMS('Публичная кадастровая карта',
        'http://maps.rosreestr.ru/ArcGIS/services/Cadastre/CadastreWMS/MapServer/WMSServer',
        {layers: "24,23,22,21,20,13,12,11,9,8,6,5,4,3,2,1,18,17,16,15", transparent: true},
        {isBaseLayer: false, singleTile: true}
    );
lay_rosreestr.projection = "EPSG:3857";
map.addLayers([lay_rosreestr]); 

Re: OpenLayers: одинаковые проекции с разными кодами

Добавлено: 13 май 2012, 06:17
AntonAD
Подскажите что делаю не так:

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

	var OSM_map = new OpenLayers.Layer.OSM();
    var rosreestr = new OpenLayers.Layer.WMS("Росреестр", "http://maps.rosreestr.ru/ArcGIS/services/Cadastre/CadastreWMS/MapServer/WMSServer?", 
											{transparent: 'true', layers: "22,21,20,19,18,16,15,14,13,11,10,9,7,6,4,3,2,1", format: 'png'}, 
											{isBaseLayer:false});
	rosreestr.projection = "EPSG:3857";

  	var mapoptions = {
        projection: "EPSG:900913",
        sphericalMercator: true,
	    units: "m", 
	    numZoomLevels:18,
        maxResolution: 156543.0339,
        maxExtent: new OpenLayers.Bounds(-128 * 156543.0339, -128 * 156543.0339, 128 * 156543.0339, 128 * 156543.0339)
	}; 
   
    map = new OpenLayers.Map("map", mapoptions);

    map.addLayers([OSM_map, rosreestr]);
Если слой Росреестра сделать базовым - все работает, иначе OpenLayers запрашивает информацию с EPSG:900913, а сервер отвечает invalid srs

Re: OpenLayers: одинаковые проекции с разными кодами

Добавлено: 15 май 2012, 06:51
Denis Rykov
Не смог воспроизвести вашу проблему, вот пример, всё как вы написали, но в моём случае это работает.

Re: OpenLayers: одинаковые проекции с разными кодами

Добавлено: 16 май 2012, 20:51
AntonAD
Denis Rykov писал(а):Не смог воспроизвести вашу проблему, вот пример, всё как вы написали, но в моём случае это работает.
Огромное спасибо, действительно код одинаковый, просто у меня OpanLayers.js 2010 года, а у Вас 2011.
Обновил, все ок.