[mapserver-users] query in url

Kevin Edmundson kevin.edmundson at wthtechnology.com
Thu Jul 3 06:58:22 PDT 2008


Steve, 

First of all...thanks for the reply.

I am confused about what I need to do here...and bear with me...I am
VERY new to this mapserver stuff.

I originally used p.mapper to create an application and then have been
modifying the code as I go.  

I am working on mapserver 5.0.

So....if I understand you right, I need to create a second map in my
application folder (parcel_lookup.map or something like that) ?  Or do I
need to create a completely separate application folder for this map?

I tried just creating a second map in the application folder for the
initial lookup...but after constructing the query url and executing
it.....it just says "msLoadMap(): Unable to access file.
(parcel_lookup.map)".

Any further guidance would be greatly appreciated...  :D

Kevin Edmundson
CIO
WTH Technology, Inc
567 W Westfield Blvd
Indianapolis, IN 46208
317.259.0105 office
317.259.1423 fax
317.501.8560 mobile
kevin.edmundson at wthtechnology.com

NOTICE: This message is from the technology firm WTH Technology, Inc.
This message is intended only for the individual or entity to which it
is directed. If you are not the addressee, or if this message has been
addressed to you in error, you are not authorized to use, read, copy or
distribute this message and any attachments, and we ask that you please
immediately delete this message and attachments (including all copies),
and notify the sender by return e-mail so that our records can be
corrected. All personal messages express views only of the sender, which
are not to be attributed to WTH Technology, Inc, and may not be
distributed or copied without this statement.


-----Original Message-----
From: Steve Lime [mailto:Steve.Lime at dnr.state.mn.us] 
Sent: Wednesday, July 02, 2008 9:27 PM
To: mapserver-users at lists.osgeo.org; Kevin Edmundson
Subject: Re: [mapserver-users] query in url

There are always many ways. If you don't have any spatial information in
the 3rd party application then 
you have a couple of options:

  1) do an attribute query with a URL template (explained below)

  2) pass the parcel id to your MapServer application and use it to do
an ajax call to lookup the spatial
extent information. This would work nicely if using OpenLayers, Ka-Map,
dBox, or some other type of
client that doesn't reload the entire page. It's really just a variation
of 1.

Anyway,  you'd want to do a simple attribute query first to get the
spatial extents of the parcel. So, if
you had a special mapfile (parcel_lookup.map) it might look like so:

MAP
  ...

  LAYER
    NAME 'parcels'
    TYPE QUERY
    STATUS DEFAULT
    TEMPLATE
'http://wthtecnology.com/cgi-bin/mapserv?map=main_application.map&mapext
=[shpext_esc]'
  END
END

The URL to do the attribute query would look like:

 
http:////wthtecnology.com/cgi-bin/mapserv?map=parcel_lookup.map&qitem=id
&qlayer=parcels&qstring=xxx-xx-xxxx-xxxx

The is off the top of my head but I've done it and it works nicely.

Caveats:

  1) depending on version you'll need to set a qstring filter in
parcel_lookup.map to validate parcel ids with

  2) if using 5.2, it has a new feature to expand extent tags so they
aren't so tight to the feature (e.g. [shpext escape=url expand=500]

The way this works is your initial call looks up the parcel and gets
it's extent. Then that is used to create another call to your main
application. The redirection happens automatically and is transparent to
the user.

Let me know if you need more information.

Steve

>>> "Kevin Edmundson" <kevin.edmundson at wthtechnology.com> 07/02/08 11:06
AM >>>
I have a mapserver site that contains, among others, a parcel layer.  

I have a 3rd party application that manages parcel data for a customer
and I would like to...from the third party application...send a url
request to the mapserver that would cause it to open, and zoom to a
particular parcel.

If the parcel layer was named 'parcels' and the field name was
ParcelNumber in the layer, how would I construct the url request to
perform the above function...or is it even possible?

Kevin Edmundson

CIO
WTH Technology, Inc
567 W Westfield Blvd
Indianapolis, IN 46208
317.259.0105 office
317.259.1423 fax
317.501.8560 mobile

kevin.edmundson at wthtechnology.com

NOTICE: This message is from the technology firm WTH Technology, Inc.
This message is intended only for the individual or entity to which it
is directed. If you are not the addressee, or if this message has been
addressed to you in error, you are not authorized to use, read, copy or
distribute this message and any attachments, and we ask that you please
immediately delete this message and attachments (including all copies),
and notify the sender by return e-mail so that our records can be
corrected. All personal messages express views only of the sender, which
are not to be attributed to WTH Technology, Inc, and may not be
distributed or copied without this statement.




More information about the MapServer-users mailing list