OpenLayers: начало работы
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
OpenLayers: начало работы
пристегивайтесь, турбулентность прямо по курсу
-
- Новоприбывший
- Сообщения: 1
- Зарегистрирован: 14 дек 2009, 12:55
- Репутация: 0
Re: OpenLayers: начало работы
Здравствуйте. Спасибо, замечательная статья. Все получилось, все отлично. Только вот возник вопрос, у меня на слоях присутствуют надписи (например название районов, субъектов) и при таком отображении надписи повторяются. Возможно ли решение этой проблемы и какое?
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: OpenLayers: начало работы
просто - singleTile.
сложно - кэш-сервер типа GeoWebCache
сложно - кэш-сервер типа GeoWebCache
лангольеры под окном жрали время ом-ном-ном
-
- Новоприбывший
- Сообщения: 10
- Зарегистрирован: 08 янв 2010, 04:29
- Репутация: 1
- Контактная информация:
Re: OpenLayers: начало работы
2й пример неработает http://gis-lab.info/qa/openlayers-example2.html непрогружается растр
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: OpenLayers: начало работы
WMS, который использовался в примере, упал
изменил пример на использование нашего домашнего, вроде работает
изменил пример на использование нашего домашнего, вроде работает
пристегивайтесь, турбулентность прямо по курсу
-
- Интересующийся
- Сообщения: 36
- Зарегистрирован: 05 янв 2010, 17:21
- Репутация: 0
- Контактная информация:
Re: OpenLayers: начало работы
У меня не получается подключить 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?ma ... rsWMS2.map", {layers: 'mest'} );
ArcGIS с 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?ma ... rsWMS2.map", {layers: 'mest'} );
ArcGIS с WMS сервисом работает нормально, т.е. сам мап файл составлен правильно.
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: OpenLayers: начало работы
1. Если ему не нравится система координат, то посмотрите какие запросы уходят на сервер. Это можно узнать в логах Apache, или в Firefox - Firebug и WMS Inspector.
2. Ну и проверить какую глобальную СК вы задали при создании объекта map:
2. Ну и проверить какую глобальную СК вы задали при создании объекта map:
Код: Выделить всё
map = new OpenLayers.Map('map', {
projection: new OpenLayers.Projection('EPSG:900913'),
лангольеры под окном жрали время ом-ном-ном
-
- Интересующийся
- Сообщения: 36
- Зарегистрирован: 05 янв 2010, 17:21
- Репутация: 0
- Контактная информация:
Re: OpenLayers: начало работы
Правильно ли я указываю систему координат в самом МАП файле. Шейпы у меня в Пулкова 42 года/ проекция Гауса Крюгера 11 зона. http://spatialreference.org/ref/epsg/28411/Mavka писал(а):1. Если ему не нравится система координат, то посмотрите какие запросы уходят на сервер. Это можно узнать в логах Apache, или в Firefox - Firebug и WMS Inspector.
2. Ну и проверить какую глобальную СК вы задали при создании объекта map:Код: Выделить всё
map = new OpenLayers.Map('map', { projection: new OpenLayers.Projection('EPSG:900913'),
Код: Выделить всё
MAP
....
PROJECTION
"init=EPSG:28411"
END
.....
На сколько я понял надо указать систему координат в html файле на OpenLayers|?
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: OpenLayers: начало работы
Вот и славненько. А вообще то, в предыдущем посте я давал ссылку. Прочитайте статью полностью.АрГис при подключение к WMS сервису работает и получает шейпы полностью нормально
Не видя код инициализации карты и слоя никто не станет гадать почему карта не работает.
лангольеры под окном жрали время ом-ном-ном
-
- Интересующийся
- Сообщения: 36
- Зарегистрирован: 05 янв 2010, 17:21
- Репутация: 0
- Контактная информация:
Re: OpenLayers: начало работы
Апач пишет следующий лог:
Вроде все в порядке, единственное смущает EPSG%3A4326, МапСервер кодирует чило...? как уже писал я задавал EPSG:28411
Если открывать мап-файл через браузер (не использую OpenLeyers), то все нормально.
Поэтому я думаю ошибка в работе с OpenLeyers, хотя может быть я ошибся при добавлении параметров WMS сервиса в мап-файл, но АрГИС все прекрасно понимает...
Поэтому привожу текст только текст с OpenLeyers.
Код: Выделить всё
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
Если открывать мап-файл через браузер (не использую 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>
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: OpenLayers: начало работы
1. Откройте в браузере ссылку
2. Замените map.zoomToMaxExtent() на map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);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
лангольеры под окном жрали время ом-ном-ном
-
- Интересующийся
- Сообщения: 36
- Зарегистрирован: 05 янв 2010, 17:21
- Репутация: 0
- Контактная информация:
Re: OpenLayers: начало работы
Mavka писал(а):1. Откройте в браузере ссылку2. Замените map.zoomToMaxExtent() на map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);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
Сделал и то и другое. Результат тот же: "msWMSLoadGetMapParams(): WMS server error. Invalis SRS given: SRS must be valid or all reqested layers."
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: OpenLayers: начало работы
Проверяйте все что связано с системой координат в map-файле, скорее всего где то здесь:
Код: Выделить всё
WEB
METADATA
wms_onlineresource "http://wms-server/cgi-bin/mapserv.exe?map=/ms4w/apps/kurs/&"
wms_srs "epsg:4326"
END
END
лангольеры под окном жрали время ом-ном-ном
-
- Интересующийся
- Сообщения: 36
- Зарегистрирован: 05 янв 2010, 17:21
- Репутация: 0
- Контактная информация:
Re: OpenLayers: начало работы
У меня еще вопрос, почему в следуюшем коде из примера статьи путь до папки, а не файла?
Код: Выделить всё
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://labs.metacarta.com/wms/vmap0", {layers: 'basic'} );
-
- Интересующийся
- Сообщения: 36
- Зарегистрирован: 05 янв 2010, 17:21
- Репутация: 0
- Контактная информация:
Re: OpenLayers: начало работы
Вроде с проекцией все верно.
вот код:
вот код:
Код: Выделить всё
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 гостей