I have no idea if this is even possible. We run a Utility software company and need to know where to put the leak sensors. The sensors are put at either every other house or every two houses depending on the size and material of the water pipe. We have all of the data (size of the pipes, material, etc.) in our GIS server and the meters and water lines are being plotted on a map.

Is it possible for us to be able to create an automated process for this?

Basically, one of our employees would go on our map and be able to click a button on our map and it would automatically plot these points based on the pipe material and the pipe size.

  1. Can you plot every other address is ESRI?
  2. Will I need a database of all the addresses in the United States?
  3. Is there a basemap in ESRI with all of these addresses?
  4. Or am I making this way harder than it actually is?

Any help would be appreciated. Thanks.

  • You will definitely need to create some sort of association with addresses and your water pipe. The easiest way to do this (from experience) is by utilizing address points for your area. If you have polygon parcels attached to addresses, you can create points from their centroids. To implement your "every other address" business logic, you may want to look at using a topology and topological queries. – Conor Jan 14 '14 at 21:49
  • Presumably your pipe data shows the junctions off to each address. It is these rather than the postal address which matters? – AnserGIS Jan 15 '14 at 8:29
  • Hmmm @AnserGIS... I never though of that... Support gives me these assignments and sometimes I don't think they exactly know what they are wanting. I looked at the map and it does look like it shows each of the junctions. – JLott Jan 15 '14 at 16:22
  • I would imagine you could determine every other address on each side of the road by simply getting the address #s for each side of each street into a list - sort the list then iterate through the list - ignoring every second value. This should be able to be done using Python or C#. – dklassen Jan 15 '14 at 17:18
  • @dklassen Getting the address numbers is part of the issue. – JLott Jan 15 '14 at 17:25

Have a look at the linear referencing tool.

First, you "creates routes" from your streets in order to have "M aware" polylines

Second, you locate your points along the route in order to extract the M value

Third, you iterate as mentioned by @dklassen

EDIT : With the offset direction, you can see on which side of the route you are located.

M_DIRECTION —The distance values in the output event table will be calculated based on the routes' M direction. Input features to the left of the M Direction of the route will be assigned a positive offset (+), and features to the right of the M Direction will be assigned a negative offset value (-). This is the default.

NO_M_DIRECTION —The distance values in the output event table will be calculated based on the routes' digitized direction. Input features to the left of the digitized direction of the route will be assigned a negative (-), offset and features to the right of the digitized direction will be assigned a positive offset value (+).

  • How would you create a one-sided buffer? I am starting to think that this is out of my reach... – JLott Jan 16 '14 at 21:05
  • Well, with an advanced licence this is available from the buffer(analysis) tools. A workaround is to create polygons from the lines (with the free version of ET geowizard) in order to have different ID's on the left and right, but this only works for road block, not when a road is a "dead end" – radouxju Jan 16 '14 at 21:12
  • I forgot that there is an option with the "locate point along route" tool, so you don't even need the one sided buffers a mentioned in my first answer. – radouxju Jan 19 '14 at 19:23

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.