[postgis-users] mechanix of a query

P Kishor punk.kish at gmail.com
Sun Sep 20 06:28:45 PDT 2009


On Sun, Sep 20, 2009 at 2:47 AM, Pavel Iacovlev
<iacovlev.pavel at gmail.com> wrote:
> You can enable debug of Mapserver
> http://mapserver.org/development/rfc/ms-rfc-28
>
> You can configure PostgreSQL to log all your queries. Here is a tool
> to analyze them and how to make PostgreSQL log them
> http://pgfouine.projects.postgresql.org/tutorial.html
>
> Mapserver computes the current bbox view and sends the query to
> PostGIS and then you get all the geometries that are inside that bbox.
> Thats why you should create a GisT index to speed things up.
>

Thanks for the logging info. I will do so. Actually, I do have a Gist
index on my layer. It is a simple, lat/lon grid over my study area. I
have a WMSGetFeatureInfo control in OpenLayers that returns the xmin,
ymin, xmax, ymax for the grid square containing the user's mouse
click.

When I am zoomed out (example queries below), the bbox is

xmax: -88.026581	ymax: 45.970243
xmin: -89.435577	ymin: 45.325117

The result comes back immediately.

When I am zoomed in, the result never comes back. The bbox sent in the query is

xmax: -88.643017	ymax: 45.688914
xmin: -88.819141	ymin: 45.608274


As you can see, the bbox in the second query is very small, and my
guess is, no geometry is found within that bbox. That itself is
erroneous, however, the funny thing is, I don't even get a "0" result.
There is simply no response from the server, and my user interface
just hangs, waiting for a response to WMSGetFeatureInfo.

>From the user's perspective, this is confusing. Since I am requesting
the info for the grid square in which my click is contained, its speed
should be constant, no matter how much I am zoomed in or out. After
all, the mouse can have only one click x,y, and that click can only be
contained within one grid square, no matter what my zoom level. Of
course, when I am zoomed out, then the precision of which grid square
my click falls within is very coarse, and I may not get the correct
grid square back, however, when I am zoomed in, I should be able to
more accurately click within the grid square I desire. So, actually,
zooming in is, from the user's perspective, a desired state.

I am not sure which technology here is at fault. I have OpenLayers,
MapServer and PostGIS in play, and something is failing to work as
intuited.

Any suggestions?




> On Sun, Sep 20, 2009 at 7:15 AM, P Kishor <punk.kish at gmail.com> wrote:
>> I am trying to understand the mechanics of a getfeatureinfo query. My
>> setup is data in Pg/PostGIS, served by MapServer via WMS, with
>> OpenLayers in the front. When I click on a map and send a
>> GetFeatureInfo query, MapServer grabs the x,y sent in the URL, and,
>> for the layer (also sent in the URL), finds the row in the table which
>> contains the x,y of my click.
>>
>> How does MapServer do that?
>>
>> Does it run a Pg/PostGIS query for this?
>> How can I find out the syntax of this query?
>>
>> If a GetFeatureInfo takes too long, what can I do to speed it up?
>>
>>
>> --
>> Puneet Kishor
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>
>
>
>
> --
> http://iap.md, The future is open
>



-- 
Puneet Kishor http://www.punkish.org
Carbon Model http://carbonmodel.org
Charter Member, Open Source Geospatial Foundation http://www.osgeo.org
Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor
Nelson Institute, UW-Madison http://www.nelson.wisc.edu
-----------------------------------------------------------------------
Assertions are politics; backing up assertions with evidence is science
=======================================================================
Sent from Madison, WI, United States



More information about the postgis-users mailing list