I work for a small company that designs alignments using ArcGIS. (To give you an idea of company size, we have about 50 employees; I am the only full-time GIS person, although we have 4 ArcMap licenses.)

In the past, the alignments we have dealt with have been fairly straightforward (5 miles or less) so we have handled the numerous version of the alignments simply by saving dated shapefiles for each version of the alignment.

Now we are taking on a project that will be significantly longer and more complex (30+ miles) so I am looking for ways to track the version and changes to our alignment.

I have read some about ArcMap's versioning capabilities but this does not seem like exactly what we are looking for. I do not need the ability for multiple users to edit the database; I will be the only user making changes to this database. I do not have any kind of ArcSDE geodatabase set up.

What I really need is:

  • A way to keep track of each version of the alignment, so I can see what it looked like at any particular moment in time, and
  • A way to track/tag each specific change from the previous version (such as the alignment was moved to the other side of a road at the certain location due to overhead utilities)

Can anyone suggest an ArcMap tool or other system or procedure for efficiently keeping track of these kind of changes?

Note: We only have the Basic ArcMap License. Geodatabase Archiving seems like a great tool for this use, but it requires a Standard or Advanced level license. Any suggestions for tools that work with an ArcMap Basic license? Upgrading would be an option to look into, but I want to explore other options first since Standard may be out of our price range.

  • I added tags for arcsde and archiving because I think within the ArcGIS platform they will be your only options, and to help group your question with like questions. However, if multi-user geodatabases are out of scope then just clarify that within your question, and then remove them. – PolyGeo Dec 15 '15 at 21:42
  • @PolyGeo I clarified that this database will not be edited by multiple users. Only one person at a time (and most likely one person ever) will need to be able to edit the database. I removed the ArcSDE tag because I believe that's the tag you referenced that dealt with multi-user geodatabases. – Sara Barnes Dec 15 '15 at 22:34
  • I am not very familiar with it, but GeoGig (formerly GeoGit) is an open-source geospatial version control tool that you may be interested in: geogig.org – blah238 Dec 18 '15 at 23:14
  • Another possibility might be using GitHub's diffable GeoJSON feature: github.com/blog/1772-diffable-more-customizable-maps – blah238 Dec 18 '15 at 23:17

The requirements that you describe seem to match those of Geodatabase Archiving:

Archiving in ArcGIS provides the functionality to record and access changes made to all or a subset of data in a geodatabase. Geodatabase archiving is the mechanism for capturing, managing, and analyzing data change.

Organizations need to preserve the changes made to their data in order to answer common questions, such as

  • What was the value for a specific attribute at a certain moment?
  • How has a particular feature or row changed through time?
  • How has a spatial area evolved over time?

In the absence of ArcSDE and Standard/Advanced level licensing to support Geodatabase Archiving you would need to develop code and procedures to keep copies of every geometry and attribute state of every feature, and the means to view them as they were at any point in time. This would be a far from simple task.

| improve this answer | |
  • As a note, the geodatabase archiving tools are only available with a Standard or Advanced license. This seems like exactly what I'm looking for except I only have a basic license. Do you know of any solutions for a basic license? – Sara Barnes Dec 18 '15 at 20:13

One thing that we do is take a snapshot of parcels, land use and other data at a point in time when we are creating a report--that way, if/when anything is called into question we have the data used for that particular item available without having to sort through edits/archives. (To do this just save a copy of the database to a new location, change permissions to read only to ensure that nobody does go back in and edit after the fact). EDIT: This is pretty much exactly what PROBERT stated above--I think we were answering at the same time. Prefixing with a date is a great practice with this.

With a basic license, I would suggest adding a Comments field and updating that field every time an adjustment is made. At the end of the year (or whatever point in time) where you save a copy of the database, you can clear out the comments field for the master. An advantage to this is being able to sort by that column to see what has been changed since the last save.

| improve this answer | |
  • +1 for saving a read-only copy of the GDB as a snapshot of the project instead of individual shapefiles. I like the idea of using a comments field but usually we just have one feature in our alignment feature class so it would be hard to note changes at specific points. I guess we could always split the line and merge it back together later. – Sara Barnes Dec 21 '15 at 16:24
  • Or you could add a separate polygon 'red line' layer that highlights changed areas and any reason for the change up. That would be easier than dealing with splitting and merging, but keep track of areas that might have been changed and why. – MaryBeth Dec 21 '15 at 16:26
  • This sounds a lot like a Github repository. People use Git for tracking the versions of software projects, but you can use it for anything. You could set your existing GDB as a Github repository, then "commit" a new copy whenever you make significant changes. You could also add a comment to help find that point later. – Justin Johnson Dec 22 '15 at 20:17

On one other idea is if you have no choice, you can just name the shapefile you are working on but just name the dated you made any changes to that shapefile. or you can use "Append" but ensure you set up the field name of the dates .

For example,

ie: river_arkansas_2015_21_12

name of river , year 2015 day 21 month 12

That are just my suggestion here.

| improve this answer | |
  • Thanks - this is what we have done in the past and it has worked well for shorter routes. If I can't find another solution for this longer project, I will use this method. – Sara Barnes Dec 21 '15 at 16:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.