Label | Explanation | Data Type |
Input Point Features
| The input point feature class or layer. | Feature Layer |
Point Field Mapping
| The mapping of street address component fields from the point features that will be used to compare the full street name to the full street name in the Street Features parameter value to calculate the street segment that the point is linked to. To select address components from the Input Point Features parameter value that will be used to link the point to the street, do the following:
The available address component fields are as follows:
| Value Table |
Street Features
| The input street feature class or layer from which attributes will be assigned to the Input Point Features parameter value. | Feature Layer |
Street Field Mapping
| The mapping of street address component fields from the street features that will be used to compare the full street name to the full street name in the Input Point Featuresparameter value to calculate the street segment that point is linked to. To select address components from the Street Features parameter value that will be used to link the point to the street, do the following :
Select fields from the street feature class in the Data Field drop-down list that correspond to the street address component listed in the Field Name column. The available address component fields are as follows:
| Value Table |
Output Points
| The output point feature class containing the street fields assigned to the point. | Feature Class |
Street Field(s)
(Optional) | The fields from the Street Features parameter value that will be assigned to the Output Points parameter value. Select fields from the input street features that contain attributes to assign to the linked point features, for example, a field that contains a street ID value. The selected fields will be added to the Output Points parameter value. | Field |
Distance
(Optional) | The distance that will be used to find the nearest street feature to the point feature. The higher the distance limit, the more time it will take the tool to run, but the quality of the matches improves. The default value is 70 meters. | Double |
Output Geometry
(Optional) | Specifies the geometry that will be included in the output point feature class.
| String |
Summary
Uses address information, such as house numbers and street names, as well as distance, to find the best street feature candidate for a point. Address information is prioritized over distance.
This tool can be used to link point addresses to street data. The link is established by comparing address information of the point and street features as well as the distance between them. The best candidate has the most similarity between the names but is also expected to be in close proximity. Once the link is established, the street object ID, side of street, and a new point near the street can be produced for the point address. Additional attributes can also be transferred from the street to the point address. Use cases for this tool include appending attributes from streets to point addresses or vice versa; generating points that are next to the same named street, which can then be used as a routing location; or producing fishbone diagrams illustrating the relationship between point addresses and their associated street feature.
For more information, see Assign streets to points based on street names and proximity.
Illustration
Usage
This tool will accept singlepart point and line feature classes as input.
This tool can help assign a join ID for alternate names from the streets reference data to the point reference data so that both datasets have the same join ID to link to the alternate street name table.
This tool performs best when the input point and line feature classes are stored in a geodatabase and the output is saved to a geodatabase.
For the Point Field Mapping and Street Field Mapping parameter values, use the Split Address Into Components tool on both datasets, and use the output results from that tool for the Input Point Features and Street Features parameter values for Assign Streets To Points.
For improved quality, ensure that the street names and street address components are spelled and formatted consistently across the input point and street feature classes.
Use this tool to save the coordinates of the corresponding point on the street to work with the Preferred Location property for the locator when the input point feature geometry is on the rooftop or parcel centroid.
To help with routing workflows, the output provides an indicator of the side of the street the point is located on. Using this indicator when building a locator will enable the locator to display results on the correct side of the street.
The output is a copy of all features and attributes from the input point features with attributes from the fields specified with the Street Field(s) parameter value appended to the point from the linked street. This can include a street ID field from the input streets feature class.
The output will include the following fields by default:
- Street_ObjectID—The object ID of the street segment from the Street Features parameter value linked to the input points.
Note:
If the input streets feature class contains a field with a street ID, select this field as a Street Field(s) parameter value that can be used when reviewing the results.
- InputPoint_X—The x-coordinate of the Input Point Features parameter value in the spatial reference of the point feature class.
- InputPoint_Y—The y-coordinate of the Input Point Features parameter value in the spatial reference of the point feature class.
- Street_X—The x-coordinate of the input point location on the linked street for the Street Features parameter value in the spatial reference of the point feature class.
- Street_Y—The y-coordinate of the input point location on the linked street for the Street Features parameter value in the spatial reference of the point feature class.
- Street_Side—The side of the street where the input point resides relative to the direction of feature digitization. This value is not relative to the direction of travel along the street. This attribute will have one of the following values:
- L—The point is linked to the left side of the street.
- R—The point is linked to the right side of the street.
- NULL—The point is not linked to a street.
- Street_MatchReason—Indicates how the Input Point Features values were linked or matched to the Street Features values after running the tool. The attribute can have one of the following values:
- Match_FullStAddr_AddNum—All street address components were used to match the point to the street, and the house number was within the house number range of the linked street.
- Match_FullStAddr—All street address components were used to match the point to the street.
- Match_StName_AddNum—Only the street name component was used to link the point to the street, and the house number was within the house number range of the linked street.
- Match_StName—Only the street name component was used to link the point to the street.
- Match_Distance_AddNum—Distance was used to link the point to the street because the street name components between the points and streets did not match, but the house number was within the house number range of the linked street.
- Match_Distance—Distance was used to link the point to the street because the street name values between the points and streets did not match.
- Unmatched—The point was not matched to the street based on distance or street address components.
Note:
When the point is not matched to the street, the default output fields and selected street fields will have NULL attributes, but the InputPoint_X and InputPoint_Y fields will be populated with the coordinates of the input point feature class.
- Street_ObjectID—The object ID of the street segment from the Street Features parameter value linked to the input points.
Review the results from the Output Points parameter value when the value for the Street_MatchReason field is Match_Distance_AddNum, Match_Distance, or Unmatched. Visualizing how the points are linked to the street in the map makes reviewing the results easier.
This tool supports parallel processing. When the Parallel Processing Factor environment is not set (the default), parallel processing is scaled based on the size of the table and number of logical cores. Only one process will be used for datasets with fewer than 50 rows.
Parameters
arcpy.geocoding.AssignStreetsToPoints(in_point_features, point_field_mapping, in_street_features, street_field_mapping, out_points, {street_fields}, {distance}, {output_geometry})
Name | Explanation | Data Type |
in_point_features | The input point feature class or layer. | Feature Layer |
point_field_mapping [point_field_mapping,...] | The mapping of street address component fields from the point features that will be used to compare the full street name to the full street name in the in_street_features parameter value to calculate the street segment that the point is linked to. Provide the street address component field names and data field names from the in_point_features parameter value using the available address components as follows:
| Value Table |
in_street_features | The input street feature class or layer from which attributes will be assigned to the in_point_features parameter value. | Feature Layer |
street_field_mapping [street_field_mapping,...] | The mapping of street address component fields from the street features that will be used to compare the full street name to the full street name in the in_point_features parameter value to calculate the street segment that point is linked to. Provide the street address component field names and data field names from the in_street_features parameter value using the available address components as follows:
| Value Table |
out_points | The output point feature class containing the street fields assigned to the point. | Feature Class |
street_fields [street_fields,...] (Optional) | The fields from the in_street_features parameter value that will be assigned to the out_points parameter value. Specify fields from the input street features that contain attributes to assign to the linked point features, for example, a field that contains a street ID value. The fields will be added to the out_points parameter value. | Field |
distance (Optional) | The distance that will be used to find the nearest street feature to the point feature. The higher the distance limit, the more time it will take the tool to run, but the quality of the matches improves. The default value is 70 meters. | Double |
output_geometry (Optional) | Specifies the geometry that will be included in the output point feature class.
| String |
Code sample
The following Python script demonstrates how to use the AssignStreetsToPoints function.
import arcpy
# Point Address Data from Tutorial Data
in_point_features = r"C:\Data\SanMarcos.gdb\Address_Points"
point_field_mapping = "STREET_FULL_NAME ADDRESS"
# Street Address Data from Tutorial Data
in_street_features = r"C:\Data\SanMarcos.gdb\Address_Lines"
street_field_mapping = "HOUSE_NUMBER_FROM_LEFT L_ADDNUM_FROM;HOUSE_NUMBER_TO_LEFT L_ADDNUM_TO;HOUSE_NUMBER_FROM_RIGHT R_ADDNUM_FROM;HOUSE_NUMBER_TO_RIGHT R_ADDNUM_TO;STREET_PREFIX_DIR STPREDIR;STREET_NAME STNAME;STREET_SUFFIX_TYPE STSUFFIX;STREET_SUFFIX_DIR STPOSTDIR"
output_data_path = r"C:\Data\SanMarcos.gdb\Street_Points"
arcpy.geocoding.AssignStreetsToPoints(
in_point_features,
point_field_mapping,
in_street_features,
street_field_mapping,
output_data_path,
street_fields=None,
distance=70,
output_geometry="STREET_POINT_GEOMETRY"
)