Skip to main content

Hi, I'm using FME to build an ESRI REST service call to solve a routing problem.

 

We need to route 1500 properties into 15 routes every day, each route has a capacity of 100 visits (orders in ESRI terminology).

Occasionally ESRI snaps the lat/lon of the property to the wrong street so the sequence of the route is wrong.

In the image property 1 is actually on the same street as properties 11-14 and property 15 is actually on the same street as properties 2-10.

 

I need to 'move' the properties to the correct street. They still need to be on the correct side of the street as we need to maintain left hand curb approach ie to prevent having to cross the road (less of an issue with these small streets but the routes cover rural to urban streets).

 

Does anyone have any ideas how to achieve this?

 

I have access to a street centre line layer as well as the property points.

 

many thanks

@stevejames​  If you can attached a sample dataset (as a Geopackage or zipped file geodb for example) that might help us see how you can build the association between the point and the correct street . i.e. does the point have the street name. Also, how do you know which side of the street is the correct side? But as a guess, AnchorSnapper or NeighborFinder with a Group By of the street name are probably your stating points. Ideally, you'd want to filter out points that are already in the correct place before moving the incorrect ones.


Hi @Mark Stoakes​ 

Thanks, I've managed to sort it out.

At the moment I iterate though the properties and filter the street centre layer based on the street to make sure that property can only be moved closer to its street (yes each address has field so we can return the street reference. I do this using the Anchored Snapper (segment snapping). Now I have 2 points per property; the 'real' location and the point on the line. I can then use LineBuilder to build the line using the 2 points and use Snipper to reduce the line by x metres. Now I can extract the end point of the line which gives me the calculated property location.

We want to avoid the operator having to cross the street so operate a left hand curb approach; hence the need to move the property closer to the street but not on top of the street centre or ESRI wouldn't know which side of the street the property is on.

 

  • The Blue line is the street centre line.
  • The Red dots are the property points
  • The Black lines are the lines for each property point snapped to closest part of the street centre; snapped to the line not the closest point on the line.
  • The Yellow dots are the point on the line that is 5 metres shorter. scl

This now means that ESRI REST route optimiser associates each property to the correct street and enforces left hand curb approach, ie to stop the individual having to cross the street repeatedly. You'll guess that we're in the UK with the spelling and left hand curb approach.

 

Now the result of the ESRI Route optimiser associates every property to the correct street and enforces the left hand curb approach route.

routeI'm likely to process our 250k properties so we can just join the property route locations based on our property reference as this will reduce the load and time taken to process the daily routes.

 

Thanks


Reply