two mapscript questions
Jameson Tweedie
jameson at topozone.com
Fri Feb 2 09:28:20 PST 2001
Thanks Steve,
I am dealing entirely with simply user functionality on the web i.e.
interactivity and drawing to the browser. I was wondering about
deletion, because it seemed to me that drawing performance was effected
by simply having a layer in a map, even if it was turned off (recently i
was using MapXtreme and that was a serious problem there when there were
raster images in the geoset, even if those layers were turned off) but i
just tested this and it's not a problem in MapServer so that's good!
Reordering the layers was again just for user functionality, and having
the ability for the user to reorder layers on the fly can be quite
handy especially when new layers are being added by the user and the
existing map order may no longer make sense, although using a list to
draw each layer in order would be entirely simple, i just hadn't thought
of it yet!
Thanks, although i do think having an order function could be quite
useful.
Jameson.
-----Original Message-----
From: Stephen Lime [mailto:steve.lime at dnr.state.mn.us]
Sent: Friday, February 02, 2001 11:18 AM
To: Mapserver User Listserve (E-mail); Jameson Tweedie
Subject: Re: two mapscript questions
Not stupid questions, and not possible directly with the current
mapscript
implementation. Deletion isn't that big of a deal since you can always
turn
a layer off. Changing order is harder and is complicated by the
underlying
storage in C.
There are work arounds. In MapScript you could manage order in the
scripting
language using a list of layer names and then use that to direct drawing
order. For
example in perl:
@layers = ('roads', 'landcover', 'cities');
foreach $layername (@layers);
$layer = $map->getLayerByName($layername);
$layer->draw(...);
}
draws layers in an order defined by you and not the order in the
mapfile.
In what context (i.e. drawing, writing mapfiles) are you needing these
functions?
I see where improvements could be made with respect to writing. There is
only
a single method for writing and I see a need to expose object specific
write()
methods, at least for layers.
I have experimented with an "ORDER ..." parameter that allowed you to
change
processing order by shuffling that array. It proved cumbersome to use
though in
practice so I removed it.
Steve
Stephen Lime
Internet Applications Analyst
Minnesota DNR
500 Lafayette Road
St. Paul, MN 55155
651-297-2937
>>> "Jameson Tweedie" <jameson at topozone.com> 02/02/01 09:32AM >>>
hi, i have two quick (and presumably incredibly simple, pardon my
stupidity) questions:
1. can you remove a layer from a mapObj using mapscript?
2. can you change a layers position within a mapObj using mapscript?
i've checked through all the mapscript documentation i can get my hands
on and haven't seen an solution. it would seem logical that they both
exist and to me the most logical option for the changing layers would be
to simply be able to change a layers index value, but that seems to be
read only. how do i go about doing these?
thanks jameson.
More information about the MapServer-users
mailing list