OpenLayers и WFS (GeoServer)

Решенные задачи, первая запись - описание решения.
eternal
Интересующийся
Сообщения: 26
Зарегистрирован: 26 июл 2010, 17:45
Репутация: 0

Re: OpenLayers и WFS (GeoServer)

Сообщение eternal » 10 ноя 2010, 15:49

1 ошибка: Access to restricted URI denied" code: "1012
[Break on this error] this._object.send(vData);if(bGecko&&!t...dyStateChange(this);if(this._aborted)

OpenLayers.js (строка 1188)

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

Re: OpenLayers и WFS (GeoServer)

Сообщение Mavka » 10 ноя 2010, 16:08

И ничего больше?
лангольеры под окном жрали время ом-ном-ном

eternal
Интересующийся
Сообщения: 26
Зарегистрирован: 26 июл 2010, 17:45
Репутация: 0

Re: OpenLayers и WFS (GeoServer)

Сообщение eternal » 10 ноя 2010, 17:35

ну я не очень разбираюсь в firebug, немного покопался, нашел только это, если поможет вот вся строчка из openlayers.js целиком
this._object.send(vData);if(bGecko&&!this._async){this.readyState=cXMLHttpRequest.OPENED;fSynchronizeValues(this);while(this.readyState<cXMLHttpRequest.DONE){this.readyState++;fReadyStateChange(this);if(this._aborted)
может быть все таки проблемы с исполнением proxy.cgi, потому что проверку по ссылке не проходит
http://trac.osgeo.org/openlayers/wiki/F ... #ProxyHost

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

Re: OpenLayers и WFS (GeoServer)

Сообщение Mavka » 10 ноя 2010, 17:41

На закладке "Консоль" выше этой ошибки были сообщения типа:

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

POST http://gis-lab.info/cgi-bin/proxy.cgi?url=http://gis-lab.info/...
Запрос уходил или нет?

Прокси. Вы же сказали что по ссылке открывается OpenLayers? Если так, то он работает.
лангольеры под окном жрали время ом-ном-ном

eternal
Интересующийся
Сообщения: 26
Зарегистрирован: 26 июл 2010, 17:45
Репутация: 0

Re: OpenLayers и WFS (GeoServer)

Сообщение eternal » 10 ноя 2010, 18:19

проверку (proxy)по ссылке с этой темы проходит, а вот по второй нет... я подумал если принцип действия одинаковый то и там должно работать.
А в консоли только это сообщение
Вложения
123.jpg
123.jpg (50.27 КБ) 7246 просмотров

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

Re: OpenLayers и WFS (GeoServer)

Сообщение Mavka » 10 ноя 2010, 19:16

Ошибка 1012 означает "cross domain Ajax request"
1. Покажите какой у вас путь к прокси и путь к веб-странице.
2. Проверьте наличие OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";
лангольеры под окном жрали время ом-ном-ном

eternal
Интересующийся
Сообщения: 26
Зарегистрирован: 26 июл 2010, 17:45
Репутация: 0

Re: OpenLayers и WFS (GeoServer)

Сообщение eternal » 10 ноя 2010, 19:32

путь к прокси : C:\OSGeo4W\bin
путь к сайту : D:\blaqdog\wfs
и в коде прописано вот так : OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";

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

Re: OpenLayers и WFS (GeoServer)

Сообщение Mavka » 10 ноя 2010, 20:08

лангольеры под окном жрали время ом-ном-ном

eternal
Интересующийся
Сообщения: 26
Зарегистрирован: 26 июл 2010, 17:45
Репутация: 0

Re: OpenLayers и WFS (GeoServer)

Сообщение eternal » 10 ноя 2010, 22:34

только что понял что файлы сайта лежали не там где нужно, переложил:
сайт - расположение C:\OSGeo4W\apache\htdocs\wfs адрес http://localhost/wfs/
прокси расположение C:\OSGeo4W\apache\cgi-bin ,адрес не знаю, если ввести http://localhost/cgi-bin/proxy.cgi то открывается openlayers
ссылка на прокси в коде - "../../cgi-bin/proxy.cgi?url="
При загрузке страницы картинка такая же, FireBug пишет 2 ошибки:

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

<?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport version="1.0.0"
  xsi:schemaLocation="http://www.opengis.net/ows http://localhost:8080/geoserver/schemas/ows/1.0.0/owsExceptionReport.xsd"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows">
  <ows:Exception exceptionCode="MissingParameterValue" locator="request">
    <ows:ExceptionText>Could not determine geoserver request from http request GET /geoserver/wfs HTTP/1.1
Accept-Encoding: identity&#xd;
Host: localhost:8080&#xd;
Connection: close&#xd;
User-Agent: Python-urllib/2.7&#xd;
&#xd;
</ows:ExceptionText>
  </ows:Exception>

</ows:ExceptionReport>
и
при раскрытии 2ой ошибки указывает на строку с открывающим тегом <head>
Вложения
123.jpg
123.jpg (100.23 КБ) 7225 просмотров

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

Re: OpenLayers и WFS (GeoServer)

Сообщение Mavka » 11 ноя 2010, 17:03

Приведенный код - это содержимое первой строки консоли?
Если судить по этому:

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

<ows:Exception exceptionCode="MissingParameterValue" locator="request"> 
то в запросе не хватало параметра 'request'. Откуда он там?

Откройте POST и в нем закладку Post. Сравните с моим:

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

<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs"
                service="WFS" version="1.0.0"
                xsi:schemaLocation="http://www.opengis.net/wfs
                                    http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                
    <wfs:Query typeName="feature:mylayer" xmlns:feature="http://gis-lab.info/ornito"/>
</wfs:GetFeature> 
лангольеры под окном жрали время ом-ном-ном

eternal
Интересующийся
Сообщения: 26
Зарегистрирован: 26 июл 2010, 17:45
Репутация: 0

Re: OpenLayers и WFS (GeoServer)

Сообщение eternal » 11 ноя 2010, 19:11

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

<wfs:getfeature xmlns:wfs="http://www.opengis.net/wfs"
                        service="WFS" version="1.1.0"
                        xsi:schemaLocation="http://www.opengis.net/wfs
                                            http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <wfs:query typeName="feature:belgorod-bound" srsName="EPSG:4326" xmlns:feature="http://my.ru">
</wfs:query></wfs:getfeature>

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

Re: OpenLayers и WFS (GeoServer)

Сообщение Mavka » 11 ноя 2010, 19:17

А в qgis этот слой по WFS работает?
лангольеры под окном жрали время ом-ном-ном

eternal
Интересующийся
Сообщения: 26
Зарегистрирован: 26 июл 2010, 17:45
Репутация: 0

Re: OpenLayers и WFS (GeoServer)

Сообщение eternal » 11 ноя 2010, 21:42

Как правильно добавлять WFS или WMS слой?
Даю название подключению, а какой адрес вводить, пробовал http://localhost:8080/geoserver и http://localhost/wfs/
при попытке соединения пишет Не удалось обработать ответ. Сообщение источника wms:
Не удалось получить возможности WMS: tag mismatch в строке 75, столбец 78
Вероятно, неверно указан URL WMS-сервера.
и дальше html код
может быть все таки важно то что я не смог создать WFS(хранилище) в Geoserver , слой хранится в Shapefile ,
просто вы сказали "в GeoServer любой слой доступен как WMS так и WFS"

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

Re: OpenLayers и WFS (GeoServer)

Сообщение Mavka » 12 ноя 2010, 09:13

URL такого вида (этот рабочий, можете проверить):
http://gis-lab.info:8180/geoserver/wms
http://gis-lab.info:8180/geoserver/wfs
у вас будет другой номер порта (8080).
лангольеры под окном жрали время ом-ном-ном

eternal
Интересующийся
Сообщения: 26
Зарегистрирован: 26 июл 2010, 17:45
Репутация: 0

Re: OpenLayers и WFS (GeoServer)

Сообщение eternal » 12 ноя 2010, 14:51

http://localhost:8080/geoserver/wms
http://localhost:8080/geoserver/wfs
работает, выбрал этот слой и открыл в WMS и в WFS

Ответить

Вернуться в «Рецепты»