GIS-LAB

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


Форумы GIS-Lab.info

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


OpenLayers: начало работы

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

OpenLayers: начало работы

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

Обсуждение статьи "OpenLayers: начало работы"

http://gis-lab.info/qa/openlayers-begin.html
  • 0

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

Re: OpenLayers: начало работы

Сообщение bazin_r » 14 дек 2009, 14:20

Здравствуйте. Спасибо, замечательная статья. Все получилось, все отлично. Только вот возник вопрос, у меня на слоях присутствуют надписи (например название районов, субъектов) и при таком отображении надписи повторяются. Возможно ли решение этой проблемы и какое?
  • 0

bazin_r
Новоприбывший
 
Зарегистрирован: 14 дек 2009
 
Сообщения: 1
Репутация: 0

Re: OpenLayers: начало работы

Сообщение Mavka » 14 дек 2009, 14:54

просто - singleTile.
сложно - кэш-сервер типа GeoWebCache
  • 0

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

Re: OpenLayers: начало работы

Сообщение geodata » 18 янв 2010, 01:33

2й пример неработает http://gis-lab.info/qa/openlayers-example2.html непрогружается растр :(
  • 1

geodata
Новоприбывший
 
Зарегистрирован: 08 янв 2010
 
Сообщения: 10
Репутация: 1

Re: OpenLayers: начало работы

Сообщение Максим Дубинин » 18 янв 2010, 01:59

WMS, который использовался в примере, упал
изменил пример на использование нашего домашнего, вроде работает
  • 0

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

Re: OpenLayers: начало работы

Сообщение Petr » 14 мар 2010, 15:35

У меня не получается подключить WMS слой. Сервер выдает следующую ошибку:
"msWMSLoadGetMapParams(): WMS server error. Invalis SRS given: SRS must be valid or all reqested layers."

На сколько я понимаю ошибка в этой строчке:
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/kurs/kursWMS2.map", {layers: 'mest'} );

ArcGIS с WMS сервисом работает нормально, т.е. сам мап файл составлен правильно.
  • 0

Petr
Интересующийся
 
Зарегистрирован: 05 янв 2010
 
Сообщения: 36
Репутация: 0

Re: OpenLayers: начало работы

Сообщение Mavka » 15 мар 2010, 11:10

