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
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev