export attributes of one point layer to another point layer

1728
8
10-02-2017 07:59 AM
MichalDudek
New Contributor II

Dear all,

I would like to learn how to export attributes from one point layer to another without using the proximity tools. I have two shapefiles (point layers) placed within polygons. Point layer no 1 and no 2 have different attributes and they are spread around polygon shapefile. I need to 'export' attributes from point layer no 1 to point layer no 2 in a way that points from layer no 2 placed within the same polygon get the attributes from points in layer no 1. There are cases that there is no point from one layer (1 or 2) within some polygons ore there is none points within a polygon. There are also cases where there are more than one point from point shp no 2 so there is a need to export the same attribute value to these points. 

I would be very grateful for any recommendations on what to do step by step.

0 Kudos
8 Replies
DanPatterson_Retired
MVP Emeritus

convoluted, and a picture of your corner cases would help.

did you try point intersections with the polygon, then a spatial join of the points to the intersection result's point file?

MichalDudek
New Contributor II

Yes indeed, the data is very tricky. I have attached four different cases that I have been struggled with. Red points are the attribute donors and the brown ones are the receivers of attributes. Case no 1 is where there are one donor and more than one receiver within one polygon (I need to give both of them the attribute from one receiver). Case no 2 is where tehre are many donoros and many receivers within the same polygon (I need to leave them behind and attach the attributes manually), case no 3 is where there are many donors and one receiver (I need to leave them behind as well). Case no 4 is where where is one receiver or one donor and no point from the other group within the same polygon ( I need to leave them behind as well). And there are about 85% of the polygons where there is one donor and one receiver. I havent tried that as I was unsure what to do with those cases.   corner cases    

0 Kudos
MichalDudek
New Contributor II

Dan,

I have tried intersecting polygons with points but the result shapefile is the points with attributes from polygons, and not the ones I need to have attributes with. I still do not know how to transfer attributes from one point shapefile to another given that the points placed in the exact same polygon must have the same attributes transferred.   

Michał

0 Kudos
AbdullahAnter
Occasional Contributor III

How many points do you want to export its attributes?

0 Kudos
MichalDudek
New Contributor II

I want to export the attributes from about 2000 points. 

0 Kudos
JoeBorgione
MVP Emeritus

I'm a little confused here;  you have two point feature classes, and the only constraint is if they are in the same polygon you want to transfer attributes (and I assume values) from one to another?  You may have X number of donors, and Y number of recpients (and vice versa) in a given polygon?  And some how there is a logical and sound approach to doing this?

Let's map this out:  in Polygon A you have donor points D1, D2, D3, D4,D5.  You also have recipient points R1, R2,R3,R4.  I'm a little rusty with my factorials and permutations, but in this case I think the formula looks like this:

5! / (5-4)!  ------>   120 / 1 = 120 different combinations in this very simple example. 

My question is how do you decide which recipient(s) get which donor(s) data especially since you have ruled out a proximity constraint.  Seems to me a random assignment is about as good as you're going to get, but I'm all ears on this one....

That should just about do it....
0 Kudos
MichalDudek
New Contributor II

Joe, 

the idea is not to take care of the polygons where there are more than one donor or multiple donors/recipients. What I need to do is to focus only on polygons with these situation:

1. where there are only 1 donor and 1 recipient

2. where there are only one donor and multiple recipients (each recipient recieves the same attributes and values from the same donor within a given polygon).

So the first step is to get rid of polygons and points with corner cases no 2, 3 4 in my previous message. 

The next step is to transfer the attributes from one point to another (placed within the same polygon). 

Michal

0 Kudos
JoeBorgione
MVP Emeritus

You are describing a 1 to 1 relationship and a 1 to many relationship, and what I was seeing is a many to many relationship. 

I've been messing around lately with cursors in ArcPy.  Seems like you could tease the attribute values out of the single donor, and then run an update cursor on the it's polygon neighbors with the values captured from the donor....

That should just about do it....
0 Kudos