Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I have a street shapefile with information about the street name, house number from / to on the left side and house number from / to on the right side.

My aim is to create a point shapefile that visualizes all houses along the streets. A first prototype is already implemented. With a Search-cursor I am reading out the total number of houses by building the range by using the paramaters house number from / to on the left side and house number from / to on the right side. The total amount is divided by the length of the street so that I have a value that show me in which distance I have to place the points along the line to map all houses.

The result is that all house numbers are placed like a string of pearls.

Is there a way to place the numbers with an specific offset along the line?

The script is written in python using arcpy and ArcGIS 10.1 SP1.


share|improve this question

2 Answers 2

up vote 1 down vote accepted

I would use Geocoding tools. Geocoding will help you to solve 2 problems:

  1. Side offset (the problem in your question)
  2. End offset (a new problem that you'll have if you solved Side offset)

If you solve side offset your map will look like this: enter image description here

But near street intersections you will get this new problem: enter image description here

To solve this, you will need a second offset – the “end offset”. Then your map will look like this: enter image description here

In ArcGIS you can specify Side offset and End offset in Geocoding options properties.

I suggest that you try this approach:

  1. Write a python script to create a table will all addresses. The street shapefile serves as your source file for this.
  2. Use the table from step 1 to create Points for all addresses. See ArcGIS help About geocoding a table of addresses.
share|improve this answer
(+1) on the assumption that the asker will be happy to abandon the work done so far - I had been thinking he had bypassed Geocoding as being unsuitable for his address but maybe he just overlooked it. –  PolyGeo Jul 18 '13 at 9:36

To do this I would look at Linear Referencing, because once you have a Route Event Layer of type POINT for your addresses, you should be able to use label offsets to place your event points.

I would recommend taking a quick look at this part of the Linear Referencing Tutorial to see if it sounds like what you are after. If it does, prototype it through the ArcMap GUI, and then start on the ArcPy code which I think should be straight forward.

The key concept is that addresses can be considered as point events referenced along a route representing the street.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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