Select to view content in your preferred language

Layer Definition Query - When does it update?

1010
5
03-18-2024 09:45 AM
sdavidson
New Contributor

Using ArcGIS Pro - Connected to enterprise database, and the featureclass is in the enterprise database.

When does a definition query on a layer update? I have two versions of the same featureclass in a map: one layer has a definition query and the other does not.

  • The definition query is used to show/find locations where a field was not properly filled in during feature creation. The symbology on this layer is fairly basic (literally just purple lines). The definition query is "if field x is null".
  • The other layer is the same, but no definition query and the symbology is more complex. Updates are completed on this layer. Specifically updating field 'x' identified through the definition query in the other layer.

After completing an edit on the non-definition query layer (on the field the definition query is looking for) the definition query layer doesn't update. However, when restarting ArcGIS Pro the layer updates. Is there a way to update the layer without restarting the entire program?

What I've tried:

  • Refreshing the map.
  • Refreshing the definition query layer attribute table.
  • Creating a second definition query and switching between them.
  • Googled definition query and could not find when and how the table is updated.

Happy to provide additional information; please be specific.

0 Kudos
5 Replies
DanPatterson
MVP Esteemed Contributor

I tend not to use definition queries, but sometimes display filters,

Use display filters—ArcGIS Pro | Documentation

however, there is a toggle for layers (layer properties, general) which is off by default, toggle it on for a suitable time interval and see if it has any effect

refresh.png


... sort of retired...
0 Kudos
clt_cabq
Frequent Contributor

I've used similar approach to what you describe - I think what you are looking for is the refresh button down in the lower right part of the map window - after you have made updates, hit that and it should refresh all layers in your map, this has always worked for me. 

clt_cabq_0-1710788518323.png

 

sdavidson
New Contributor

Hi clt_cabq,

Thank you for the kind reply. This is one of the solutions I tried, described in my first post, and it is not working. Appreciate the suggestion.

0 Kudos
Bud
by
Esteemed Contributor

I’m surprised refreshing doesn’t work.

Could you show us a screen recording video using a program like ScreenToGIF? You can use the portable version is you don’t have Windows Admin Privileges. If your data is sensitive, you could create dummy data for the purpose of the video.

Other questions:

  1. What kind of enterprise geodatabase? Oracle 18c?
  2. What version of ArcGIS Pro?
  3. Are you manually saving your edits before refreshing?
  4. What are your editing settings? Saving automatically, etc.
  5. Can you show us a video of a simplified workflow from scratch? Create a new map with new simplified dummy data. Sometimes starting from scratch like that can help identify the issue.

 

0 Kudos
ODWC_GIS
Frequent Contributor

I'm not the OP, but have been having a similar issue.  I use ArcGIS Pro 3.2 to author layers and publish them to an 11.1 Enterprise Server.  From there, they are incorporated into maps in ArcGIS Online, and further wrapped by Editing Apps that my colleagues use to make changes to the served data- Desktop and FieldMaps versions both, but no need to overly complicate things.

A user of our Desktop Editor App (still in Web AppBuilder) ought to be able to add a specific string to the "Comments" field of a feature, and that one record ought to then be removed from sight via the Definition Query set up within the original layer.

But refreshing the Attribute Table nor refreshing the App (F5) appears to trigger the Definition Query.

<<I've got a similar setup in another item, and altering the records immediately triggers the Definition Query.  But in that case, it's looking for a field to contain any non-blank value.  Whereas in the case described above, I'm looking for a particular string within a field.>>