Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I have created a relationship class similar to the one I posted about in this question.

Essentially, there is a point feature class representing a location of vegetation clearing with attributes about the point (size of clearance, property ID, etc). There is also a table with information about different vegetation species that were cleared at that point and attributes about the vegetation (how much of each species was cleared, count of species, etc). The two are linked together with a 1-Many relationship class based on a unique ID which I created.

I can successfully click on a point and see the information about the point as well as all the species that were cleared at that point using the information tool.

However, I would like to query the points based on attributes in the plant species table. For example, "select all points which contain a particular species". But, the Select By Attributes tool doesn't let me see fields in the table. Just the fields in the point feature class.

How can I do this? Is this a limitation of relationship classes? Do I need to query the data some other way?

Thanks for any help.

share|improve this question
    
What kind of database is your data stored in? Relationship classes help with referential integrity and interactively seeing related records in ArcMap but not so much with querying without using custom programming. The simplest solution will probably be a SQL query that joins the two tables and summarizes the information you are after. –  blah238 Jan 10 '13 at 7:08
    
@blah238 It's currently in a file geodatabase, but it will soon be migrated to an SDE geodatabase. Can you please go into a bit more detail about the SQL query needed? The end users of this dataset will unlikely have much knowledge regarding creating queries. –  Fezter Jan 10 '13 at 23:14
    
Well it depends on the underlying DBMS, but for Oracle have a look at GROUP BY, HAVING, COUNT, etc. You might also be able to do the same thing using geoprocessing (Python or ModelBuilder) and Add Join + Frequency or Summary Statistics. Depends on your attributes really, and how they need to be presented. Or are you more interested in just selecting the points (Jens' answer is probably simplest for that) rather than summarizing and reporting the related information? –  blah238 Jan 10 '13 at 23:46
    
Actually, I'm probably just interested in selecting the points in which case I'll use Jens answer. If I have a chance, I'll look into a geoprocessing option. –  Fezter Jan 11 '13 at 0:06
add comment

1 Answer 1

up vote 5 down vote accepted

This works for a "relate" (definded in an MXD). I'm not sure if it works for a "relationship class". Please try.

If you work with a relate you make a selection in table A and transfer this selection to tabe B (this works in both directions of a relate):

  1. Make a selection in the "vegetation table".
  2. Open the attribute table of "vegetation table"
  3. Click the Related Tables button
  4. In the "point table" you see now all points selected which contain a particular species
share|improve this answer
    
Yes, other than the Identify dialog, this is also how relationship classes are interacted with through ArcMap, but I'm not sure that was exactly what the OP is asking. –  blah238 Jan 10 '13 at 9:02
    
Upvoted, nevertheless. A surprising number of people don't realize this functionality exists :) –  blah238 Jan 10 '13 at 9:08
    
@Jens This isn't exactly what I was hoping to do and it would be nice to be able to select the vegetation attributes from the point feature class. However, this method will work just fine for my purposes. I have seen that button in the attribute table many times, but rarely work with relates so I forgot about it. Thanks. –  Fezter Jan 10 '13 at 23:12
    
@Fezter: I completely understand what did you want to accomplish, I have a similar issue. Since relationship classes do not allow for querying or setting definition queries based on the related table, I see very little value in ArcGIS "relate" or "relationship class" functionalities. –  Matej May 15 at 13:52
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.