[mapserver-users] multiple shapefiles in single layer

Stephen Woodbridge woodbri at swoodbridge.com
Thu Apr 4 20:55:52 EST 2002



Dan Keith wrote:
> 
> Hi,
> 
> I have a few more questions re: tiling.
> 
> The tile4ms utility doesn't support the specification of the TILEITEM
> parameter (i.e., it is always LOCATION), nor does it allow the
> merging of a tile index into an existing tileindex file.

Yup, this is correct.

> I presume that the only way to create a multicolumn tile index (thus
> allowing the use of multiple TILEITEMs from within the .map file) is
> to write a separate program (e.g., using Perl's XBase module) to
> aggregate multiple tileindex files into a single .dbf file. Is this
> the correct way?

Yes you could do this. I do a variation on this for Census data because
it is organized in directories by county and each county has a full set
of layers. So what I do is make the tileindex index the directories and
then in my mapfile I use the tileindex and DATA roads or DATA rivers.
There is an option that if I remember correctly is not well documented
or I missed it that intedexes the directories instead of the files as
records in the tileindex. I wrote some code to munge the indexes before
I found the option to do it for me. (the programmers curse - if you
can't find it, don't read the manual, just write some code :)

> What are the advantages to creating such a multicolumn tileindex, vs
> using separate tileindex file for each logical dataset? Is it more
> efficient?

I'm not sure I can help much here, but I would think it would depend on
the data and how it is organized spatially.

> Also, is it better to create a spatial index from the individual
> shapefiles in a tileindex, or is it better (or even possible) to
> create a spatial index from the composite tileindex?

It is most effiecnt if ALL .shp files have a shptree index, otherwise
mapserver falls back to a full scan of the file.

-Steve W.

> Thanks
> 
> At 11:26 PM -0600 4/3/02, Steve Lime wrote:
> >There is a mechanism in the MapServer that already supports this -
> >tiling. Basically you create an index shapefile that contains boundaries
> >for the various shapefiles in the layers (in you case counties). The
> >index shapefile then references the individual shapefiles as an
> >attribute. The default attribute is 'location' but you can call it what
> >ever you'd like to (then use TILEITEM parameter) and can even use a
> >single tile index for multiple layers (e.g. you have roads and lakes
> >tiled by county). Support for query of tiled data is supported in
> >version 3.5+. See the documentation (and perhaps the wiki) for more
> >details.
> >
> >Steve
> >
> >Stephen Lime
> >Data & Applications Manager
> >
> >Minnesota DNR
> >500 Lafayette Road
> >St. Paul, MN 55155
> >651-297-2937
> >>>>  Joe Bussell <joe at otsys.com> 04/03/02 20:21 PM >>>
> >Greetings,
> >     I am attempting to combine multiple shapefiles (data from different
> >counties) into single layers.  How can I do this without declaring
> >multiple layers which must be handled seperately in the mapfile?  Is
> >there a standard method which will preserve the ability to querry
> >the data?  The mapfile syntax does not seem to allow multiple data tags
> >for a given display layer.  This leads me to wonder if there are tools
> >which can merge shapefiles into a larger superset.  Is anyone aware of
> >such a tool?
> >
> >Joe Bussell
> >On Time Systems
> 
> --
> Dan "Bud" Keith - bud at otsys.com



More information about the mapserver-users mailing list