1. Если ему не нравится система координат, то посмотрите какие запросы уходят на сервер. Это можно узнать в логах Apache, или в Firefox - Firebug и WMS Inspector.
2. Ну и проверить какую глобальную СК вы задали при создании объекта map:
Код: Выделить всё
map = new OpenLayers.Map('map', {
    projection: new OpenLayers.Projection('EPSG:900913'),
 
  • 0

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

Re: OpenLayers: начало работы

Сообщение Petr » 17 мар 2010, 10:29

Mavka писал(а):1. Если ему не нравится система координат, то посмотрите какие запросы уходят на сервер. Это можно узнать в логах Apache, или в Firefox - Firebug и WMS Inspector.
2. Ну и проверить какую глобальную СК вы задали при создании объекта map:
Код: Выделить всё
map = new OpenLayers.Map('map', {
    projection: new OpenLayers.Projection('EPSG:900913'),
 


Правильно ли я указываю систему координат в самом МАП файле. Шейпы у меня в Пулкова 42 года/ проекция Гауса Крюгера 11 зона. http://spatialreference.org/ref/epsg/28411/
Код: Выделить всё
MAP
 ....
  PROJECTION
   "init=EPSG:28411"
  END
 .....


В общем то АрГис при подключение к WMS сервису работает и получает шейпы полностью нормально.
На сколько я понял надо указать систему координат в html файле на OpenLayers|?
  • 0

Petr
Интересующийся
 
Зарегистрирован: 05 янв 2010
 
Сообщения: 36
Репутация: 0

Re: OpenLayers: начало работы

Сообщение Mavka » 17 мар 2010, 11:26

АрГис при подключение к WMS сервису работает и получает шейпы полностью нормально

Вот и славненько. А вообще то, в предыдущем посте я давал ссылку. Прочитайте статью полностью.
Не видя код инициализации карты и слоя никто не станет гадать почему карта не работает.
  • 0

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

Re: OpenLayers: начало работы

Сообщение Petr » 18 мар 2010, 23:22

Апач пишет следующий лог:
Код: Выделить всё
127.0.0.1 - - [18/Mar/2010:23:56:25 +0500] "GET /cgi-bin/mapserv.exe?map=/ms4w/apps/kurs/kursWMS2.map&LAYERS=mest&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&FORMAT=image%2Fjpeg&SRS=EPSG%3A4326&BBOX=-180,0,-90,90&WIDTH=256&HEIGHT=256 HTTP/1.1" 200 5424


Вроде все в порядке, единственное смущает EPSG%3A4326, МапСервер кодирует чило...? как уже писал я задавал EPSG:28411

Если открывать мап-файл через браузер (не использую OpenLeyers), то все нормально.
Поэтому я думаю ошибка в работе с OpenLeyers, хотя может быть я ошибся при добавлении параметров WMS сервиса в мап-файл, но АрГИС все прекрасно понимает...

Поэтому привожу текст только текст с OpenLeyers.
Код: Выделить всё
<html>
<head>
  <title>My VKR</title>
    <script
    src="OpenLayers-2.8/OpenLayers.js"></script>
    </head>
    <body>
      <div style="width:100%; height:100%" id="map"></div>
      <script defer="defer" type="text/javascript">
        var map = new OpenLayers.Map('map');
        var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/kurs/kursWMS2.map", {layers: 'mest'} );
        map.addLayer(wms);
        map.zoomToMaxExtent();
      </script>
</body>
</html>
  • 0

Petr
Интересующийся
 
Зарегистрирован: 05 янв 2010
 
Сообщения: 36
Репутация: 0

Re: OpenLayers: начало работы

Сообщение Mavka » 23 мар 2010, 15:25

1. Откройте в браузере ссылку
http://wms-server
/cgi-bin/mapserv.exe?map=/ms4w/apps/kurs/kursWMS2.map&LAYERS=mest&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&FORMAT=image%2Fjpeg&SRS=EPSG%3A4326&BBOX=-180,0,-90,90&WIDTH=256&HEIGHT=256

2. Замените map.zoomToMaxExtent() на map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
  • 0

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

Re: OpenLayers: начало работы

Сообщение Petr » 24 мар 2010, 12:15

Mavka писал(а):1. Откройте в браузере ссылку
http://wms-server
/cgi-bin/mapserv.exe?map=/ms4w/apps/kurs/kursWMS2.map&LAYERS=mest&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&FORMAT=image%2Fjpeg&SRS=EPSG%3A4326&BBOX=-180,0,-90,90&WIDTH=256&HEIGHT=256


2. Замените map.zoomToMaxExtent() на map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);



Сделал и то и другое. Результат тот же: "msWMSLoadGetMapParams(): WMS server error. Invalis SRS given: SRS must be valid or all reqested layers."
  • 0

Petr
Интересующийся
 
Зарегистрирован: 05 янв 2010
 
Сообщения: 36
Репутация: 0

Re: OpenLayers: начало работы

Сообщение Mavka » 24 мар 2010, 13:30

Проверяйте все что связано с системой координат в map-файле, скорее всего где то здесь:
Код: Выделить всё
WEB
    METADATA
        wms_onlineresource    
"http://wms-server/cgi-bin/mapserv.exe?map=/ms4w/apps/kurs/&"
        wms_srs               "epsg:4326"
    END
END 
  • 0

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

Re: OpenLayers: начало работы

Сообщение Petr » 24 мар 2010, 14:45

У меня еще вопрос, почему в следуюшем коде из примера статьи путь до папки, а не файла?

Код: Выделить всё
  var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
  • 0

Petr
Интересующийся
 
Зарегистрирован: 05 янв 2010
 
Сообщения: 36
Репутация: 0

Re: OpenLayers: начало работы

Сообщение Petr » 24 мар 2010, 14:57

Вроде с проекцией все верно.
вот код:

Код: Выделить всё
MAP
  ....
    WEB
 
   METADATA
               ...
          wms_onlineresource     "http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/kurs/kursWMS2.map&"
      wms_srs "EPSG:28411"   
   END
END

  PROJECTION
    "init=EPSG:28411"
  END
...
# слой КВАРЦ++++++++++++++++++++++++++++++++++++++++++++++++
  LAYER
    NAME         mest
    DATA         mastoroj
    STATUS       ON
    TYPE         POINT
   TEMPLATE     "dummy"
   LABELITEM    "ClassName"
   
   PROJECTION
      "init=EPSG:28411"
    END
   
    TOLERANCE 5  # точность "попадания" - 5 пикселей
    HEADER '/ms4w/apps/kurs/templates/templ_head.html'    # местонахождение
    FOOTER '/ms4w/apps/kurs//templates/templ_footer.html'  # шаблонов для генерации
    TEMPLATE '/ms4w/apps/kurs/templates/templ_query.html' # ответов на запрос


    CLASS
       NAME      "Месторождения кварца"
      STYLE
          COLOR  255 0 2
        SYMBOL   'circle2'
        OUTLINECOLOR 32 32 32
       END
    
     LABEL
        COLOR                 32 31 31
        SHADOWCOLOR    240 240 240
        SHADOWSIZE        1 1
        TYPE                     TRUETYPE
        FONT                    arial
        SIZE                      10
        ANTIALIAS             TRUE
        POSITION              CL
        PARTIALS              FALSE
        MINDISTANCE        100
        BUFFER                 3
        ENCODING             CP1251
      END
     END
   METADATA
      wms_title                   "Kvarz"
      wms_abstract             "Kvarz test"
      wms_srs                     "EPSG:28411"
      wms_include_items     "all"
    END
  END
# конец слоя КВАРЦ-------------------------------------------------

END # Конец определения карты
  • 0

Petr
Интересующийся
 
Зарегистрирован: 05 янв 2010
 
Сообщения: 36
Репутация: 0

След.

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

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

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


(Геокруг)

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