[GIS] Automatically update feature class based on another feature class in same geodatabase

arcgis-10.1esri-geodatabasefeature-classrelationship-classupdate

I work at headquarters and there are 3 regions. Each region is responsible for their data and headquarters is responsible for merging the data and creating a national coverage. All regions and headquarters have the same fields in their feature classes.

I am using ArcGIS 10.1. The data is currently stored as follows: there’s one SDE geodatabase, each region has a Feature Dataset with their data in it. Headquarters also has a Feature Dataset with national data – which is just basically a merge of the regional datasets. What I want is an automatic or even semi-automatic way of updating a national feature class when the related regional feature class has been updated.

I originally wanted to have a geodatabase for each region and then create a parent child relationship but the IT people will not allow it. We are allowed only one geodatabase on the network for this project.

I made a test file geodatabase locally and I have tried to create a Relationship Class with one region and headquarters. I put the region as the origin and national data as the destination. I made it a 1 to 1 and composite relationship. It was created successfully, but then when I edited the regional data (I added a new polygon, moved a polygon, deleted a polygon and changed the name of a polygon) the changes were not reflected in the related national feature class.

I want to know if the Relationship Class the best route to take for this project (assuming I can get it to work) or should I get my hands dirty with Python and use an update cursor? Or is there some other solution that I haven’t considered?

edit:
The database is a SQL Server Enterprise Database and Headquarters has all privileges, but the regions are only able to edit their own. There are four feature classes per region, three of which will be edited. They are not currently versioned. Right now the process of updating is tedious – they send us the file and we update the national. They do all have GUID columns. Everything is running through shared services on Citrix, so there is a login associated with each user.

Best Answer

I think versioning would probably accomplish what you want. Here is a potential workflow:

  • Since the schema for the regions is the same, create one seamless feature class with all three regions in the default version of the database
  • Create three versions of the database , one for each region
  • Write a Python script to reconcile and post the versions on a nightly basis. You can set up a model using tools from ArcToolbox, and then export it to a Python script.

I think that this will be a good route for allowing each region to work indepently, and solves the problem of merging the datasets on nightly basis.

Related Question