[mapserver-users] Rendering precision
Hello, When zooming to scale 1 e-10 the geo coordinates converted from mapserver to pixel and my coordinates converted manualy are different a very small difference but on screen in pixel is a big difference. Use mapserver variabile with a limited set of numbers? Thanks Mario ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Designing a wrapper around mapserv which can be used with fcgi
Andy Colson wrote: Andy Colson wrote: Adrian Popa wrote: Hello everyone, I am currently using a wrapper around mapserv which receives the URL parameters, builds the map file (actually I only need to set some filters in the map file, but the filters need to be built after running some SQL queries with the passed in parameters). After the map file is built, mapserv is called (as a shell script), and the map gets sent to the user. Currently this wrapper is written in perl - so it's not terribly fast as a cgi process. While this approach works, it is terribly inefficient. I would like to use mapserv as a fcgi process (or something faster than plain cgi). My question is - how can I /should I build a wrapper around mapserv that can customize the MAP file on the fly and run as a fcgi process? Any ideas on where I should start? An example of such a wrapper? Also, I suspect I can send parameters to mapserver and use some sort of variables in the map file to set up my filters - but I haven't seen an example. Can someone point me to such a documentation? Thanks, Adrian Have you seen mapscript? You can use mapserver directly from perl. And perl can do fast-cgi. Here is a little, ad-hoc, non-tested, perl fcgi: #!/usr/bin/perl use strict; use mapscript; use FCGI; my $request = FCGI::Request( ); while($request-Accept() = 0) { my($req, $x, $at, $xmap, $xpin, $sid, $y, $q); $req = new mapscript::OWSRequest(); $req-loadParams(); $xmap = $req-getValueByName('map'); $xpin = $req-getValueByName('pin'); my $map = new mapscript::mapObj( /maps/$xmap.map ); if (! $map) { #print STDERR - Error loading map: $xmap.map\n; print(Content-type: text/text\r\n\r\n); print cant load $xmap.map; $request-Finish(); next; } mapscript::msIO_installStdoutToBuffer(); $x = $map-OWSDispatch( $req ); if ($x) { print STDERR OWSDispatch: $x\n; my $errObj = new mapscript::errorObj(); while ($errObj) { print STDERR ERROR: $errObj-{code}:$errObj-{message}:$errObj-{routine} \n; $errObj = $errObj-next(); } } my $content_type = mapscript::msIO_stripStdoutBufferContentType(); $x = mapscript::msIO_getStdoutBufferBytes(); print(Content-type: $content_type\r\n\r\n); if (mapscript::msGetVersionInt() = 50500) { print $$x; } else { print $x; } mapscript::msIO_resetHandlers(); $request-Finish(); } I'd recommend using mapserver 5.6.0. -Andy Adrian Popa wrote: Thank you, I will look into it. I guess through mapscript I can redefine the parameters that get sent to mapserver? Or do I rewrite the whole map? You can load a map into memory (I assume you were already doing that). You said ..perl.. receives the URL parameters ...and... builds the map file. I assume your perl does: use mapscript? and at some point: my $map = new mapscript::mapObj( /maps/$xmap.map ); You kind of imbed mapserver into your perl script, and can call its functions and what not. After you load the map you can do things to it, in memory. In my example above, I'm using the WMS features ($map-OWSDispatch), but you can also generate an image: my $img = $map-draw(); $img-save('x.jpg', $mapscript::MS_JPG); -Andy Adrian Popa wrote: Thank you Andy for explaining. Actually my wrapper is very hard-core, meaning I don't use mapscript (because I had to build it quickly and didn't have time to research which was the best approach). Now I have more time and I'd like to tune things up, so I will definitely start studying mapscript (If you have a link to a good tutorial/function reference for it I am in your debt). My wrapper just copied over a template map file, edited it (rewrites some filters) and then it set $ENV{'QUERY_STRING'} = $ENV{'QUERY_STRING'}.map=$file; ...and then called print `/var/www/cgi-bin/mapserv`; It's barbaric, I know, but it worked for me. :) It will take a bit of rewrite to add fcgi support and mapscript, but in the long run it will be more mantainable... :) Thanks again, Adrian So are you using the template html stuff? Humm... I've never used that stuff, not sure how it'll all translate. For documentation, I used the mapscript reference: http://mapserver.org/mapscript/mapscript.html I found a few example perl scripts that helped with the syntax (my $c = new mapscript::colorObj(), $c-{blue} = 255;, etc...). Other than that, I had more problems comming up with nice looking colors for my map, than actually writing the perl code. -Andy ___ mapserver-users mailing list mapserver-users@lists.osgeo.org
Re: [mapserver-users] Designing a wrapper around mapserv which can be used with fcgi
If you can you might want to consider python... the syntax is a little cleaner with Mapscript. Of course, that's an opinion but I also am a little allergic to sigils (I get all itchy). - Original Message From: Andy Colson a...@squeakycode.net To: Adrian Popa adrian_gh.p...@romtelecom.ro Cc: mapserver-users@lists.osgeo.org Sent: Wed, November 4, 2009 8:38:52 AM Subject: Re: [mapserver-users] Designing a wrapper around mapserv which can be used with fcgi Andy Colson wrote: Andy Colson wrote: Adrian Popa wrote: Hello everyone, I am currently using a wrapper around mapserv which receives the URL parameters, builds the map file (actually I only need to set some filters in the map file, but the filters need to be built after running some SQL queries with the passed in parameters). After the map file is built, mapserv is called (as a shell script), and the map gets sent to the user. Currently this wrapper is written in perl - so it's not terribly fast as a cgi process. While this approach works, it is terribly inefficient. I would like to use mapserv as a fcgi process (or something faster than plain cgi). My question is - how can I /should I build a wrapper around mapserv that can customize the MAP file on the fly and run as a fcgi process? Any ideas on where I should start? An example of such a wrapper? Also, I suspect I can send parameters to mapserver and use some sort of variables in the map file to set up my filters - but I haven't seen an example. Can someone point me to such a documentation? Thanks, Adrian Have you seen mapscript? You can use mapserver directly from perl. And perl can do fast-cgi. Here is a little, ad-hoc, non-tested, perl fcgi: #!/usr/bin/perl use strict; use mapscript; use FCGI; my $request = FCGI::Request( ); while($request-Accept() = 0) { my($req, $x, $at, $xmap, $xpin, $sid, $y, $q); $req = new mapscript::OWSRequest(); $req-loadParams(); $xmap = $req-getValueByName('map'); $xpin = $req-getValueByName('pin'); my $map = new mapscript::mapObj( /maps/$xmap.map ); if (! $map) { #print STDERR - Error loading map: $xmap.map\n; print(Content-type: text/text\r\n\r\n); print cant load $xmap.map; $request-Finish(); next; } mapscript::msIO_installStdoutToBuffer(); $x = $map-OWSDispatch( $req ); if ($x) { print STDERR OWSDispatch: $x\n; my $errObj = new mapscript::errorObj(); while ($errObj) { print STDERR ERROR: $errObj-{code}:$errObj-{message}:$errObj-{routine} \n; $errObj = $errObj-next(); } } my $content_type = mapscript::msIO_stripStdoutBufferContentType(); $x = mapscript::msIO_getStdoutBufferBytes(); print(Content-type: $content_type\r\n\r\n); if (mapscript::msGetVersionInt() = 50500) { print $$x; } else { print $x; } mapscript::msIO_resetHandlers(); $request-Finish(); } I'd recommend using mapserver 5.6.0. -Andy Adrian Popa wrote: Thank you, I will look into it. I guess through mapscript I can redefine the parameters that get sent to mapserver? Or do I rewrite the whole map? You can load a map into memory (I assume you were already doing that). You said ..perl.. receives the URL parameters ...and... builds the map file. I assume your perl does: use mapscript? and at some point: my $map = new mapscript::mapObj( /maps/$xmap.map ); You kind of imbed mapserver into your perl script, and can call its functions and what not. After you load the map you can do things to it, in memory. In my example above, I'm using the WMS features ($map-OWSDispatch), but you can also generate an image: my $img = $map-draw(); $img-save('x.jpg', $mapscript::MS_JPG); -Andy Adrian Popa wrote: Thank you Andy for explaining. Actually my wrapper is very hard-core, meaning I don't use mapscript (because I had to build it quickly and didn't have time to research which was the best approach). Now I have more time and I'd like to tune things up, so I will definitely start studying mapscript (If you have a link to a good tutorial/function reference for it I am in your debt). My wrapper just copied over a template map file, edited it (rewrites some filters) and then it set $ENV{'QUERY_STRING'} = $ENV{'QUERY_STRING'}.map=$file; ...and then called print `/var/www/cgi-bin/mapserv`; It's barbaric, I know, but it worked for me. :) It will
[mapserver-users] Elevation data from DEM/LIDAR?
Hello All: I have an idea to improve our mapserver instance, and I come to you asking for help formulating an approach to realizing it. What I want is retrieve elevation data from DEM/LIDAR. I have attempted keyword searches for various combination of MapServer+DEM+LIDAR without much success. I am using MapServer 5.4.2 from the MS4W package. I have access to elevation data in the form of USGS DEM rasters, either from 1:24000 quads or from a much denser (and far larger) LIDAR dataset. The quad DEM dataset consists of just under 1000 quads stored as individual .dem files, in what appears to be 16-bit signed integer format, each file with a unique name equal to the USGS quad code. Files appear to be 1-2 megs in size on disk. The LIDAR dataset appears to use a 32-bit float format, there are over 3500 quarter-quads stored as individual .dem files with unique names that do not correspond directly to the USGS quarter-quad code (but I can possibly generate a lookup table for the translation). Alternatively the LIDAR data is available as CSV format. Files are quite large, 10-12 megs for the rasters and 150 megs for the CSVs. Each. I am not (yet) interested in displaying the data as an image, only returning the point values at any given location on the displayed map. We are using Geomoose2 for our front-end, but I'll work on the display of the data once I determine how best to generate it. There are no services (e.g. WMS) published by our MapServer instance. How should I (can I? do I need to?) approach crafting a mapserver file that points to 3500+ individual rasters? Am I thinking all wrong about this? This is very likely. Should I just forget about the whole thing? Can it even be done in a reasonable way? Please opine at will on this subject. Thanks! /Johan. -- Johan Forsman Geologist Safe Drinking Water Program Louisiana Department of Health and Hospitals Office of Public Health Telephone: 225.342.7309 Telefax: 225.342.7303 ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Designing a wrapper around mapserv which can be used with fcgi
I have: - mapserver running as fastcgi - php running as fastcgi I am currently setting up, not sure how this is going to end up; but I have the structure you mention in mind too. I hope that since both processes are fcgi they will enhance each other? But testing will have to prove it in the near future. Dan Little schreef: If you can you might want to consider python... the syntax is a little cleaner with Mapscript. Of course, that's an opinion but I also am a little allergic to sigils (I get all itchy). - Original Message From: Andy Colson a...@squeakycode.net To: Adrian Popa adrian_gh.p...@romtelecom.ro Cc: mapserver-users@lists.osgeo.org Sent: Wed, November 4, 2009 8:38:52 AM Subject: Re: [mapserver-users] Designing a wrapper around mapserv which can be used with fcgi Andy Colson wrote: Andy Colson wrote: Adrian Popa wrote: Hello everyone, I am currently using a wrapper around mapserv which receives the URL parameters, builds the map file (actually I only need to set some filters in the map file, but the filters need to be built after running some SQL queries with the passed in parameters). After the map file is built, mapserv is called (as a shell script), and the map gets sent to the user. Currently this wrapper is written in perl - so it's not terribly fast as a cgi process. While this approach works, it is terribly inefficient. I would like to use mapserv as a fcgi process (or something faster than plain cgi). My question is - how can I /should I build a wrapper around mapserv that can customize the MAP file on the fly and run as a fcgi process? Any ideas on where I should start? An example of such a wrapper? Also, I suspect I can send parameters to mapserver and use some sort of variables in the map file to set up my filters - but I haven't seen an example. Can someone point me to such a documentation? Thanks, Adrian Have you seen mapscript? You can use mapserver directly from perl. And perl can do fast-cgi. Here is a little, ad-hoc, non-tested, perl fcgi: #!/usr/bin/perl use strict; use mapscript; use FCGI; my $request = FCGI::Request( ); while($request-Accept() = 0) { my($req, $x, $at, $xmap, $xpin, $sid, $y, $q); $req = new mapscript::OWSRequest(); $req-loadParams(); $xmap = $req-getValueByName('map'); $xpin = $req-getValueByName('pin'); my $map = new mapscript::mapObj( /maps/$xmap.map ); if (! $map) { #print STDERR - Error loading map: $xmap.map\n; print(Content-type: text/text\r\n\r\n); print cant load $xmap.map; $request-Finish(); next; } mapscript::msIO_installStdoutToBuffer(); $x = $map-OWSDispatch( $req ); if ($x) { print STDERR OWSDispatch: $x\n; my $errObj = new mapscript::errorObj(); while ($errObj) { print STDERR ERROR: $errObj-{code}:$errObj-{message}:$errObj-{routine} \n; $errObj = $errObj-next(); } } my $content_type = mapscript::msIO_stripStdoutBufferContentType(); $x = mapscript::msIO_getStdoutBufferBytes(); print(Content-type: $content_type\r\n\r\n); if (mapscript::msGetVersionInt() = 50500) { print $$x; } else { print $x; } mapscript::msIO_resetHandlers(); $request-Finish(); } I'd recommend using mapserver 5.6.0. -Andy Adrian Popa wrote: Thank you, I will look into it. I guess through mapscript I can redefine the parameters that get sent to mapserver? Or do I rewrite the whole map? You can load a map into memory (I assume you were already doing that). You said ..perl.. receives the URL parameters ...and... builds the map file. I assume your perl does: use mapscript? and at some point: my $map = new mapscript::mapObj( /maps/$xmap.map ); You kind of imbed mapserver into your perl script, and can call its functions and what not. After you load the map you can do things to it, in memory. In my example above, I'm using the WMS features ($map-OWSDispatch), but you can also generate an image: my $img = $map-draw(); $img-save('x.jpg', $mapscript::MS_JPG); -Andy Adrian Popa wrote: Thank you Andy for explaining. Actually my wrapper is very hard-core, meaning I don't use mapscript (because I had to build it quickly and didn't have time to research which was the best approach). Now I have more time and I'd like to tune things up, so I
Re: [mapserver-users] Elevation data from DEM/LIDAR?
Johan Forsman wrote: Hello All: I have an idea to improve our mapserver instance, and I come to you asking for help formulating an approach to realizing it. What I want is retrieve elevation data from DEM/LIDAR. I have attempted keyword searches for various combination of MapServer+DEM+LIDAR without much success. I am using MapServer 5.4.2 from the MS4W package. I have access to elevation data in the form of USGS DEM rasters, either from 1:24000 quads or from a much denser (and far larger) LIDAR dataset. The quad DEM dataset consists of just under 1000 quads stored as individual .dem files, in what appears to be 16-bit signed integer format, each file with a unique name equal to the USGS quad code. Files appear to be 1-2 megs in size on disk. Johan, The USGS quad files should work out-of-the-box with MapServer just like any other raster file though they are generally an inefficient format to use if performance is a concern. To display them you would normally need rescaling. They should also work with GetFeatureInfo to get point elevations (I think). The LIDAR dataset appears to use a 32-bit float format, there are over 3500 quarter-quads stored as individual .dem files with unique names that do not correspond directly to the USGS quarter-quad code (but I can possibly generate a lookup table for the translation). Alternatively the LIDAR data is available as CSV format. Files are quite large, 10-12 megs for the rasters and 150 megs for the CSVs. Each. I am not (yet) interested in displaying the data as an image, only returning the point values at any given location on the displayed map. We are using Geomoose2 for our front-end, but I'll work on the display of the data once I determine how best to generate it. There are no services (e.g. WMS) published by our MapServer instance. MapServer has no support for LIDAR data in LAS format which is not structured as a regular raster. However, it is possible that your data has already been reformatted into a raster file in something like USGS DEM format (given the extension). Try gdalinfo on one of the files and see if it reports it as recognised. If it is still LAS format, there isn't much you can do with it directly in mapserver. You might find some useful LAS resources at: http://liblas.org/ In theory you could write a Python mapscript + Python liblas wrapper that would handle WMS GetFeatureInfo calls in a custom way by querying a LAS file but you would have to put together a lot of glue to make this work. BTW, our very own Howard Butler is a LAS/LIDAR guru and may have more suggestions. How should I (can I? do I need to?) approach crafting a mapserver file that points to 3500+ individual rasters? Note that the USGS DEM files would normally be handled via a tile index. Read the Raster Data Access document for more info on tileindexes. Best regards, -- ---+-- I set the clouds in motion - turn up | Frank Warmerdam, warmer...@pobox.com light and sound - activate the windows | http://pobox.com/~warmerdam and watch the world go round - Rush| Geospatial Programmer for Rent ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] Web service using Map server
Hello, I am exploring the possibilities of developing a web service that will provide the users with the layer of their choice. Not sure how the web service framework would fit into mapserver architecture. Any guidance will be highly appreciated. Thanks, Samuel ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] featurequery, TOLERANCE 0, find adjacent polygons?
Hi, I want the user to select a polygon from the map, then return a hilited map of the selected polygon as well as the adjacent polygons along with a list of the names of each polygon. I have all of the parts of my desired query functioning independently, but not all in concert. featurequery: (layer A *must* be a polygon layer, version 5.4 supports LINE layers as well) - find the first geometry that intersects point x,y in layer A and use it to select geometries that intersect it in layer B - find the first geometry that intersects point x,y in layer A and use it to select geometries that intersect it in all other layers Two questions: 1. With mode=featurequery, does setting TOLERANCE 0 in polygon layer B return the adjacent polygons to the polygon return from layer A? 2. If I make a mode=featurequery with an img.x img.y against a polygon layer slayer=A, if I also specify qlayer=A will MapServer query layer A first to find the polygon containing the point, then query layer A again to find the intersecting (adjacent) polygons? Thanks, Ted S. -- View this message in context: http://n2.nabble.com/featurequery-TOLERANCE-0-find-adjacent-polygons-tp3946385p3946385.html Sent from the Mapserver - User mailing list archive at Nabble.com. ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] MapServer + Tilecache
Hi all, I'm new to MapServer, until now I've used Mapnik to generate my tiles. But I want to try MapServer and I can't figure out what I'm doing wrong. If I run via WEB interface it renders fine, but with Tilecache the tiles appears blank. Any idea what I'm doing wrong? Thanks in advance. MAP NAME test EXTENT -961006 5034756 -955378 5036634 IMAGECOLOR 255 255 0 IMAGETYPE JPEG SIZE 256 256 STATUS ON UNITS METERS MAXSIZE 5000 SHAPEPATH /home/tyler/Projects/Python/mapserver/tilecache/vias/ PROJECTION proj=merc a=6378137 b=6378137 lat_ts=0.0 lon_0=0.0 x_0=0.0 y_0=0 k=1.0 units=m nadgri...@null wktext no_defs END LAYER NAME vias TYPE LINE DATA vias STATUS default OFFSITE 0 0 0 PROJECTION init=epsg:4326 END CLASS NAME Countries OUTLINECOLOR 0 0 0 END TRANSFORM true END tilecache.cfg: [cache] type=Disk base=/home/tyler/Projects/Python/mapserver/tilecache/cache [base] type=MapServerLayer layers=vias mapfile=/home/tyelr/Projects/Python/mapserver/tilecache/vias.map projection=+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgri...@null +no_defs +over bbox=-20037508,-20037508,20037508,20037508 maxResolution=2000 srs=EPSG:4326 levels=12 extension=jpeg size=256,256 metaTile=yes metaBuffer=512 metaSize=5,5 debug=on ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] Missing Data
Hi, I am using TIGERLine Data (2009) with Mapserver. I am using the state files to render the counties in a given state. However, not all counties are rendered (only 18 out of 24 are displayed). Does this need to be addressed in the mapfile? Thanks! Monali ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Missing Data
Monali Lodha wrote: Hi, I am using TIGERLine Data (2009) with Mapserver. I am using the state files to render the counties in a given state. However, not all counties are rendered (only 18 out of 24 are displayed). Does this need to be addressed in the mapfile? What does your mapfile look like? What state are you using? What TIGER file did you download? Thanks, -Steve W ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Missing Data
Here is the mapfile: MAP NAME Maryland UNITS dd SIZE 640 480 IMAGECOLOR 255 255 255 IMAGETYPE gif SHAPEPATH C:/ms4w/apps/prj/data/24_MARYLAND/ EXTENT -79.487651 37.886605 -74.986282 39.723037 WEB TEMPLATE 'C:/ms4w/apps/prj/htdocs/home.html' IMAGEPATH 'C:/ms4w/Apache/htdocs/tmp/' IMAGEURL '/tmp/' END LAYER NAME state DATA tl_2009_24_state STATUS on TYPE line CLASS STYLE OUTLINECOLOR 0 0 0 END END END LAYER NAME counties DATA tl_2009_24_county STATUS on TYPE line LABELITEM 'NAME' CLASS NAME Counties STYLE COLOR 212 192 100 END LABEL COLOR 0 0 0 SIZE small END END END END I am using the data for Maryland, downloaded from ftp://ftp2.census.gov/geo/tiger/TIGER2009/24_MARYLAND/ For displaying the counties, we use tl_2009_24_county.* files. Thanks! Monali On Wed, Nov 4, 2009 at 3:29 PM, Stephen Woodbridge wood...@swoodbridge.com wrote: Monali Lodha wrote: Hi, I am using TIGERLine Data (2009) with Mapserver. I am using the state files to render the counties in a given state. However, not all counties are rendered (only 18 out of 24 are displayed). Does this need to be addressed in the mapfile? What does your mapfile look like? What state are you using? What TIGER file did you download? Thanks, -Steve W ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] Missing Data
Monali Lodha wrote: Here is the mapfile: MAP NAME Maryland UNITS dd SIZE 640 480 IMAGECOLOR 255 255 255 IMAGETYPE gif SHAPEPATH C:/ms4w/apps/prj/data/24_MARYLAND/ EXTENT -79.487651 37.886605 -74.986282 39.723037 WEB TEMPLATE 'C:/ms4w/apps/prj/htdocs/home.html' IMAGEPATH 'C:/ms4w/Apache/htdocs/tmp/' IMAGEURL '/tmp/' END LAYER NAME state DATA tl_2009_24_state STATUS on TYPE line CLASS STYLE OUTLINECOLOR 0 0 0 END END END LAYER NAME counties DATA tl_2009_24_county STATUS on TYPE line LABELITEM 'NAME' CLASS NAME Counties STYLE COLOR 212 192 100 END LABEL COLOR 0 0 0 SIZE small END END END END I am using the data for Maryland, downloaded from ftp://ftp2.census.gov/geo/tiger/TIGER2009/24_MARYLAND/ For displaying the counties, we use tl_2009_24_county.* files. Thanks! Monali You might want to check out the WMS Benchmarking mapfile, which uses TIGER2008 data for the state of Texas, tiled by county (http://svn.osgeo.org/osgeo/foss4g/benchmarking/mapserver/shapefile-county.map). You can download the data used in that mapfile at: http://wiki.osgeo.org/wiki/Benchmarking_2009#Download Also, an older but still good example can be found on the tile4ms documentation page: http://www.mapserver.org/utilities/tile4ms.html Hope that helps. -jeff -- Jeff McKenna FOSS4G Consulting and Training Services http://www.gatewaygeomatics.com/ ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users