ThinkGeo.com    |     Documentation    |     Premium Support

Layer Intersection Spatial Query Question

Hi,


I've done a search in the forums and couldn't find an answer to my question. I'm not very good with ThinkGeo or GIS so if this is super easy sorry. Any help will be appreciated though because I'm stuck.


 


I have a shapefile that's been added to my map as a LayerOverlay, this is the outline of a users area they are responsible for on the map.


 


I have another LayerOverlay that contains an InMemoryFeatureLayer that has several Features in it. The features are custom objects representing buildings/locations. the columns are id, address, city.


 


What I need to do is get all the buildings inside the shapefile. I have similiar code where I get the intersection from a polygon drawn on the map, but I can find how to do it with the two layers.


 


 


All help or suggestions will be appreciated. If you need more info about my problem let me know. 


 


Thanks!



Hello Andrew, 
  
 Thanks for your post, when you say ’ but I can find how to do it with the two layers.’, you mean can or can not? 
  
 And could you please show me some of your code ‘I have similiar code where I get the intersection from a polygon drawn on the map’. 
  
 Regards, 
  
 Gary

Thanks for the response Gary, I had a typo and meant Can’t  
  
 We’ve submitted a support ticket in the customer portal. I’ll update this ticket with the resolution so someone else can find it in the future.

Hello Andrew, 
  
 You are welcome, I will answer in that ticket. 
  
 Regards, 
  
 Gary

Gary,



We are looking for same answer. Can you give us the details or sample code?

We have 2 shape files. One contains parcels with ids other contains structure lines.

We want to display individual parcel along with structure present in that parcel.



Waiting for your Reply



Thanks

Hi Djay, 
  
 If I misunderstand your requirement please let me know. 
  
 1. You have a shapeFileFeatureLayer contains some area border with ids. 
 2. You have a shapeFileFeatureLayer contains some building border. 
 3. You want to show all the buildings in which area contains them. 
 4. If a building are not in any area you won’t display them. 
  
 If so, as below code should work for find intersecting shapes cross two layer. 
  
 
ShapeFileFeatureLayer layer1;
            ShapeFileFeatureLayer layer2;

            layer1.Open();
            layer2.Open();

            Collection<Feature> features = layer1.FeatureSource.GetAllFeatures( ReturningColumnsType.AllColumns);

            foreach(Feature feature in features)
            {
                layer2.QueryTools.GetFeaturesIntersecting(feature, ReturningColumnsType.AllColumns);
            }

 
 
  
 Any question please let me know. 
  
 Regards, 
  
 Don