ThinkGeo.com    |     Documentation    |     Premium Support

Intersecting Line layer with Polygon layer and get Line results

Hello, I want to Intersect a Line layer with a Polygon layer and get the result of the intersection, something like with QuantumGIS:


Is there a easy way to do this?


I was looking at the wiki.thinkgeo.com/wiki/Map_Suite_Web_Edition_Spatial_Functions_Samples but could only find intersection between same geometry type layer. 


And BaseLineShape or inherited doesn't have GetIntersection() function like in areashape.



Rui,


 I know exactely what you are asking for. In order to perform the geoprocessing of intersecting a Line layer with a Polygon layer, we need the geometric function for spliting a line based on polygon as illustrated in the picture below. I believe that we have that in our API somewhere but I do not find it. I will ask the development team how to do that and I will provide you the full solution for that. Thank you for your interest in Map Suite.




I managed to do what i wanted with netTopolgyTools directly

Rui, 
  
   This is great you found a solution. Would you mind sharing it by posting the solution came up with using netTopologyTool?. Thank you very much for your cooperation. We are actually contemplating adding this as an API for our core product and comparing your solution with ours would help us and also other users of Map Suite. Thank you.

Rui, 
  
   This is great you found a solution. Would you mind sharing it by posting the solution came up with using netTopologyTool?. Thank you very much for your cooperation. We are actually contemplating adding this as an API for our core product and comparing your solution with ours would help us and also other users of Map Suite. Thank you.

Rui, 
  
   This is great you found a solution. Would you mind sharing it by posting the solution came up with using netTopologyTool?. Thank you very much for your cooperation. We are actually contemplating adding this as an API for our core product and comparing your solution with ours would help us and also other users of Map Suite. Thank you.

  Something like below. The full code I can't make it avaiable here.


  var inputGeometry = (Geometry)new WKBReader().Read(inputFeatureShape.GetWellKnownBinary());

  var analysisGeoemtry = (Geometry)new WKBReader().Read(analysisFeatureShape.GetWellKnownBinary());



  IGeometry intersectionOutput = inputGeometry.Intersection(analysisGeoemtry);

  if (intersectionOutput != null)

         var IntersectionShape = BaseShape.CreateShapeFromWellKnownData(intersectionOutput.AsText());



 



Rui,  
    
  Thank you for your colaboration. I forwarded this to the developement team. We will let you know as soon as we have the API completed for this function.

Rui,


 We have the new API available in the Dev build from version 4.5.76.0. Please, chet this out.


MultilineShape LineBaseShape.GetIntersection(AreaBaseShape TargetShape)


Now for creating a new line shapefile based on the result of the intersection of original line shapefile with target polygon shapefile, this will have to be approached as a GeoProcessing operations such as you see in the section "Spatial Functions" of the Code Community wiki.thinkgeo.com/wiki/Map_Suite_We...ns_Samples. We will publish soon a new sample on that topic.


Thank you.



Great! It's a good thing I was able to help :p



Rui, 
  
  Thank you for your participation. I am glad we have that API now to complete our geometric functions.