2

In ArcMap I have a point layer containing two types of survey records 'Pre Survey' and 'Post Survey'. Although the Pre and Post survey locations are very similar (within 20m), they are not spatially identical. Additionally, I do not have a common unique id field linking them.

I want to be able to extract or link values from the pre and post sites.

I have looked using 'Spatial Join' which mostly works, however it seems I have to create two new point layers (a Pre and Post)? I have also looked at 'Select by Location', and 'Search Cursor' to iterate through they 'Pre Survey' records and find a 'Post Survey' record within 20m.

Is 'Spatial Join' the best way to go about this?

If 'Spatial Join' is the best way is there a way I can do this without having to create two new separate layers (i.e. can I do this from within the original point layer containing both pre and post sites)?

I have reasonable skills with scripting and python.

  • If you have an advanced license you can use Near (adds/overwrites fields to your input points) or Generate Near Table (produces a table that can be joined to your input data). If you don't have an advanced license then Spatial Join is your only option. – Michael Stimson Jun 28 '17 at 4:27
  • This works well and an option I had not considered. – Nic Jun 29 '17 at 13:07
0

Buffer the points to the desirable radius, so the pre and post points touch each other, but they don't mix with other points you don't want.

Second, once they're touching do an intersect between the two brand new buffered layers, with the "Join attributes" ALL option. This intersected polygons, will have both attributes, the pre and the post survey. As a third optional step, you can do a "feature to point" conversion, to turn the polygons back to points without losing the survey info. Then, you will have a third layer that combines both informations.

|improve this answer|||||
0

Using Near function (Advanced license required) it the most effective solution.

|improve this answer|||||

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.