AW: [mapserver-users] mapxy + scale / buffer not work!

Michael Achtzehn M.Achtzehn at cui.de
Thu Sep 6 06:33:16 PDT 2001


Hi Stephen,
Thank you for your hints - unfortunately it does not function yet correctly.
First: [shapemidx] and [shapemidy] dont't work - It appears the error message "getNumeric(): Incorrect data type" bat, if I the coordinates for mapxy directly into the URL enter-it work. What does one have to consider with the use of [shapemidx] and [shapemidy]? 

Also "... mode=map[getlayers ] " functions not, if I define go it more layer manually how as described, it is a syntax error, or which is with the use of [getlayers] to consider? 

With the described modifications it functions how describes but can I hilite the selected object also?

Thanks in advance
Michael



> -----Ursprüngliche Nachricht-----
> Von: Stephen Lime [mailto:steve.lime at dnr.state.mn.us]
> Gesendet am: Mittwoch, 5. September 2001 23:05
> An: M.Achtzehn at cui.de; mapserver-users at lists.gis.umn.edu
> Betreff: Re: [mapserver-users] mapxy + scale / buffer not work!
> 
> Hi Michael: You're correct, this doesn't work on 3.4, but 
> will in 3.5 (currently doesn't). It's not
> a technical issue rather one of priorities in getting things 
> working. You can work around this
> by not using a query map but rather adding a second layer to 
> use in displaying the query
> results. For this second layer you're going to modify the 
> class expression dynamically to isolate
> the chosen record and draw it special. You do this within an 
> <img...> tag that normally would
> be used to display the querymap. Here's how:
> 
>   - add a second layer to your mapfile, it should reference 
> the same data as you want to 
>    query and define the class to draw the selected feature as 
> you wish, the class item should
>    be 'regnrba'. Don't define a class expression. Place this 
> layer AFTER the main layer and
>    set it's status to OFF.
> 
>   - drop the query map from your mapfile
> 
>   - add something like this to your template (assuming new 
> layer is called foo)
> 
>   <img 
> src="/cgi-bin/mapserv.exe?map=[mapfile]&layer=foo&mapxy=[shpmi
> dx]+[shpmidy]&buffer=xxxx&map_foo_class_expression=[REGNRBA]&m
ode=map[getlayers]">
> 
> What that call does is creates a map:
> 
>   - centered on the shape
>   - with an extent defined by the value of buffer (could also 
> use scale)
>   - preserves any layers that were already on using [getlayers]
>   - turns on the new layer "foo"
>   - sets the expression for the first CLASS in foo to be the 
> value of the item REGNRBA
> 
> What the value for map_foo_class_expression should be will 
> depend on what valid values in REGNRBA is. If 
> it's strictly a number then you have to enclose it in double 
> quotes for mapserver to treat it correctly, just use 
> map_foo_class_expression=%22[REGNRBA]%22 instead. You could 
> also use other unique column values to
> isolate the record.
> 
> Hope this helps.
> 
> Steve
> 
> Stephen Lime
> Internet Applications Analyst
> 
> Minnesota DNR
> 500 Lafayette Road
> St. Paul, MN 55155
> 651-297-2937
> 
> >>> "Michael Achtzehn" <M.Achtzehn at cui.de> 09/05/01 09:53AM >>>
> Hallo,
> An apparent old problem, for which I could not discover a 
> solution in the Mailing. 
> I would like to determine an object with one ID (here 
> regnrba) ) from a data base to display. 
> With ITEMQUERY mode and using MAPXY=SHAPE I would like to 
> show the result on certain scale, but BUFFER or SCALE 
> parameter does nothing. 
> Where are the contents of the variable shapes defined -  is ' 
> shapes " a variable or a keyword for the map server?  Do I 
> have to make 'shapes'  special entries for the 
> 
> definition of  in templete file? 
> 
> Where is the mistake - how can I solve my problem?
> 
> (I work with mapserver 3.4 on Win NT.)
> 
> my data:
> 
> URL: 
> http://ms_test.cui.de/cgi-bin/mapserv.exe?map=ms_demo/isab02.m
> ap&layer=lsa_tfb&mode=itemquery&item=regnrba&value=1105-41/15&
> mapxy=shapes;scale=50000 
> ____________________
> www.cui.de 
> Tel.: 0345 7742 749
> Fax.: 0345 7742 754
> 




More information about the MapServer-users mailing list