Comparing two point files with one polygon

2996
40
Jump to solution
02-01-2018 09:47 AM
HannahSmith3
New Contributor II

I am doing some QA to some addressing. I have two address point files.

One from several years ago that  the address point is placed on the buildings (which I want the newer data to do). The second is a month old that the address points are at the centroid of the parcel layer.

I need to see where adjustments are needed. I was hoping to find a method to compare the two address points for changes in the address number and road name and the differences of the placement such as that number is not found within that parcel (polygon).

Anyone have any ideas? I have a Basic Licenses for ArcMap 10.5

0 Kudos
40 Replies
JoeBorgione
MVP Emeritus

Always a pleasure!

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

The issue is that the spaces are not within the fields I am concatenating, but the spaces I am using to make it readable. The spaces are an issue when it runs into a field that is null/blank. [HOUSE_NUB]&" "& [PREFIX_DIR]&" "&[PREFIX_TYPE]&" "&[STREET_NAM]&" "&[STREET_TYP]&" "&[SUFFIX_DIR].

If I do not put in the " " command the whole string runs together. I hope I am making sense. 

0 Kudos
RichardDaniels
Occasional Contributor III

Other have addressed dealing with the addressing, but your second question was about 'two point files with one polygon | differences of the placement'.

I suggest trying the Near (ArcMap) or Generate Near Table (ArcGIS Pro) command.

Summary

Calculates distances and other proximity information between features in one or more feature class or layer. Unlike the Near tool, which modifies the input, Generate Near Table writes results to a new stand-alone table and supports finding more than one near feature.

This, along with the address information, should help you associate the points correctly.

JoeBorgione
MVP Emeritus

Isn't the near tool/command available only at the Advanced License level?  That's what I was alluding to with my comment about finding coincident points being tricky with a Basic license....

Near—Help | ArcGIS Desktop 

That should just about do it....
HannahSmith3
New Contributor II

In my last job I had an advanced license. So having to figure out things

without my awesome tools, I loved. Lol

0 Kudos
DanPatterson_Retired
MVP Emeritus

I have a 'Near-ish' tool that can be used Joe and Hannah... if it comes down to it (no advanced license required).  Let me know and I will dredge it up and get it into a 'tool' form

DanPatterson_Retired
MVP Emeritus

python parser

you are going to need a code block

the letters a, b, c, d have to be replaced with your field names inside ! marks

ie !

def strip(a, b, c, d, e, f):
    """ provide the 6 fields to strip and concatenate
    python parser"""
    flds = [i.strip() for i in [a, b, c, d, e, f]]
    result = "{} {} {} {} {} {}".format(*flds)
    return result


a = 'A '

b = ' B '

c = 'C    '

d = '   D'

e = 'e E '

f = '            F'

strip(a, b, c, d, e, f)
'A B C D e E F'

strip(!HOUSE_NUB!, !PREFIX_DIR!, ... etc) in the expression box

0 Kudos
HannahSmith3
New Contributor II

So it should look like this:

def strip( !HOUSE_NUMB!, !PREFIX_DIR!, !PREFIX_TYP!, !STREET_TYP!, !SUFFIX_DIR!):
""" provide the 6 fields to strip and concatenate
python parser"""
flds = [i.strip() for i in [ !HOUSE_NUMB!, !PREFIX_DIR!, !PREFIX_TYP!, !STREET_NAM!, !STREET_TYP!, !SUFFIX_DIR!]]
result = "{} {} {} {} {} {}".format(*flds)
return result


a = 'A '

b = ' B '

c = 'C '

d = ' D'

e = 'e E '

f = ' F'

strip(a, b, c, d, e, f)
'A B C D e E F'

0 Kudos
DanPatterson_Retired
MVP Emeritus

I have hopefully attached the cal file ... just load it

but here is a picture.  I don't have your data of fields... so pretend...  I thought it would zip it, but it didn't need to

here is what it looks like if opened in a text editor

def strip(a, b, c, d, e, f):
    """ provide the 6 fields to strip and concatenate
    python parser"""
    flds = [i.strip() for i in [a, b, c, d, e, f]]
    result = "{} {} {} {} {} {}".format(*flds)
    return result
__esri_field_calculator_splitter__
strip(!HOUSE_NUMB!, !PREFIX_DIR!, !PREFIX_TYP!, !STREET_TYP!, !SUFFIX_DIR!)

good luck... or back to Joe

0 Kudos
JoeBorgione
MVP Emeritus

Been taking peaks at this discussion, and can't contribute at the moment;  I have my own addressing text mojo I'm dealing with at the moment.  Hannah if you can post some of your data here I'll see if I can mess with it when I come up for air....

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