[Mapserver-users] data/mapfile organization advice sought

Jan Hartmann jhart at frw.uva.nl
Tue May 13 04:00:35 EDT 2003


Puneet,

This is a very common problem. One solution would be to script the DATA 
path via the url or form: .../mapserv?map=...&map_layer_data=<path>. 
That way you can create one "country" Mapfile and fill in the actual 
data path at will.

Note that for security reasons the DATA statement is *not* scriptable by 
default any more. You have to put "DATAPATTERN <regex>" somewhere in 
your MapFile. <regex> is a regular expression; only DATA-pathnames 
agreeing with that expression are allowed after that. When you leave 
DATAPATTERN out, all scripted DATA calls will be silently ignored.

HTH

Jan

Puneet Kishor wrote:
> To ms data mavens -- please give me a piece of your mind.
> 
> I have shapefile data of several countries, about 14 countries.
> 
> Each country has 8 to 12 different layers, but they are all called the 
> same. For example, all countries have a layer called "layer1", "layer2", 
> and so on, while a few countries may not have "layer8" or "layer11," etc.
> 
> If I were to draw all the countries together, they would draw correctly, 
> that is, they are in the correct geographic space. However, their data 
> are self-contained. That is, even though country1 and country2 are 
> contiguous, drawing country1 does not bring up country2... they are in 
> different folders.
> 
> How do I create and work with their mapfiles?
> 
> I can't really have one big mongo mapfile with all the layers of all the 
> countries... it would be unworkable, and probably very inefficient.
> 
> On the other hand, if I have 14 different mapfiles, they will be almost 
> identical to each other except for the path to the data. If I make a 
> tweak in any one mapfile (for example, change the color or visible scale 
> of a layer), I will have to go and change it in 14 different mapfiles.
> 
> Ideally I would like to have one master mapfile (like a template), and 
> just substitute (on the fly) the path to the data. I guess I could do 
> some preprocessing with Perl, and swap a filter keyword using regexp 
> search, to create a working, valid mapfile on the fly, but I would also 
> have to account for those one or two particular layers that happen to be 
> absent for a given country.
> 
> Please share your insight.
> 
> Many tia.
> 
> Puneet.
> 
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
> 




More information about the mapserver-users mailing list