GIS-LAB

Географические информационные системы и дистанционное зондирование


Форумы GIS-Lab.info

Геоинформационные системы (ГИС) и Дистанционное зондирование Земли


Способы отображения данных с помощью OpenLayers

Обсуждение материалов сайта: вопросы, замечания, предложения

Способы отображения данных с помощью OpenLayers

Сообщение updates-bot » 16 янв 2009, 07:13

Обсуждение статьи "Способы отображения данных с помощью OpenLayers"

http://gis-lab.info/qa/ol-load.html
  • 0

updates-bot
Bot
 
Зарегистрирован: 04 фев 2008
 
Сообщения: 276
Репутация: 2

Re: Способы отображения данных с помощью OpenLayers

Сообщение Максим Дубинин » 07 фев 2009, 07:26

Обновление 06.02.2009: добавлен пример вектор+google с учетом системы координат, по мотивам
  • 0

пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8865
Репутация: 627
Статьи: 231
Проекты: 12/6

Re: Способы отображения данных с помощью OpenLayers

Сообщение Denis Rykov » 31 авг 2009, 02:08

В разделе 2 "Отображение слоя WMS" не отображается карта.
  • 0

Spatial is now, more than ever, just another column- The Geometry Column.
Аватара пользователя
Denis Rykov
Author
 
Зарегистрирован: 11 апр 2008
 
Сообщения: 3265
Репутация: 478
Статьи: 33
Проекты: 9

Re: Способы отображения данных с помощью OpenLayers

Сообщение Mavka » 28 фев 2010, 19:49

Параметр
reproject: true

в версии 2.8 признан устаревшим, т.к. большинство серверов WMS уже умеют сами выдавать тайлы в EPSG:900913 (пруфлинк не привожу, комментарий дан в тексте файла wms.js).

Текущие рекомендации выглядят так. Создаем карту:
Код: Выделить всё
map = new OpenLayers.Map('map', {
    projection: new OpenLayers.Projection('EPSG:900913'),
    units: 'm',
    maxResolution: 156543.0339,
    maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34),
});
 

Подключаем Google Maps и слой WMS:
Код: Выделить всё
var layer_goo = new OpenLayers.Layer.Google('Google Map',
    {type: G_NORMAL_MAP, sphericalMercator: true}
);
var layer_wms = new OpenLayers.Layer.WMS('wms',
    url_server + '/geoserver/wms/',
    {layers: 'mylayer'},
);
 

Обратите внимание, если для layer_goo не указать "sphericalMercator: true", то слой внешне будет работать правильно. Но layer_wms показывать ничего не будет. Дело в том, что при этом на wms-сервер отправляются запросы с SRS=epsg:900913, а BBOX рассчитывается как для epsg:4326.
  • 0

лангольеры под окном жрали время ом-ном-ном
Аватара пользователя
Mavka
Гуру
 
Зарегистрирован: 14 мар 2008
 
Сообщения: 2060
Репутация: 9
Статьи: 11
Проекты: 2/1

Re: Способы отображения данных с помощью OpenLayers

Сообщение Mavka » 10 июл 2010, 15:57

Google Maps V3 for OpenLayers (применительно к OpenLayers 2.10)

  1. Больше не требуется получать персональный ключ (API key).
  2. Типы слоев переименовали (G_PHYSICAL_MAP -> google.maps.MapTypeId.TERRAIN).
  3. OpenLayers.Map автоматически настраивается на сферический меркатор (EPSG:900913), экстент, ед. измерения и список расширений (масштабов)

Устаревшая версии API v2 будет поддерживаться еще 3 года (Terms of Service, 4.4 Termination of the Service).
  • 0

Последний раз редактировалось Mavka 05 ноя 2010, 18:36, всего редактировалось 1 раз.
лангольеры под окном жрали время ом-ном-ном
Аватара пользователя
Mavka
Гуру
 
Зарегистрирован: 14 мар 2008
 
Сообщения: 2060
Репутация: 9
Статьи: 11
Проекты: 2/1

Re: Способы отображения данных с помощью OpenLayers

