Hi ,

I am trying to load a S57 dataset to my map control using GDAL.
I have diff types of layers i.e
Polygon, Point, Line and multipoint

Here I want to show polygon in the base and points and lines on top of it my 
code is as follows

 if (layerType == "POLYGON")
                            {
                                FeatureSet fs = new FeatureSet(dt, 1, true, 
DotSpatial.Topology.FeatureType.Polygon);
                                fs.DataTable = dt.Clone();
                                var c = new 
DotSpatial.Topology.Coordinate[arrCoordinatesX.Count - 1];
                                for (int k = 0; k < arrCoordinatesX.Count - 1; 
k++)
                                {
                                    c[k] = new 
DotSpatial.Topology.Coordinate(Convert.ToDouble(arrCoordinatesX[k]), 
Convert.ToDouble(arrCoordinatesY[k]));
                                }
                                DotSpatial.Topology.Polygon LS = new 
DotSpatial.Topology.Polygon(c);
                                DotSpatial.Data.IFeature currentFeature = 
fs.AddFeature(LS);
                                uxMap.Layers.Add(fs);
                            }


                            else if (layerType == "LINESTRING")
                            {
                                FeatureSet fs = new FeatureSet(dt, 1, true, 
DotSpatial.Topology.FeatureType.Line);
                                fs.DataTable = dt.Clone();
                                List<DotSpatial.Topology.Coordinate> 
coordinates = new List<DotSpatial.Topology.Coordinate>();
                                for (int k = 0; k <= arrCoordinatesX.Count - 1; 
k++)
                                {
                                    coordinates.Add(new 
DotSpatial.Topology.Coordinate(Convert.ToDouble(arrCoordinatesX[k]), 
Convert.ToDouble(arrCoordinatesY[k])));
                                }
                                DotSpatial.Topology.LineString LS = new 
DotSpatial.Topology.LineString(coordinates);
                                DotSpatial.Data.IFeature currentFeature = 
fs.AddFeature(LS);
                                uxMap.Layers.Add(fs);
                                foreach (DataRow row in dt.Rows)
                                {
                                }
                            }
                            else if (layerType == "POINT")
                            {
                                FeatureSet fs = new FeatureSet(dt, 1, true, 
DotSpatial.Topology.FeatureType.Point);
                                fs.DataTable = dt.Clone();
                                foreach (DataRow row in dt.Rows)
                                {
                                    for (int k = 0; k <= arrCoordinatesX.Count 
- 1; k++)
                                    {
                                        DotSpatial.Topology.Coordinate c = new 
DotSpatial.Topology.Coordinate(Convert.ToDouble(arrCoordinatesX[k]), 
Convert.ToDouble(arrCoordinatesY[k]));

                                        DotSpatial.Topology.Point p = new 
DotSpatial.Topology.Point(c);
                                        DotSpatial.Data.IFeature currentFeature 
= fs.AddFeature(p);
                                        //PointCheck(ds);
                                    }
                                    uxMap.Layers.Add(fs);
                                    //uxMap.Layers.OrderByDescending(fs, 1);

                                }
                            }

                          else   if (layerType == "MULTIPOINT")
                            {
                                FeatureSet fs = new FeatureSet(dt, 1, true, 
DotSpatial.Topology.FeatureType.Point);
                                fs.DataTable = dt.Clone();
                                foreach (DataRow row in dt.Rows)
                                {
                                    DotSpatial.Topology.Point p = new 
DotSpatial.Topology.Point();
                                    for (int k = 0; k <= arrCoordinatesX.Count 
- 1; k++)
                                    {
                                        DotSpatial.Topology.Coordinate c = new 
DotSpatial.Topology.Coordinate(Convert.ToDouble(arrCoordinatesX[k]), 
Convert.ToDouble(arrCoordinatesY[k]));
                                        p = new DotSpatial.Topology.Point(c);
                                        DotSpatial.Data.IFeature currentFeature 
= fs.AddFeature(p);
                                    }
                                    DotSpatial.Topology.MultiPoint mp = new 
DotSpatial.Topology.MultiPoint(p);
                                    uxMap.Layers.Add(fs);
                                }
                            }
                        }
                        dt.Rows.Clear();
                    }
                }


So how to control this layer order so that i can see all the layers in a single 
map window


Thanks and Regards
Nikhil Sai Parupalli



Note: Do not print this email until and unless it is really required. Save 
paper , stay Green
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to