ThinkGeo.com    |     Documentation    |     Premium Support

Exception when building the .rtg file

When I try to build a .rtg file I`m getting the following exception message:




"The input FeatureSource is invalid, please make sure the WellKnownType of Feature in featureSource are Line or MultiLine only contains one line."


What`s causing that and how can I get around this situation and fix my .shp file?

 



Gustavo,


The reason is that some features with MultiLineType in the data have more than one lineshape. And you can re-define the shape file using code below.




ShapeFileFeatureSource.CloneShapeFileStructure("New shape file path", "shape file path");
            ShapeFileFeatureSource newFeatureSource = new ShapeFileFeatureSource("New shape file path");
            newFeatureSource.Open();

            ShapeFileFeatureSource featureSource = new ShapeFileFeatureSource("shape file path");
            featureSource.Open();
            Collection<Feature> features = featureSource.GetAllFeatures(ReturningColumnsType.AllColumns);

            foreach (Feature feature in features)
            {
                LineBaseShape lineBase = feature.GetShape() as LineBaseShape;
                Collection<LineShape> lines = GetLineShapeFromBaseLineShape(lineBase);

                newFeatureSource.BeginTransaction();
                foreach (LineShape line in lines)
                {
                    newFeatureSource.AddFeature(line);
                }
                newFeatureSource.CommitTransaction();
            }

public Collection<LineShape> GetLineShapeFromBaseLineShape(LineBaseShape sourceShape)
        {
            Collection<LineShape> lines = null;
            LineShape lineShape = sourceShape as LineShape;
            if (lineShape != null)
            {
                lines = new Collection<LineShape>();
                lines.Add(lineShape);
            }
            else
            {
                lines = ((MultilineShape)sourceShape).Lines;
            }
            return lines;
        }



Any question please let us know, thanks.


Johnny



hi…how can i redefine,replacing it with this code give error ?plz help 

Johnny, 
  
  In the response to Stetsh, you are saying that the problem is because some features have more than one LineShape in the MultiLineShape. That seems to me a little bit restrictive. To my knowledge, a lot of street layers have that structure. Is there any plan to support line based layers with MultiLineShape with multiple LineShapes for routing in the future? 
  
 Thank you.

thank you...but the problem is am trieng to use map suite on my map,which is a building map with no streets ,it's our colleage map,we have convert it to .shp extention from it's autocad plan....can u help me to solve thise problem?does the map suit compatable in our project??any recommendation? 

thanx in advance



I think the best would be that you send us your street data you want to do routing on. If you don’t feel confortable attaching it in this post of the Discussion Forum, you can send it to support@thinkgeo.com. If your data is too big to be sent by email, send us an email at  support@thinkgeo.com and we will set you up for an FTP account. Thank you.

thanx val…as i said it’s not a street data,it’s our map college the engineering college of the hashemite university,we need to make route on the offices and room of this building,we have the outocad  2D map and we convert it to .shp shape using cad2shape converter,we thought that the map suite routing could help us to do so,we have the coordinate for each node(which represent room and we need the shortest path routing between them) and also we have the distances between them.but when we try to build this map on route suite it’s giving us the " The input FeatureSource is invalid, please make sure the WellKnownType of Feature in featureSource are Line or MultiLine only contains one line."  error. 
 again am asking whether the map suite can help us in our project or we must switch to another application. 
 thanx alot for your help.

Map Suite Routing is designed to find routes on a road network using line based layers representing streets, major roads, highway etc. I think your case is outside the context of how Map Suite Routing should be used. You have shapefiles (converted from autoCad format) representing buildings and rooms. This does not represent a network and this cannot be routable using our product. I think that our main mapping component can still help you with all the various geometric functions it provides for finding closest features, spatial queries etc.


 Actually, we had a post a little bit similar to your case, where the user asked about maritime navigation.gis.thinkgeo.com/Support/Dis...fault.aspx


 I hope you see more clearly now in what way to use our products. Thank you.



Adolfo, 
  
 Sorry that I just see your post. It will be lots of issues when we route with multiLineShape. For instance, a MultiLineShape can contain several line shapes, which maybe are disconnected between each other, and if we take the MultiLineShape as a connected unit, it will give the unexpected result.  
  
 Thanks for giving this information. I have add it into our work system, and will do a evaluation if we can add some code to determine if all the lines in a MultiLineShape are connected between each other. 
  
 Thanks, 
  
 Johnny