53

Ugh. The answer is really a complicated one that requires a lot of ArcSDE background, so I will try to be as brief as possible. Note I am going to refer to some diagrams from the super awesome versioning white paper that you can find in the ESRI site. If you are dealing with versioning, I extremely encourage you to read it throughly. Then, you need to ...


19

We are currently working on a complete redesign of our geodatastores. I have to say that their evolution took more than 20 years till now. We identified the following key features in geospatial data management: simultaneous editing permissions to read or write portions of data hot update while running services that rely on data (Transactions and ACID ...


15

If you call the method arcpy.Describe() on your feature class - e.g. arcpy.Describe("path/to/my/feature/class"), you will get a Dataset properties object. You can then use the isVersioned property of this object to get a boolean, whether or not your dataset is versioned. Code snippet: import arcpy datasetVersioned = arcpy.Describe("path/to/my/feature/class"...


11

EDIT: This looks like the best option from NASA in 2010. archiving is now availble in 10.0 Also track user changes is coming :) oops. You might also look for "the differ" script. It is a bit old but might give some direction. and old editor tracking


10

There is a function on arcpy called ListVersions. Here's online help for it. >>> print (arcpy.ListVersions('bigiron.sde')) [u'BILLY.VersionOne', u'JOE.2B8E86', u'S.DEFAULT'] >>>


8

Edits to the DEFAULT version are stored in the delta tables unless you register the version with the option to move edits to base. You won't see edits to DEFAULT version when connecting with a non-SDE aware connection. You will only see the original table. Try registering your version with the option to move edits to base, make an edit to default and then ...


8

Right-click on the Feature Class in question using ArcCatalog or Catalog window in ArcMap. View the Feature Class Properties. Under the General tab there is a Versioning section which will contain your answer. Example when option to move to base is checked:


7

The delta tables and state tree have a direct performance impact on your queries. First, you need to understand versioning; I did a short explanation of the relationship of the state tree and version labels in a different answer. I think it would help you to go over it. After reading that answer, you can then realize how a long state id branch (from root ...


7

There is tool called Geodatabase Toolset (GDBT), which is a plugin to ArcCatalog. It visualizes the state linage and versions: Download GDBT here


7

This is exactly what Historical Versions (aka Archiving) were created for. Go ahead and Enable Archiving in ArcCatalog. Create a Historical Marker for the initial source version and another one for the end. Then you can open the table in a version created from the first marker, another one for a version in the target marker. A difference cursor will spit out ...


7

There are tradeoffs. I don't use this option because it limits the ability to create "check-out replicas" (show stopper for me). Another limitation when you chose this option is that you can't edit feature classes that participate in a topology. Many people use this option because they need to support third party (non-ESRI) applications. When edits are made ...


7

The answer is yes that the number of rows in the sde_state_lineages table directly impacts performance of the geodatabase. 200k rows is not considered "alot" but that is relative to your available resources and assuming there are no versioning issues that would require a diagnose/repair. Continue to compress often. From your naming conventions it looks like ...


7

Versioning is for editing in a multi-user environment. Replication is for replicating your data in a multi-database environment. They are two very different things. In a multi-user environment the versioning is used to enable handling of conflicts where two (or more) editors may have edited the same feature. It gives the abililty to choose the correct ...


7

In short, unsaved/temporary edits in ArcGIS geodatabase are stored in a table, specifically Delta tables also know as A (add) & D (delete) tables based on the information I'm aware of and researched. In Esri's Registering as versioned with the option to move edits to base If you decide to register a feature dataset, stand-alone feature class, or ...


6

ModelBuilder is old, clunky, and is not getting any significant updates with ArcGIS Pro, if this tweet is any indication. I have never been a big fan of it (though begrudgingly still use it when I have to), so you might consider this answer as a sidestepping of the question and a recommendation to look at alternatives. FME is arguably the most obvious ...


6

You can edit non versioned data too. In Editor Options dialog, select Versioning tab and unchec "Edit a version..." checkbox. Then start editing.


6

After some further research I have confirmed that this is a known bug. Hopefully adding this information here will save someone some time in the future as it was not easy to find using Google or the Esri site. Bug NIM-087927 Submitted: Jan 8, 2013 Status: Open http://support.esri.com/en/bugs/nimbus/TklNMDg3OTI3


6

A lineage length of 289 indicates 289 states participate in that lineage. If this is after a compress operation, this indicates there are 289 states that cannot be compressed together to collapse that lineage without affecting the versioned table structure. A likely cause of this is that there are versions that directly reference those states. You can see ...


5

Postgres all the way as others have said, however if you want to keep it portable and easy to move, then you could always look at using SQLite + the Spatialite extension. Not as easy to use as Postgres in terms of management tools, but QGis CAN talk directly to a spatialite enabled GIS Database without any problems. I actually use SQLite + Spatialite for ...


5

I've wrote similar python code what your trying to do. Try the following: Check current version using Describe/Workspace properties Create ArcSDE Connection File to connect to version you want to replicate Replicate version using Create Replica Hope that helps.


5

It fails because the version creation block is inside the loop over existing version. As it is now, the code loads the list of version, reads the name of the 1st one, and if the owner is different than the one in versionName, it creates the version. To fix it, you must move the version creation block outside of the loop. You create a flag variable ...


4

The introduction of Python toolboxes at ArcGIS 10.1 for Desktop invalidates your four year old statement that all: Toolboxes, and thus their models, are binary. Standard toolboxes are binary but Python toolboxes (*.pyt) are text files. Consequently, I think Python toolboxes should be considered if version control of source code trumps the requirement ...


4

[First post apologies: This is meant to be a comment not a definitive answer.] If you have any edit versions that are relatively old and have not been posted they should be deleted, posted or reconciled. An old unreconciled version keeps an old view of default, which prevents delta records belonging to newer versions from being compressed into the base ...


4

Reconcile is probably not what you are looking for here. You'd want to compress "sdeversion -o compress". The compress moves entries in the add and delete tables into the base table if the states permit. In your case with only the default version this is not a problem. Otherwise you'd have to reconcile all versions against default before the compress to be ...


4

A quick search of the ArcGIS help site turned up a couple of items that might be of use to you. These are all located under the ArcObjects SDK 10 for Microsoft .NET Framework. The first item discusses Listening to Versioned Events The next item discusses Reconciling versions The general arguments for each of these include specifying the source version and ...


4

My understanding of the process would say no. When you rec and post you get entity level conflict resolution (not vertex or attribute level).


4

Try disabling archiving before you delete anything. When you disable archiving, you should get a message that gives you an option to keep or discard the history (the _H table). If you keep it, then it becomes a regular ol' feature class. The _H tables track the history of changes to the default version, as you make edits to a feature class that has archiving ...


4

You can export the schema: Copying a geodatabase schema using Extract Data Wizard in ArcMap http://help.arcgis.com/en/arcgisserver/10.0/help/arcgis_server_dotnet_help/index.html#/Copying_a_geodatabase_schema_using_the_Extract_Data_Wizard_in_ArcMap/0093000000t1000000/ Alternately use the Geodatabase Designer/Diagrammer http://resources.arcgis.com/gallery/...


4

Unversioning removes the A and D tables associated with a single versioned feature class. Any edits not reconciled and posted to the base table will be lost, which appears to be your goal.


4

I found what looks to be the solution to this from Thomas Brown at the old ArcGIS Discussion Forums: Once a topology dataset is register as versioned, you must perform the validation within ArcMap while editing. Simply add your topology to ArcMap (as the DEFAULT version or any other), add your topology toolbar, start editing and click the ...


Only top voted, non community-wiki answers of a minimum length are eligible