ThinkGeo.com    |     Documentation    |     Premium Support

Features inside other feature

Hi,


Consider the below scenario:



        
  1. loading US map

  2.     
  3. loading roads of US

  4.     
  5. click on US states like NY

  6.     
  7. highlight the roads inside the NY state


so I want to highlight the features of a shapefile(any type of the shapefile) that is inside another shapefile's feature(Area Shapefile).




Thanks,

Ben


 



Hey Ben, just to chip in here. 


3. On MapClick, get World coordinates from event argument and do the following:


a. Use QueryTools of States layer to get state that INTERSECTS with current mouse world coordinate.  You probably want to restrict your geometry search to 1 result or get first element returned.


b. Use QueryTools of roads layer to find all roads that are WITHIN feature returned in a.  


4. Add these roads returned in (b) to your highlight overlay.


 


Look at the Sample on how to query for a feature the user clicked on and how to highlight a feature.



Many thanks, 
  
 I’ll give it a try. 


Thank you Klaus for your cooperation. I will inject into the conversation and give some advices too. 

  To select a State by clicking on it, you may want to select it based on some screen based tolerance which would give a more natural experience to the user. There is a project in the Code Community that explains that, Get Feature Clicked On code.thinkgeo.com/projects/show/featureclicked. This is a Winforms Desktop sample but it will still give you a good idea.   You don't have to use this technique if you are zoomed in close enough but if you are zoomed out a little further, with this technique, the user does not have to click right on the feature, he can click slightly next to it and it will still be selected. I just wanted to make you aware of that. Thank you.



many thanks guys. 
  
 Another problem is the speed of GetFeatureby(Id,within, …)  methods, for example if loading a shape file take 2s , requesting it’s features using any of GetFeatureby methods will take roughly 10s. 
  
 is it any way to improve the speed of getfeaturesby method? 


It should not take that long to get the feature from the function GetFeatureById. Are you sure you built the spatial index (.idx, .ids)? If you are still having problems, can you give us some descriptions of the shapefile such as its size, the number of records etc. Thank you.