meta data for this page
GIS and p(l)ain text
So you are working with geospatial data. You are collaborating with several people on the same dataset. People in your team are on different OS (Mac, Win or Linux) and want to use different geospatial tools, like QGIS, GPlates, GMT, OpenJUMP or ArcGIS or Matlab as they all have different requirements and used to different workflows in their geoscientific research. You would like to keep track of the changes made to that specific dataset and snapshot it at different stages – ideally through SVN, git or any other revisioning tool. You don't have any money and probably even less time.
So (unless I am mistaken) there are some options right at hand:
- Who cares about money: stuff all that open source software (who uses that anyway…), convert everyone to M$ Windoze and force them to use the one and only mighty ESRI ArcGIS. Yeah…NOT really.
- Put a lot of effort into setting up PostGIS plus versioning and then spend the rest of your life on figuring out how to connect ArcGIS in a way that you can read and write to that DB.
- Put the good old shp file into a a revisioning system. Hm, not too great for binary files and if you'd like to check differences on a single feature between two versions…
- Give up on the idea of revisioning and just make every user to save snapsots manually and store them in a central location?
Strangely, in 2012 there seems to be not a single “open”, non-binary file format which can be edited and read across the whole FOSS and proprietary GIS world - at least to my knowledge. A potential candidate, with little overhead is the GMT OGR format (see the documentation in the GMT5 cookbook - PDF file link here, which is produced by
ogr2ogr, when converting shapefiles to GMT's plain text format. So I guess this is what I will be doing:
- Set up the common dataset as shapefile, add all attributes and geometries so far
- Modify it in your GIS application of choice
- Once you have done your changes, save the shapefile.
- Convert the shapefile to GMT OGR using ogr2ogr
- Put the GMT OGR file into the revisioning system.
- Revert the process when needing to modify the data.
One could potentially write a Python script to do this in Arc but running ogr2ogr on the command line once shouldn't be too hard…