public FeatureCollection ToFeatureSet()
{
FeatureCollection featureSet = new FeatureCollection();
if (this.Records == null)
{
return featureSet;
}
foreach (Record record in this.Records)
{
Feature feature = new Feature();
ServerGeometry shape = record.Shape;
if (shape != null)
{
switch (shape.Feature)
{
case ServerFeatureType.Unknown:
break;
case ServerFeatureType.Point:
feature.Geometry = shape.ToGeoPoint();
break;
case ServerFeatureType.Line:
feature.Geometry = shape.ToGeoLine();
break;
case ServerFeatureType.Polygon:
feature.Geometry = shape.ToGeoRegion();
break;
case ServerFeatureType.Text:
break;
case ServerFeatureType.LineM:
break;
default:
feature.Geometry = null;
break;
}
}
//List<string> values = record.FieldValues;
//List<string> key = this.ReturnFields; //没有用Caption
if (record.FieldValues != null)
{
for (int i = 0; i < this.ReturnFields.Count; i++)
{
feature.Attributes.Add(this.ReturnFields[i], record.FieldValues[i]);
}
}
featureSet.Add(feature);
}
return featureSet;
}