Query/symbolize features based on related records

5854
9
02-11-2011 07:38 AM
JaneOnorati
New Contributor III
An ArcGIS 10 webhelp topic on relationship classes states that they will "allow you to query related features and records. Similar to an ArcMap join, you can query, perform analysis, and generate reports with attributes from a related class."  What does this mean or where is some help on how to do this? 

I understand that you can access the related records (one at a time) using Identify or from the attribute table using the Related Tables command.  Is this what the help means by "query" or "perform analysis"?  Is there any way select multiple records (related table or related features) using a query expression, or symbolize based on related record values?  I'm working with a 1:M relationship.

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Benefits_of_relationship_classes/004t0...
9 Replies
ChrisChutter
New Contributor
I am having the same problem and my GIS proffessor tells me that the answer is that ESRI has not programmed this very common sense ability into its software and although it seems like this should be elementary we are out of luck within the ArcGIS framework.  I hope he is mistaken, but I have been unable to prove it, it seems you are able to create relationship classes with ArcGIS, but not really use them the way even the most basic DBMS would allow.
0 Kudos
ChrisChutter
New Contributor
Does bumping work here?  Guess I'll find out.
0 Kudos
DoreenGroth1
New Contributor II

Has anybody an update on this issue?

Thanks,

Doreen

0 Kudos
RichardFairhurst
MVP Honored Contributor

You cannot use a relate or relationship class to do symbology of a 1:M relationship.  As far as symbolizing you have to convert the 1:M relationship to a 1:1 relationship.  This can be done either by using summary tools, or if you have ArcGIS 10.1 or higher, by putting everything into the same geodatabase, joining the features on one field, and exporting the features to create a 1:1 feature class.

IF you are querying fields from only one data source in the relationship, then a relate works fine to select the records in the related feature class.  However, the methods mentioned in the first paragraph are the only efficient way to query fields that involve the combination of the two datasets. 

Of course, both of these methods do not refresh if you edit the original data, so they constantly have to be recreated.

If you are willing to use an Inner Join (only records that match in both data sources are visible) you can use the Make Query Table/.  But that tool does not refresh if you edit the original data, cannot be edited, and performs badly, so it sucks.  I always use the other methods I mentioned and never use this tool.

For some queries and analysis you can use cursors and dictionaries to perform the join in memory and get results, but it won't generally help with symbology without creating a new feature class..

DoreenGroth1
New Contributor II

Thanks a lot Richard for your help!!!!

Best wishes,

Doreen

0 Kudos
NaomiBegg2
Occasional Contributor III

Has there been any more progress on this?

0 Kudos
NaomiBegg2
Occasional Contributor III

My scenario is that I have a geometry layer with parks, and a table that will progressively be filled out when the park has been mowed and when it is next due to be mowed.  I have set this up as a relationship class.  I would like to be able to symbolise on multiple different factors, mostly timewise i.e. what parks are due to be mowed in July verse those in August ... all while keeping track of what has been done by who in the past.

0 Kudos
by Anonymous User
Not applicable

In case anyone comes here looking for an answer to symbolizing by related table, here is a link to a collector discussion that resolves this question, it works in ArcMap, ArcPro and in Web apps.

https://community.esri.com/thread/164994 

MattWilkie1
Occasional Contributor II

Thanks Michael, very informative.

Unless I'm missing something the 2 solutions in that thread both rely on external functionality not present in ArcMap and Pro by themselves: publishing the joined/related table as a feature service (so you need ArcGIS Online or ArcGIS Server), or using DB tools to create a filtered view of the related table that ArcMap/Pro can use a 1:1 join on. Conceptually they're both the same solution.

0 Kudos