shapefile optimization for dynamic data
Stephen Woodbridge
woodbri at SWOODBRIDGE.COM
Mon Mar 27 16:38:55 PST 2006
Using shptree will not help you that much in this scenario because of
the frequency of updating the file. You best bet would be use multiple
files and a tile index that you would have to add the new files to as
they are created. Then you can shptree on the non-active file, but not
on the active file. That will probably be the best scenario. Also make
sure you shptree the tileindex.
If a shapefile does not have a qix spatial index, then mapserver creates
one on the fly and throws it away. If you are adding a point a second
the file is probably getting updated faster than you can index it and
then render it. Using the tileindex should really help in this case
also, because only the files the intersect you current display window
need to be opened and looked at.
-Steve W.
Ben Eisenbraun wrote:
> Hi-
>
> I'm building a Mapserver application with dynamic data coming in every second,
> and I'm not sure how to organize the shapefiles for speediest access.
>
> I'm collecting data via a GPS and a sensor that reports a data point once
> per second. I'm using Mapserver CGI to generate an overlay onto a map via a
> javascript frontend that auto-refreshes every few seconds. The application
> has to run on a low-power embedded hardware device (roughly a p2-266), and
> I'm running into performance problems once I've collected a few thousand
> data points. The Mapserver CGI process tends to consume all the CPU trying
> to render the overlays.
>
> Up to now, I've been using shpadd/dbfadd to add the data points to a single
> shapefile. I've tried using shptree to index the shapefile, but under my
> testing, it doesn't seem to speed up rendering time at all. The largest a
> shapefile should ever get to be is about 25,000 data points; I'm not sure if
> that's large or small compared to other people's data.
>
> I've thought about breaking up that single shapefile into multiple shapefiles
> of a given size, but I'm not sure if that would be a win for this type of
> situation.
>
> Given that I'm constantly updating the source shapefile, what are my options
> for optimizing it?
>
> Thanks for any tips or pointers.
>
> -ben
>
> --
> simplicity is the most difficult thing to secure in this world; it is the
> last limit of experience and the last effort of genius. <george sand>
>
More information about the MapServer-users
mailing list