ThinkGeo.com    |     Documentation    |     Premium Support

Unexpected route

 I have a street shapefile of my city. I viewed it in ArcView and everything looks fine about it. I used Map Suite Routing Explorer to build the rtg and rtx files. Then, with the code below I want to get the route between two points on it and as you can see, I have a strange route. I wonder what the problem is. Is it the data? Why isn't it working with my data?





 


 


 



// Set the Map Unit and current extent
            winformsMap1.MapUnit = GeographyUnit.DecimalDegree;
            winformsMap1.BackgroundOverlay.BackgroundBrush = new GeoSolidBrush(GeoColor.StandardColors.LightGoldenrodYellow);
            
            // Define a new layer to render the Medellin streets
            ShapeFileFeatureLayer StreetLayer = new ShapeFileFeatureLayer(@"..\..\Data\Routing\Medellin.shp");
            StreetLayer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyles.LocalRoad3;
            StreetLayer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle = TextStyles.CreateSimpleTextStyle("Name", "Arial", 10, DrawingFontStyles.Regular, GeoColor.StandardColors.Black);
            StreetLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
            LayerOverlay StreetOverlay = new LayerOverlay();
            StreetOverlay.Layers.Add("MedellinStreetsLayer", StreetLayer);
            winformsMap1.Overlays.Add("MedellinStreetOverlay", StreetOverlay);

            //StreetLayer.Open();
            winformsMap1.CurrentExtent = new RectangleShape(-75.6033, 6.2488, -75.5872, 6.2386);  
            //StreetLayer.Close();

            // Define a Routing layer to render the route and stops
            RoutingLayer routingLayer = new RoutingLayer();
            StreetLayer.Open();

            Collection<Feature> features1 = StreetLayer.FeatureSource.GetFeaturesByColumnValue("OSM_ID", "33179250");
            Collection<Feature> features2 = StreetLayer.FeatureSource.GetFeaturesByColumnValue("OSM_ID", "31540427");

            routingLayer.StartPoint = features1[0].GetShape().GetCenterPoint();
            
            routingLayer.EndPoint = features2[0].GetShape().GetCenterPoint();
            StreetLayer.Close();

            LayerOverlay routingOverlay = new LayerOverlay();
            routingOverlay.Layers.Add("RoutingLayer", routingLayer);

            winformsMap1.Overlays.Add("RoutingOverlay", routingOverlay);

            RtgRoutingSource rtgRoutingSource = new RtgRoutingSource(@"..\..\Data\Routing\Medellin.rtg");
            RoutingEngine routingEngine = new RoutingEngine(rtgRoutingSource, StreetLayer.FeatureSource);


            winformsMap1.Overlays["RoutingOverlay"].Lock.EnterWriteLock();
            try
            {
                routingLayer.Routes.Clear();
                routingLayer.Routes.Add(routingEngine.GetRoute(routingLayer.StartPoint, routingLayer.EndPoint).Route); 
                
            }
            finally
            {
                winformsMap1.Overlays["RoutingOverlay"].Lock.ExitWriteLock();
            }


            winformsMap1.Refresh();


 I send to support@thinkgeo.com the street shapefile used in this example.


Thank you.



 


Adolfo,
 
It’s proved that it’s a bug but fixed now, please login on the helpdesk.thinkgeo.com with your own username and password and download the updated package from “My downloads” or “Evaluation Daily Builds”. Below is the test screen shot with "medellin" street data.
 


 
Thanks for your handing the error.
 
Johnny,

 For our Discussion Forum users, I would to show the result of the route with the same data and same start/end points after the bug fix:



Thank you so much Map Suite development team!


 



I just downloaded a routing 6.0 trial and see something similar at times...is it possible the bug is back?  When reversing the starting and ending points it goes straight down the north/south street.



 


Allen



 


Hi Allen,
Around June, 2010, we did a big enhancement to Routing topology structure and algorithm to improve the performance. From the post, we guessed you are using version 3.*.* before, which should use the old data format. We generated a new routable shapefile, built the index file for it, and then test the routing engine, all work normally, below is the screenshot got:
 
To upgrade to the latest version 6.0, 2 steps are needed:
1.       Generate the routable shapefile based on the original shapefile using the API “GenerateRoutableShapeFile” of RtgRoutingSource.
2.       Rebuilt the index file “.rtg, .rtx” for these routable shapefile which will be used for route.
 
Sorry for the inconvenience, and any question please let us know.
Thanks,
Johnny

Johnny, 
  
 The very first sentence of my posting said “I just downloaded a routing 6.0 trial”, so unless there’s something wrong in the trial download, this is not the case.  The included Routing Explorer was used to generate the rtg file. 
  
 Allen

Ah, I think I see what you’re getting at…this is on a brand-new computer which has never had the routing product on it before.  Just FYI, I did recently download and install our license of MapSuite Desktop to this computer, but can’t see how that matters.

 


Och, I apology that I wrongly thought you are the guy who started this thread. I think it doesn’t matter if you installed the desktop, can you send your demo data to our email forumsupport@thinkgeo.com , I just tested the sample data sent by Adolfo before, but all works normally.
Looking forward your further information.
Best Regards!
Johnny

Hi Johnny, 
  
 Oh, no problem…I can imagine you saw the “A” in front of “Adolpho” and I can understand the rest.   
  
 Yes, I will bundle up the data for you when I get a chance.  I think the shapefile is for the entire county but the two points shown in my picture are in the same municipality, so I’m going to try to get just the data for that muni pulled out to make things smaller. 
  
 I have another issue I want to post about but want to make sure it hasn’t been addressed before but that will go into a new posting.  I need to grab a screen shot of it first…I’m transitioning from an old PC to a new one…e-mail is still on the old one but all new versions of development tools are going on the new computer.   
  
 Thanks… 
 Allen 
  


Thanks, Allen, that's no problem, please feel free to post any questions or suggestions here, event if it has been reported by any other guys. 



Best Regards! 

Johnny



OK Johnny, I will…I am in the midst of upgrading our main application from MapSuite 4.5 to 6.0 and am having some SQL Server issues with 6.0, so I have to deal with that battle first.

Hello Allen, 
  
 The SQL problem has resolved, please check the associated post and ticket. 
  
 Regards, 
  
 Gary

Gary, 
  
 Thanks…I’ll check first thing Monday AM unless I get back into the office over the weekend. 
  
 Allen

Hello Allen, 
  
 Any more questions please let us know. 
  
 Regards, 
  
 Gary