In the past, I have released data as zipped Shapefiles (for the professional GIS crowd) and KML/KMZ (viewable by anyone using Google Earth). Are there other formats that would be especially helpful?
You can find a list of GIS file formats on Wikipedia. Here is a decent overview of open source GIS servers from the gis.se site, these are the servers people who use open data will most likely be using, so target the formats that those servers use. I would consider some kind of open vector/raster format (I like geoJSON for personal projects because it works well with openlayers, I also know people who use netCDF and JPEG2000). As a side note I've used this tool before to convert between different formats.
My experience, making maps from quite a few government datasets:
For point data, CSV is the best, with "lat" and "lon" columns. Very easy to work with in a wide range of tools, including text editors, spreadsheets, etc. The only downside I've come across so far is that GDAL sometimes requires you to make a .vrt companion file. (EDIT: Another downside is there's no universal standard for what to call the lat/lon columns.)
For lines and polygons, in decreasing order of preference:
- GeoJSON. Easy to work with, and the ability to edit in a text editor is a real bonus, if you need to do search/replace, remove a couple of weird objects or copy and paste from one file to another. Another benefit is that non-GIS developers can make sense of it. Only issues I've run into is when someone provides data as say MultiPoint instead of Point.
- Shapefile. Very widely supported, but with two inconvenient points. First, it's a collection of files, so you have to pass around a .zip and extract it. Second, field names are limited to 10 characters. They're hard to edit for your average non-GIS person.
- KML/KMZ. These often have a lot of irrelevant cruft (styling, icons, etc), and attributes are often (always?) encoded as mini HTML tables, which are really hard to work with. At least you can edit them easily with Google tools.
Honestly, though, the best answer is probably "all of them". Do everyone a favour and release the data in CSV (if point), GeoJSON, zipped Shapefile and KMZ.
Geospatial Data Standardization No more KML, KMZ, SHP files!
I will make the somewhat bold and possibly controversial statement that geospatial data should always be available in two single standardized, non-proprietary and text-based formats depending upon the nature of the data:
- Coordinate Point Geospatial Data - While GeoJSON can also theoretically store point data, for a simple list of points on a map, it would create needless complexity. A simple CSV (comma-separated value) file with two separate columns at the beginning of each array or row for the values 'lat' and 'long' (latitude and longitude) should always be the de facto storage format for point data. No .xls, .xlsx or .tsv files.
So, GeoJSON for shapes, CSV for points.