skyline开发——读取Shapefile要素属性

 1 double len;
 2                 IFeatures66 features = featureLayer.FeatureGroups.Polyline.GetCurrentFeatures();
 3                 foreach (IFeature66 feature in features)
 4                 {
 5                     len = 0;
 6                     if (feature.ObjectType == ObjectTypeCode.OT_FEATURE)
 7                     {
 8                         TerraExplorerX.IGeometry geometry = feature.Geometry;
 9                         if (geometry.GeometryType == SGGeometryTypeId.SG_MULTILINESTRING)
10                         {
11                             IMultiLineString line = (IMultiLineString)geometry;
12                             len = line.Length;
13                         }
14                         else if (geometry.GeometryType == SGGeometryTypeId.SG_LINESTRING)
15                         {
16                             ILineString linestr = (ILineString)geometry;
17                             len = linestr.Length;
18                         }
19                         foreach (IFeatureAttribute66 attr in feature.FeatureAttributes)
20                         {
21                             if (attr.Name == "Id")
22                             {
23                                 SetDataTableValue(dt, attr.Value, Math.Round(len, 3));
24                                 break;
25                             }
26                         }
27                     }
28                 }

 

posted on 2017-03-01 15:11  Lzhm216  阅读(401)  评论(0编辑  收藏  举报

导航