Сообщение Konstantin Tokar » 10 июл 2010, 17:46

Одна беда - всё ещё для коммерческого применения надо покупать лицензию...
  • 0

Konstantin Tokar
Активный участник
 
Зарегистрирован: 16 июл 2008
Откуда: Москва (на карте)
 
Сообщения: 177
Репутация: 0

Re: Способы отображения данных с помощью OpenLayers

Сообщение Mavka » 14 мар 2011, 12:13

Глянул один свой старый проект и увидел что слой Google показывает большое некрасивое окно "Данные карты". Типа этого:
Изображение

Решается это так. В коде карты ничего не меняем:
Код: Выделить всё
var lay_goo = new OpenLayers.Layer.Google('Google Streets',
    {numZoomLevels: 20, sphericalMercator: true}
);
 

А в импорте библиотеки нужно явно указать версию:
Было - <script src="http://maps.google.com/maps/api/js?sensor=false"></script>
Стало - <script src="http://maps.google.com/maps/api/js?v=3.2&amp;sensor=false"></script>
  • 0

Последний раз редактировалось Mavka 05 сен 2011, 09:46, всего редактировалось 1 раз.
лангольеры под окном жрали время ом-ном-ном
Аватара пользователя
Mavka
Гуру
 
Зарегистрирован: 14 мар 2008
 
Сообщения: 2060
Репутация: 9
Статьи: 11
Проекты: 2/1

Re: Способы отображения данных с помощью OpenLayers

Сообщение Mavka » 02 июл 2011, 01:28

Проблема опять объявилась и указание версии ее не решает, перебил в стилях на
Код: Выделить всё
.olLayerGoogleCopyright {
    
visibilityhidden;

Пока работает. Вроде бы в рассылке уверяли что в транке все исправлено, но подтверждения не нахожу.
  • 0

лангольеры под окном жрали время ом-ном-ном
Аватара пользователя
Mavka
Гуру
 
Зарегистрирован: 14 мар 2008
 
Сообщения: 2060
Репутация: 9
Статьи: 11
Проекты: 2/1

Re: Способы отображения данных с помощью OpenLayers

Сообщение Mavka » 02 июл 2011, 16:23

Ticket #2984 - решение аналогичное. Или качаем trunk и пользуемся готовым. К тому же там появился нормальный Bing (но нужен ключ), а то Virtual Earth я так и не смог заставить работать.
  • 0

лангольеры под окном жрали время ом-ном-ном
Аватара пользователя
Mavka
Гуру
 
Зарегистрирован: 14 мар 2008
 
Сообщения: 2060
Репутация: 9
Статьи: 11
Проекты: 2/1

Re: Способы отображения данных с помощью OpenLayers

Сообщение native » 29 ноя 2011, 10:42

Во втором и третьем примере розовые квадраты.
  • 0

native
Интересующийся
 
Зарегистрирован: 09 ноя 2011
 
Сообщения: 26
Репутация: 0

Re: Способы отображения данных с помощью OpenLayers

Сообщение Denis Rykov » 29 ноя 2011, 13:50

native писал(а):Во втором и третьем примере розовые квадраты.

Исправил.
  • 0

Spatial is now, more than ever, just another column- The Geometry Column.
Аватара пользователя
Denis Rykov
Author
 
Зарегистрирован: 11 апр 2008
 
Сообщения: 3265
Репутация: 478
Статьи: 33
Проекты: 9

Re: Способы отображения данных с помощью OpenLayers

Сообщение Denis Rykov » 29 ноя 2011, 14:43

Еще, свойство reproject, описываемое в данной статье на текущий день является Deprecated. Актуальный подход описан тут.
  • 0

Spatial is now, more than ever, just another column- The Geometry Column.
Аватара пользователя
Denis Rykov
Author
 
Зарегистрирован: 11 апр 2008
 
Сообщения: 3265
Репутация: 478
Статьи: 33
Проекты: 9


Вернуться в Материалы сайта

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


(Геокруг)

© GIS-Lab и авторы, 2002-2013. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов (подробнее).