ThinkGeo.com    |     Documentation    |     Premium Support

Blending road intersections

Hi 


I'm attempting to render a network of highways with on/off-ramps that blend into major/minor roads. Using a value-style, I can differentiate between the road types, but the intersections have the rounded edge of one appearing over the top of the other. Is it possible to either blend those intersections better, or otherwise to remove the end caps in those instances? 


Thanks,

Sameshan Perumal



Sam, 
  
 Welcome you ThinkGeo forum! 
  
 We provide a couple of Properties in the LineStyle, also you can create your own pen to draw the Lines, I am not exactly sure what kinds styles you are using. 
  
 Can you provide us some screenshots and codes you are rending the shape files? If possible, including the Shape file that would be much appreciated. 
  
 Thanks for your interests. 
  
 Any more questions just let me know. 
  
 Yale 


Hi Yale 


Thanks for the response. 


I've attached a sample image to this reply. Unfortunately the shapefile is 18MB, which is apparently too large to attach. The areas of interest are the intersections of the yellow and blue roads.  



The value style I'm using is:


var valueStyle = new ValueStyle(); 
valueStyle.ColumnName = "CLASS"; 
var mr = (LineStyle)LineStyles.MajorRoad2.CloneDeep(); 
mr.InnerPen.Color = GeoColor.FromArgb(255, 255, 255, 32); 
valueStyle.ValueItems.Add(new ValueItem("M", mr)); 
var hw = (LineStyle)LineStyles.Highway2.CloneDeep(); 
hw.InnerPen.Color = GeoColor.SimpleColors.Blue; 
valueStyle.ValueItems.Add(new ValueItem("N", hw)); 




I add that style to the CustomStyles collection for my road layer (ShapeFileFeatureLayer) and then add the layer to the static overlay. I'd like to achieve something that's closer to the way google handles the same intersections (see 2nd screenshot). 


 



Thanks, 

Sameshan Perumal



Sam,


 Thanks for your reply!
 
I can find some data with Over-fly Bridge, so please do not worries about your data cannot be updated.
 
I think the Magic is depends on the “mr” in your pasted code, it seems that you only use the predefined style in MapSuite, that cannot be enough. You can create your own beautiful styles following your own character!
 
Below is some style created by just picking not so complex overloads API, I am sure you will have better one if adjusts some of the parameters!

ShapeFileFeatureLayer lineShapeFile = new ShapeFileFeatureLayer(MapPath(@"~/App_Data/TXlkaA30.shp"));
lineShapeFile.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyles.CreateSimpleLineStyle(GeoColor.FromArgb(255, 255, 128, 128), 15F, GeoColor.StandardColors.LightYellow, 12F, true);
lineShapeFile.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;

Any more questions just let me know.
 
Thanks.
 
Yale

Thanks Yale


I think that gives me enough info to format things correctly.


On a side note, it would be nice if the different attributes on classes like GeoPen had descriptions in your API docs, so that it was clear what effect they have on rendering.


Regards,

Sameshan Perumal



Sam, 
  
 Thanks for your suggestions! 
  
 Any more questions just let me know. 
  
 Thanks. 
  
 Yale