Bob, See my comments below...
Brent Fraser GeoAnalytic Inc. Calgary, Alberta ----- Original Message ----- From: "Bob Basques" <[EMAIL PROTECTED]> Cc: <[email protected]> Sent: Wednesday, March 19, 2008 8:56 AM Subject: Re: [mapserver-users] GRID labeling, OK, where are the MapServerGRID guru's?? > Brent, > > Thanks for these notes, exactly the type of stuff we're looking for. I > do remember your thread on the graticules BTW. :c) This is also > something of interest to me. The big picture plan is to allow a user > to ultimately plot/print a USNG encoded map per their specification. There will be a few speed bumps with using Mapserver: - memory limitation due to mapserver creating at least two copies of the output graphic in memory ( 34in wide x 44in long at 600 dpi is a huge raster!). That may have changed with the adoption of AGG, but I haven't looked into it. - PDF output in mapserver was (still is?) limited to 256 colors - getting properly scaled output required careful calculation of extents/graphics size. - and of course the grid/graticule issues > There are certainly a lot of other uses for the same sort of labeling > (that I can also use). I'm trying to organize the adds to MapServer so > they are reuseable, or at least set up things so the different types of > labeling are possible with as little additional coding effort as possible. That may be tough. It depends on how picky you are on your label placement. If your map will not be rotated (via the ANGLE setting in the map file), and you will only label projected coordinates (not the lat/lon graticule), it might not be too bad. > > Your method of doing the margins from within the MapFile is an > interesting approach. It's a hack, really only useful to encourage enhancement ideas for cartographic grid/grat features. > > Some general questions to you (and anyone else interested in commenting): > > * Do you see a need at all to display the grid labels along only two > edges, or even in just two axis but just once, along the center of the > page for example, both vertically and horizontally. Personally I don't have the need, but it could be useful for others... > > * Do you see a need to have a variable available for setting the outside > buffer zone area, in other words, for setting how far in (or possibly > out) from the edge of the map, the labels are printed? Absolutely! Besides the need to make it visually pleasing, I may want to label the map once with lat/lon labels close to the neat line, then label again with UTM coordinates sightly farther away from the neat line to avoid collision with the lat/lon labels ( or label in the adjacent zone coordinates, etc). And don't get me started on Township/Range labels! > > * Do you see a need to have the GRID displayed as a TICed grid instead > of continuous lines, I'm not sure how to actually do this at the moment. > Might be a symbol placement sort of thing, with rotation instead of line > drawing. This is further down the list for me at this point though. Yes, I'd like to be able to specify tics instead of lines. You could do it by using symbols with a pre-constructed point shapefile. The problem is you have to contruct it prior to having Mapserver generate the output graphic. This is the problem I have with the "just use a shapefile to display a grid/grat" approach. It's ok if your map site has a limited geographic scope, scale range, coord system choice, etc. And it's ok if you are doing "off-line" automated mapping (i.e. not interactive web mapping). > > * Lastly, do you see a need for an entirely different approach to some > of these labeling/printing aspects, I've been toying with the idea (for > a couple of years now) of building a completely separate service that > can still be complimentary to MapServer and be programmed against in the > same manner from the client side, for templating a print function. The > basic idea would be to build a system where there is a layout canvas on > the client end, that can use URL resources as print objects, and allows > the user to layout where everything goes on a page, which most likely is > some sort of template for printing in pre-defined ways. Mapserver would > handle all the inclusive map grid line markup, but the real detailed > labeling could happen with this separate facility, specifically for > printing. > This is the conclusion that Landon Blake and I came to in the thread previously mentioned. If your intent is to do off-line automated mapping then a graphic layout tool (with some mapping smarts) would give you the flexibility and precision needed. A GUI front end with a batch capability would be the ultimate! That being said, I think there is a need (or a least a desire on my part) to improve the grid/grat capabilities in Mapserver, as least a little: 1. Add a MARGIN object to provide a white space around the perimeter (and prevent spurious labels). I'm not clear on how that would affect query results, etc. 2. Improve the label placement calculation, possibly add GAP value to map file (to replace the "15" in my mapgraticule.c) 3. Add other things like tics, expand formatting (e.g. for NG) > In the end, I think this labeling and grid stuff may push me over the > edge as far as trying out some stuff of our own. I would imagine that > we would start with some of the MapServ code to experiment with. I > think our end result might be too heavy to include in mapserv in > general. This GRID stuff though, has elements in both the direct > mapping as well as Print only aspects. I would look to including some/most of the grid/grat functionality in Mapserver at first. Code it with a eye to using it as well in a separate plugin later (this may not be possible without code revisions). As you've described, the grid/grat stuff is really only a (necessary) subset of a layout tool/system (a far bigger problem). > > I've thought a lot about what should be considered a dynamic, online > navigation tool, vs what should be considered a "print" setup tool. > Many pieces cross the line, and that's where it gets murky on how to start. Mapserver isn't a GIS; it also isn't an automated mapping application. It does have some functions of both those things, and is closer to automated mapping, so I'd start there (but not end there!). Brent _______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users
