ThinkGeo.com    |     Documentation    |     Premium Support

Multi-value classbreak

Hello,


Is there a way to use more than one column to evaluate what classbreak style a feature will use? For instance, in the example given in the demo, you use the following code for one variable:



        
  1.             ClassBreakStyle classBreakStyle = new ClassBreakStyle("POP_CNTRY");  

  2.     
  3.             classBreakStyle.ClassBreaks.Add(new ClassBreak(double.MinValue, AreaStyles.Grass1));  

  4.     
  5.             classBreakStyle.ClassBreaks.Add(new ClassBreak(1000000, AreaStyles.Evergreen2));  

  6.     
  7.             classBreakStyle.ClassBreaks.Add(new ClassBreak(10000000, AreaStyles.Evergreen1));  

  8.     
  9.             classBreakStyle.ClassBreaks.Add(new ClassBreak(50000000, AreaStyles.Crop1));  

  10.     
  11.             classBreakStyle.ClassBreaks.Add(new ClassBreak(100000000, AreaStyles.Forest1));  

        


What if I wanted one set of colors (say green, like the example) for this population breakdown on countries that were under a certain sized area, let's call it "AREA_CNTRY", and another that were over (say red). 


What I'm trying to achieve is having the classbreak read directly from the .dbf file without having to sort out the secondary columns in advance.


I hope this makes sense... Thanks in advance!


-Dustin



Yes, that makes sense and that can be accomplished using Map Suite. What you would need is a custom Style that takes into account the value of two columns rather than just one for diplaying the correct symbol. To accomplish that, you would need to create a new class inheriting from AreaStyle, add some properties such for the columns used and overrides some functions such as Drawcore with the drawing logic and GetRequiredColumnsCore.


 We currently don't have a project in the Code Community that shows something exactly like your case, but we have one project Feature Centric Area that you can use as a source of inpiration.


code.thinkgeo.com/projects/show/featurecentricstyle


 I suggest you download and play around with that project and you should get a good idea on how to proceed for creating a Style responding exactely for your needs.


I also suggest you watch the video on extending Map Suite and especially Creating Custom Styles.


gis.thinkgeo.com/Products/GISCompon...fault.aspx



That's great, Val, thank you!  I always forget about extending the current framework.  That project looks like it will help a ton.



Yes, the extensibility of Map Suite is one of its great strength. So remember that if you run into a limitation with the current API, always think about extending one of the classes such as Style, FeatureSource etc.