Коллеги!
У меня такая проблема: создано несколько слоев в GeoServer в системе координат EPSG:4326. С использованием OpenLayers не получается эти слои отобразить на плоскости, т.е. визуально объекты как бы "приплюснуты". Но, если эти WMS слои наложить на Google, то они отображаются именно в плоскости (но только при одном масштабе!). 
При изменении масштаба WMS слои не отображаются и управление ими блокируется.
Вот кусочек кода клиента:
        var bounds = new OpenLayers.Bounds(
                60.5988502502441, 56.832691192627,
                60.6119728088379, 56.8392524719238
        );
            var options = {
                controls: [],
                maxExtent: bounds,
                maxResolution: 'auto',
                units: 'degrees',
                minZoomLevel: 3,
                maxZoomLevel: 9,
                numZoomLevels: 19
            };
            map = new OpenLayers.Map('map', options);
            ...
            var gsat = new OpenLayers.Layer.Google(
                "Google Satellite",
                {type: G_SATELLITE_MAP}
            );
            var bld_overlay = new OpenLayers.Layer.WMS(
                    "WMS layer",
                    wms_srv_url,
                    {
                        layers: 'demo:border,demo:lands',
                        tiled: 'true',
                        transparent: 'TRUE'
                    },
                    {'reproject': true}
            );
            ...
           map.addLayers([gsat,bld_overlay]);
У меня два вопроса:
1. Как отобразить WMS слои в системе координат WGS84 на план-схеме без использования Google Maps?
2. Как отображать WMS слои (и управлять ими) на Google Maps при любом масштабе?
GeoServer 1.6.2, OpenLayers (rev.:4899), IE
ps: пробовал играться со sphericalMercator, использовал EPSG:900913, толку мало...
Спасибо!
			
			
									
						
										
						WMS слои на план-схеме, масшатбирование и Google Maps
- 
				alex.leshy
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 05 июл 2008, 08:23
- Репутация: 0
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
что значит приплюснуты и почему по вашему это неправильно? возможно это и есть Geographic/WGS84?
см. для сравнения первую картинку вот здесь
http://gis-lab.info/docs/giscourse/08-coords.html
			
			
									
						
							см. для сравнения первую картинку вот здесь
http://gis-lab.info/docs/giscourse/08-coords.html
пристегивайтесь, турбулентность прямо по курсу
			
						- 
				alex.leshy
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 05 июл 2008, 08:23
- Репутация: 0
Проблема исключительно в отображении данных пользователю. Данные отображаются в системе координат WGS84 (т.е. объекты расположены на сфере, это и есть "приплюснутость"), а пользователи привыкли работать с проекцией на плоскости (в MapInfo, например)... Так вот, наложение имеющихся слоев (в WGS84) на снимки Google приводит к нужному эффекту (визуально, объекты расположены на плоскости, на сколько я понял из статьи, азимутальная проекция). Но как мне добиться этого эффекта без Google? Настраивать проекцию?
			
			
									
						
										
						- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
- 
				alex.leshy
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 05 июл 2008, 08:23
- Репутация: 0
в том то и дело, что "попросить отдать" не очень получается 
на сколько я понимаю, это делается через настройку параметра displayProjection у объекта OpenLayers.Map
делаю так:
var options = {
controls: [],
maxExtent: bounds,
maxResolution: 'auto',
projection: "EPSG:4326",
displayProjection: "EPSG:28411",
units: 'm'
};
map = new OpenLayers.Map('map', options);
визуально ничего не меняется, такое ощущение, что displayProjection просто игнорируется...
			
			
									
						
										
						
на сколько я понимаю, это делается через настройку параметра displayProjection у объекта OpenLayers.Map
делаю так:
var options = {
controls: [],
maxExtent: bounds,
maxResolution: 'auto',
projection: "EPSG:4326",
displayProjection: "EPSG:28411",
units: 'm'
};
map = new OpenLayers.Map('map', options);
визуально ничего не меняется, такое ощущение, что displayProjection просто игнорируется...
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей
