[mapserver-users] Re: Dynamic data loading using Google maps andMapserver

Varun saraf vsaraf.gmu at gmail.com
Thu May 7 13:27:25 EDT 2009


Hi All,

I am trying to integrate the census tracts on the google maps base. I
am using the tile mode and have successfully drawn the shape files
over the states of USA. I have some data in an access database that I
need to show to the user when he selects a particular census tract
(the shapes are polygons). However, since its a tile mode that I am
using on google maps, I am unable to understand how do I get the
information from mapserver as to which census tract was selected by
the user? Is there a way mapserver can send me the polygon selected
based on a co-ordinate lying inside the polygon? I know there is a way
by using queries and a querymap for doing this. The query that I am
using is as follows

http://127.0.0.1:8123/cgi-bin/mapserv.exe?&map=C:/ms4w/apps/census/testMap.map&mode=query&mapxy=38.87795
-77.098617

I am providing a template in my map file that has the tract variables.
However, the result is always the same

"msQueryByPoint(): Search returned no results. No matching record(s)
found." Is it that mapserver is trying to look for a point feature in
the location specifies by mapxy in the link above? How do I make
mapserver to look for a polygon enclosing this co-ordinate and return
me the result? I am attaching my mapfile also for reference.

MAP
    NAME testMap
    STATUS ON
    SIZE 600 300
    EXTENT -84 37 -75 40
    UNITS DD
    SHAPEPATH "data"
    IMAGECOLOR 255 255 255
    CONFIG "MS_ERRORFILE" "ms_error.txt"

    IMAGETYPE PNG

    WEB
      IMAGEPATH "/ms4w/tmp/ms_tmp/"
      IMAGEURL "/ms_tmp/"
    END

    QUERYMAP
        STATUS ON
        STYLE HILITE
    END

    LAYER
        NAME "virginia"
        STATUS DEFAULT
        TYPE polygon
        DATA tr51_d00
        DEBUG 5
        TOLERANCE 1000
        TOLERANCEUNITS pixels

        TEMPLATE "bodytemplate.html"
        HEADER "imapheader.html"
        FOOTER "imapfooter.html"

        CLASS
	   STYLE
	      OUTLINECOLOR 128 128 128
	      COLOR 153 205 255
	    END
	   TEMPLATE "pointTemplate.html"	
	END

    END
END

Thanks,
Varun

On Mon, May 4, 2009 at 3:30 PM, Varun saraf <vsaraf.gmu at gmail.com> wrote:
> Hi Steve,
>
> If I provide Mapserver with a point x,y in WGS84 projection (from
> google maps) as a query, can mapserver give me the enclosing polygon
> information (using point-in-polygon method or something else)? If yes,
> how? I have already drawn the polygons on google map using tile mode.
> Can you suggest me a book/doc that helps with querying mapserver?
>
> Thanks,
> Varun
>
> On Sun, May 3, 2009 at 9:56 AM, Steve Lime <Steve.Lime at dnr.state.mn.us> wrote:
>> Both examples show how to do this. You have to create a query using
>> the coordinate from Google to access MapServer. My example uses the
>> principle to query points but would work for polygons (which are actually
>> easier). You could issue straight MapServer queries:
>>
>>  http://.../cgi-bin/mapserv?mode=query&map=something.map&mapxy=google_x+google_y&qlayer=the_polygons
>>
>> or do a WFS query. Since you're already using straight MapServer the former
>> would probably be easiest.
>>
>> Steve
>>
>>>>> Varun saraf <vsaraf.gmu at gmail.com> 05/02/09 1:34 PM >>>
>> Hi,
>>
>> Thanks a lot Jim and Steve. These are great examples but I am dividing
>> each state of USA into about 1300 polygons and I need a way to find
>> which polygon is selected by the user. I tried building Gpolygons
>> using the polygon data that i have (after converting it into a GML
>> file) but it makes Google damn slow to redraw the polygons on zoom in
>> and zoom out. The tile mode in mapserver is much faster.
>>
>> Now, After I draw the polygon in tile mode using mapserver, Is there a
>> way Mapserver can return to me the specific polygon info (say
>> co-ordinates or any other data in the dbf file relating to that
>> polygon) when I select it on google map? Goggle I believe can give me
>> the exact co-ordinates of the point I clicked. Can mapserver use this
>> point location to find which polygon was selected?
>>
>> Thanks,
>> Varun
>>
>> 2009/5/2 Jim Strevinas <voas_acc at hotmail.com>:
>>> A beautiful example that uses the Google Maps API is:
>>>
>>> http://www.dyasdesigns.com/geoxml/gmlusa.htm
>>>
>>> It makes use of an API plugin called geoxml that can load XML data which can
>>> be produced by
>>> a WFS server. In the source code, a static GML file is used but a google
>>> search shows that it can
>>> connect to a live WFS server using the URL.
>>>
>>>> Date: Sat, 2 May 2009 09:28:01 -0500
>>>> From: Steve.Lime at dnr.state.mn.us
>>>> To: vsaraf.gmu at gmail.com
>>>> Subject: Re: [mapserver-users] Re: Dynamic data loading using Google maps
>>>> andMapserver
>>>> CC: mapserver-users at lists.osgeo.org
>>>>
>>>> One way to do that is to construct MapServer queries based on the event
>>>> and submit them using AJAX. This site does just that but with OpenLayers:
>>>>
>>>> http://www.dnr.state.mn.us/waters/csg/index_copy.html
>>>>
>>>> Click on the dots and a MapServer query is done behind the scenes. If
>>>> successful
>>>> a little window control is populated, if not, then nothing happens. Simple
>>>> templates
>>>> are used to present the information.
>>>>
>>>> Steve
>>>>
>>>> >>> Varun saraf <vsaraf.gmu at gmail.com> 05/01/09 11:54 AM >>>
>>>> Hi,
>>>>
>>>> I just had a look at ImageMap Template on "Output generation"...Can
>>>> this be used on google maps to get information pooped up on a
>>>> mouseover or mouseclick in tile mode? If not, what is it that I can do
>>>> to get a similar result when using Mapserver with google maps?
>>>>
>>>> Regards,
>>>> Varun
>>>>
>>>> On Thu, Apr 30, 2009 at 6:30 PM, Varun saraf <vsaraf.gmu at gmail.com> wrote:
>>>> > Hi,
>>>> >
>>>> > I have successfully drawn layers on of google maps as base using
>>>> > mapserver. However, I am trying to figure out how to get data
>>>> > dynamically displayed on the web page when a user clicks on a certain
>>>> > area. For example, I have divided the entire state of virginia into
>>>> > many sectors (using a polygon shp file). My requirement is that I want
>>>> > data to come up on the map/web page when the user selects a particular
>>>> > sector. I know google provides me with an event api for clicking on
>>>> > the map but how do I pass this event to mapserver so it can send me
>>>> > the label for that sector from the shape file? I need to be able to
>>>> > recognize what sector the user has clicked. Is this possible using
>>>> > just the mapserv cgi script and a map file or a MapScript has to be
>>>> > written/used? Can someone point me in the right direction here? Even
>>>> > providing the link for a previous discussion on this topic would help.
>>>> >
>>>> > Thanks,
>>>> > Varun
>>>> >
>>>> _______________________________________________
>>>> mapserver-users mailing list
>>>> mapserver-users at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>>
>>>> _______________________________________________
>>>> mapserver-users mailing list
>>>> mapserver-users at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>
>>> ________________________________
>>> Invite your mail contacts to join your friends list with Windows Live
>>> Spaces. It's easy! Try it!
>>> _______________________________________________
>>> mapserver-users mailing list
>>> mapserver-users at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>
>>>
>> _______________________________________________
>> mapserver-users mailing list
>> mapserver-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>
>>
>


More information about the mapserver-users mailing list