ThinkGeo.com    |     Documentation    |     Premium Support

How do I change a record from two way to one way?

 In the "Route on One Way-Roads" sample app, I can see the route on a one way street. Now, I want to change a record so that it is also a one way street. How do I do that? What are the different steps to follow to modify AustinWithOneWayRoad.shp to have a record of my choice becoming a one way street? Thank you.



Val, 


 


Sorry for the delay. There are two ways to manage that:
1.      You can do some custom operations during building the routing index file by BuildingRoutingData event if you don’t want to modify the shape file, and here are some tips:



wantToBeOneWayfeatures = featureSource.GetFeaturesByColumnValue("Flag", "Want to be one_way road");
// Find the current Feature by id
Feature currentFeature = featureSource.GetFeatureById(e.RouteSegment.FeatureId, ReturningColumnsType.NoColumns);
// if the current feature is one of the collection that to be one way roads.
if (wantToBeOneWayfeatures.Contains(currentFeature))
{
   e.RouteSegment.StartPointAdjacentIds.Clear();
   // please use the code below if the one way direction is from end to start
   //e.RouteSegment.EndPointAdjacentIds.Clear();



2.      Another way is that you can use the attached tool to modify the records in shape file to one-way at first, then re-build the routing index file and route with that.
 
Any question please let me know!

Johnny 



1537-OnWayDataMaker.zip (13.4 KB)

 Johnny,


 


I have tried the attached tool but it didn't work, 


I don't know if it has anything to do with it but I am using a trial version ...


Thank you,


Rami.



Rami,  
  
 Thanks for evaluating our products. I tried the attached code, and all works fine. Could you give us some details about Exception? Also what version are you using? 
  
 There is no limits for trail version, which has all features included in Full version. 
  
 thanks. 
  
 Johnny.

Johnny, 
  
 MapSuiteRoutingExplorer 3.1.299.0 
  
 and there is no Exception, but it didn’t change a thing in the routes i choose. 
  
 Here is what i did so you might find out whats went wrong… 
 first I have created a IDS file for the shape file, then apply the tool on this shape file and chose the routes, 
 then rebuild the IDS,and finally create the RTG and RTX files.   
  
 By the way I have tried the first method and it work perfectly, but its good to have a tool like this one. 
  
  


 I let you know that we formalized the attached sample in this post into a project in the Code Community, One Way Street Builder. I suggest you check it out. The code has been cleaned up a little bit and some comments have been added.


code.thinkgeo.com/projects/s...eetbuilder


 



Thank you Val and Johnny

You are welcome. Let us know if you have more questions.

Rami,


From another post, i know clear what your meaning about the attached tool doesn't work very well. The reason is that we still need the second step "Building Routing index file" with some other custom operations.


The tool is just a sample about how to add “one-way” information to the shape file data, and this is the first step for building “one-way” routing index file.


The second step is that use the “one-way” information to build .rtg file. It still requires some custom operations using “BuildRoutingData” event, and the code can be found in the installed “How do I” sample “BuildingRoutingData.cs”, or please refer to the attached code.

 


Thanks,


Johnny



1903-BuildOneWayData-Step2.zip (3.91 KB)

Thank you Johnny, 
  
 Rami 
  
  


You are so welcome, Rami. 
  
 Johnny