Tag Info

Hot answers tagged

42

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 ...


32

I think the stock/obvious answer would be to use a spatial database (PostGIS, Oracle, SDE, MSSQL Spatial, etc) in conjunction with a metadata server such as esri's GeoPortal or the open source GeoNetwork application, and overall I think this is generally the best solution. However, you'll likely always have a need for project-based snapshots / branches / ...


15

Metadata is by far the most important issue here. If metadata answers whom, when, why, where it's an acceptable metadata record. Having work experience in large companies with just a few GIS users (around 30) we had major issues to control data, specially versions and permissions. One side of this can be solved with extensive documenting of data (metadata) ...


10

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'] >>>


9

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 = ...


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 ...


7

We have used a file system organized hierarchically by: - geographic extent (country or continent) - data provider, licensor - domain/dataset - date/version After that we have a policy to separate the source data (in the same format that was on whatever CD/DVD that we got from the provider) from any derived datasets that we produced within our company. The ...


7

Every mainstream version control software, be it central central version control like SVN or distributed solutions like Git, Mercurial, Bazaar etc. allow storage of binary files. They are all quite effective both performance-wise and also in terms of occupied space. Inspecting differences between revisions/versions of a file is of course different story. ...


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 ...


5

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 ...


5

Currently I have the workflow of ArcCatalog: opening toolbox > selecting model > editing > file > export > to python, switch to SCM tool > refresh changes > commit changes (enter log comment). It's cumbersome so I don't do it so much, and thereby lose many of the benefits of versioning.


5

I've dreamed of someone implementing non-destructive editing for GIS data. It's compute intensive but shouldn't be difficult implement in an RDBMS. Start with a snapshot of the data. Any changes are saved as edits, the original data remains unchanged. In your example, the buildings come in initially from the public sector data. When a user makes an edit, ...


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

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:


5

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 ...


4

Ok, I found a tool myself: http://www.obviously.com/gis/shpdiff/ - see if I can make it work.


4

If I understand your question corrrectly IMO the answer is no. Versioning simply stated tracks changes to existing data within the database. I used to use a modelbuilder script to check incoming shape files for "diff" in both the spatial and attributes, make a selection of the new differing data and then export that to a seperate file for import to my db. ...


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

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 ...


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

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

You are almost there. You just need to test in the list comprehension you get that the v.name is not equal to certain strings. def getParameterInfo(self): """Define parameter definitions""" param0 = arcpy.Parameter( displayName="Input Features", name="in_features", datatype="GPString", ...


3

According to the documentation here, you need to raise an error rather than using AbortEditOperation when you want to cancel an edit in OnDelete. If you are using the OnCreate, OnDelete or OnChange methods in a class extension to validate edit operations, you should not call AbortEditOperation on the workspace if your logic indicates that the ...


3

We reported this as a bug in 9.2 a couple of years ago... Our way around it was to create a multi version view using sdetable, then take the view definition and create a new view in SQL with the calls to SDE_get_view_state() replaced by: (SELECT state_id FROM sde.sde.SDE_versions WHERE name = 'DEFAULT' AND owner = 'dbo') It must be replaced at three ...


3

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 ...


3

I've had good results with this script: Change Detector


3

I think this ESRI support page may be relevant. I believe it is worth posting the warnings on that page here: Never use database management system (DBMS) tools to update any row ID (object ID) field maintained by ArcSDE in the database. These object ID fields are allocated and managed by the geodatabase and, therefore, should not be altered ...



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