There are tons of ways to store spatial data, but sharing cartography is much harder. ESRI seems to be using their new Layer Package “format” to keep the ESRI layer file with the datasets. Outside of that I don’t really see much in the way for cartography support with data layers (other than the odd ESRI LYR file offered up on FTP sites). In a way, there is much to like about ESRI’s decision to use essentially a sidecar file for storing symbology and maybe there is a more open method of sharing this information.
Most of the time when you download data, you just get the raw file format (usually shapefiles). You then drag your new downloaded dataset to your viewer (possibly ArcView, maybe uDig) and then you proceed to try and figure out how to color the map up (of course there is no metadata so you can’t figure out what field you should symbolize on) in an attempt to match that PDF of a scanned map that someone gave you. Wouldn’t it be better if there was included symbology that allowed you to view that data layer the way the author intended?
Well as I said, ESRI’s Layer Package format does this. The Layer file is of course a problem because you need ArcObjects to read it. But in an ESRI world, that isn’t too much of a problem. Outside of an ESRI world, maybe the MapServer Mapfile might be the best way to get symbology information in (heck you can write out a Mapfile from ESRI, let alone all those open source clients). Some have said KML is that format. I disagree because it doesn’t lend itself to storing attribute information (maybe there are ways, but I still question if KML should be used this way). At least KML does store simple symbology with the dataset.
Ron Lake offers up SLD/SE as an option, but acknowleges that it really has no traction. I really haven’t seen SLD used much beyond some GeoServer documentation and I’ve not seen anyone try and use SLD for storing cartography in desktop clients (NOTE: According to comments uDig does support SLD, but not be default which is a good starting point). Sean Gillies thinks CSS is the best option but again we run into the issues of desktop clients not supporting it and probably won’t (though Sean gets GeoMonkey cred for continuing to use the term “GeoWeb” every chance he gets).
What about Mapnik?? It does a superb job at rendering great maps and Andrew Turner says there is a project that can convert CSS into Mapnik. Now that might be a workflow. CSS is very easy to edit and and work with and? Mapnik is great at rendering cartography (and could easily be supported by desktop clients). CSS gets stored as a sidecar file to the dataset and the rich cartography can be read with Mapnik to render the maps as the author wishes the maps to look. Maybe Sean is on to something after all…
If we are going to go out on the GeoWeb wall of death, we’ll need a sidecar.