5

I have two tables in an enterprise geodatabase stored in PostgreSQL and accessed via ArcSDE:

parcel and person 1 or + parcel can have 1 or + person (relationship is pll_person) enter image description here

I can display all parcels with annotation "id"

What I want is to display in each parcel the Name of the person(s) in the related table - see picture please :

enter image description here

I want to display parcels proprietor name as annotation please any suggestion ?

  • 1
    What do you want to happen when multiple persons are associated with a parcel? – blah238 Oct 23 '13 at 8:43
  • 1
    possible duplicate of Label one to many relationship class. The comment of @Georg shows a solution. – Jens Oct 23 '13 at 8:49
  • 2
    I think it would be much more efficient to use a query layer than the label expression solution proposed in the linked question. I don't have an example handy though. – blah238 Oct 23 '13 at 8:55
  • 1
    You could also create a spatial view if you want to persist its definition in the DB. – blah238 Oct 23 '13 at 8:58
  • 1
    @PolyGeo this could be done as part of the query: stackoverflow.com/a/8803563/386205 – blah238 Oct 23 '13 at 10:58
3

I have only done this kind of thing with SQL Server but this link has some techniques that should help you accomplish what you want with PostGres.

How to concatenate strings field in postgresql

The steps you would need to carry out would be:

  1. Create a View in the database (using the techniques described in the link) that returns a table with two fields, Parcel Id and Concatenated Owners Names. Note that the delimiter between names will need to be a carriage return as opposed to a comma.

  2. Open the View in ArcGIS; one way to do this would be as a query layer.

  3. Join the View to the Parcels using the Parcel ID

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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