0

I am trying to get the geometry data from a dataset to a featuredataset:

private void QueryCustomer(DataSet ds)
        {

            SharpMap.Data.FeatureDataSet ds_feature = new SharpMap.Data.FeatureDataSet();

            ds_feature = (SharpMap.Data.FeatureDataSet)ds;  // ERROR HERE
..

I am getting :

Unable to cast object of type 'System.Data.DataSet' to type 'SharpMap.Data.FeatureDataSet'

Any help would be appreciated. Thanks.

1 Answers1

1

No need to create a DataSet. Just get your table directly from SqLite using the FeatureDataSet:

double x, y;
FeatureDataSet fds = new FeatureDataSet();
Envelope env = new Envelope(double.MinValue, double.MaxValue, double.MinValue, double.MaxValue); 

SharpMap.Data.Providers.ManagedSpatiaLite p = new ManagedSpatiaLite(ConnectionString, Table, GeometryColumn.ToUpper(), KeyColumn.ToUpper()); 
p.Open();
p.ExecuteIntersectionQuery(env, fds);
foreach (FeatureDataRow fdr in ((FeatureDataTable)fds.Tables[0]).Rows)
{
x = fdr.Geometry.Centroid.X;
y = fdr.Geometry.Centroid.Y;
//...process x and y here...
}
p.Close();
p.Dispose();
Rob
  • 59
  • 7