Enterprise Geodatabase recalculate all features in fc

576
4
09-19-2022 01:20 AM
Labels (2)
SebastianBosbach
New Contributor III

Hi at all,

I'm looking for the best way to update features in my enterprise geodatabase.

I have a point feature class with some attribute rules, to update attributes on editing or creating.

One of these rules, searches for the nearest feature out of 5 different feature classes in an 500m radius.

This rule works fine, if I edit or create some features in a session.

But because the 5 mentioned fcs are imported daily from another system, I need to update the calculated attributes after these fcs are imported.

The point fc has like 500.000 features.

The imported fcs have combined round about 30.000 features. (3 fcs are polylines and 2 fcs are points)

What would be the best and fastest way to update all of my point features after importing?

0 Kudos
4 Replies
JohannesLindner
MVP Frequent Contributor

Easiest way is to use Calculate Field to set the target field null to trigger the Attribute Rule. With that many features, this probably takes some time.

Fastest way is probably to run a Python script after importing that does the following

  • Disable the Attribute Rule
  • Run the Near tool for all target feature classes
  • For each point, find the closest feature
  • Use UpdateCursor to calculate the field
  • Enable the Attribute Rule

Have a great day!
Johannes
SebastianBosbach
New Contributor III

I need to update my last post.

The near function takes only 2,5 minutes if I run this on a local feature class.

If I do this on the feature class in the egdb, it takes 1h+. (it is still running)

Do I need to setup the enterprise geodatabase in some way before doing large transactions?

The egdb is in branched versioning type.

0 Kudos
JohannesLindner
MVP Frequent Contributor

I'm not sure, but try running Rebuild Indexes before.


Have a great day!
Johannes
0 Kudos
SebastianBosbach
New Contributor III

Thanks for your input,

this is more or less, what I had in mind as a solution.

Updating all features with the attribute rule would be to slow, one feature takes round about 0,5 seconds to update.

While the near function takes 2,5 minutes to update all 500.000 features.

So I will go with your second suggestion and do this with Python.

I had hope to do this with the trigger, so I only have the logic in one place instead of two.

0 Kudos