Hi Peter,
AFAIK QGIS server does not cascade GetFeaureInfo requests for cascaded
WMS layers - does geoserver do this?
So if you need GetFeatureInfo you have to load the layers directly from
source (PostGIS) into your QGIS project (makes more sense anyway)
Bernhard
Am 21.01.2014 16:25, schrieb Peter Len:
An interesting update to this...... So the scenario that has not been working
looks something like this:
OpenLayers --> QGIS Server --> QGIS Project File --> GeoServer --> PostGIS
I decided to run a test and create a new project file with the same layer
(location_view) but this time create a PostGIS layer rather than a WMS layer
going to GeoServer. In this case, the scenario looks like:
OpenLayers --> QGIS Server --> QGIS Project File --> PostGIS
So, given that, it appears that something else might be going on. QGIS Server
does seem to be serving up feature information, but not in all scenarios. Not
sure what the hiccup is between QGIS Server and GeoServer but I know that URLs
from OpenLayers directly to GeoServer for feature info works fine.
-----Original Message-----
From: Alex Mandel<tech_...@wildintellect.com>
Sent: Jan 20, 2014 7:49 PM
To: Peter Len<petera...@earthlink.net>, qgis-user@lists.osgeo.org
Subject: Re: [Qgis-user] QGIS Server a GetFeatureInfo request problems. Not
sure what I am missing.
The method I use to troubleshoot these kinds of things involves using
the Firebug extension in Firefox. Where you can see what the WMS request
being sent looks like (NET tab), copy and paste it, manipulate it by
hand until it works and then figure out how to make Openlayers send it
that way.
Thanks,
Alex
On 01/20/2014 12:44 PM, Peter Len wrote:
Alex - Thanks for the reply. Initially, I was trying to run this test using a project file where I
used the "map" parameter in the layer definition. This got the layers to display within
OpenLayers but the GetFeatureInfo request was not working. I then went back to having the project
file in the QGIS Server's bin directory so that no file name has to be listed. That is the setup I
was using in the examples I provided. I went back and ran another test when using a file at some
path and used your "vendorParams" example, but the outcome is the same.
-----Original Message-----
From: Alex Mandel<tech_...@wildintellect.com>
Sent: Jan 20, 2014 3:34 PM
To: Peter Len<petera...@earthlink.net>, qgis-user@lists.osgeo.org
Subject: Re: [Qgis-user] QGIS Server a GetFeatureInfo request problems. Not
sure what I am missing.
On 01/20/2014 12:19 PM, Peter Len wrote:
I am using QGIS Server that is running in my OSGeo Apache web server (on
Windows 7). Not sure what version the QGIS Server is but it was from the
latest OSGeo4W installer. I was testing an OpenLayers client to view a QGIS
Desktop project file over WMS from the QGIS Server. All seems good with that.
For example, my OpenLayers code to get this looks like:
var url = "http://localhost:8090/qgis/qgis_mapserv.fcgi.exe";
var layer = new OpenLayers.Layer.WMS( "Main Layer", url, {
layers: 'table_poly,location_view',
format: 'image/png',
},
{
buffer: 1,
isBaseLayer: true,
graphicZIndex: 0,
}
);
map.addLayers([layer]);
With the above, I can view my layers within OpenLayers. My next test was to
see if I could get the feature info from items on my layers. I found an
example of how to make this call in OpenLayers and it looks like:
var info = new OpenLayers.Control.WMSGetFeatureInfo({
url: url,
title: 'Identify features by clicking',
queryVisible: true,
eventListeners: {
getfeatureinfo: function(event) {
alert("Got feature info");
}
}
});
map.addControl(info);
info.activate();
When I tried this, I didn't get anything except a spinning cursor. I then
tried another test to see if that was the correct way to ask for feature info
so I changed the URL for the layers to get the layers from my GeoServer rather
than from QGIS Server (the project file got these layers initially from
GeoServer so we are talking about the same layer source). That worked just
fine and I was able to get individual feature information. After switching
back to point to my QGIS Server I started to look at the Apache web server logs
and the GeoServer output screen. The Apache logs didn't list anything related
but the GeoServer console listed the following:
WMS GetFeatureInfo in OpenLayers does in fact work with QGIS Server with
one trick, vendorParams you need to specify the qgs file to reference.
infoControls = {
click: new OpenLayers.Control.WMSGetFeatureInfo({
url: "http://yoursite.com/cgi-bin/qgis_mapserv.fcgi",
title: 'Identify features by clicking',
layers: [yourlayer],
queryVisible: true,
vendorParams:{map:"/path/to/map/project.qgs"}
}),
Thanks,
Alex
_______________________________________________
Qgis-user mailing list
Qgis-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-user
_______________________________________________
Qgis-user mailing list
Qgis-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-user
__________ Information from ESET Mail Security, version of virus signature
database 9317 (20140121) __________
The message was checked by ESET Mail Security.
http://www.eset.com
--
Bernhard Ströbl
Anwendungsbetreuer GIS
Kommunale Immobilien Jena
Am Anger 26
07743 Jena
Tel.: 03641 49- 5190
E-Mail: bernhard.stro...@jena.de
Internet: www.kij.de
Kommunale Immobilien Jena
Eigenbetrieb der Stadt Jena
Werkleiter: Dr. Götz Blankenburg
__________ Information from ESET Mail Security, version of virus signature
database 9326 (20140122) __________
The message was checked by ESET Mail Security.
http://www.eset.com
_______________________________________________
Qgis-user mailing list
Qgis-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-user