Newer
Older
GHFX_REFACTOR / getpipeLineFields.cs
xiaowei on 25 Nov 2016 2 KB 合并1
using GeoScene.Data;
using GeoScene.Engine;
using GeoScene.Globe;

namespace Cyberpipe
{
    class GetpipeLineFields
    {
        
        public static string GetFields(string caption, GSOGlobeControl mGlobeControl)
        {
            GSOLayer mLayer = mGlobeControl.Globe.Layers.GetLayerByCaption(caption);//获取当前选择的layer图层
            if (mLayer == null) return "";
            GSODataset ds = mLayer.Dataset;
           GSOFeatureDataset sourcefDataset = ds as GSOFeatureDataset;
            if (sourcefDataset == null) return "";
            sourcefDataset.Open();
            string fields = "";
            for (int j = 0; j < sourcefDataset.FieldCount; j++)
            {
                GSOFieldAttr fieldef = sourcefDataset.GetField(j);
                string fieldName = fieldef.Name;
                if (fieldName.Contains("高程") || fieldef.Name.Contains("埋深") ||
                    fieldef.Name.Contains("沟道宽") || fieldef.Name.Contains("沟道高") ||
                    fieldef.Name.Contains("间隙") || fieldef.Name.Contains("井深") ||
                    fieldef.Name.Contains("深度") || fieldef.Name.Contains("高度"))
                {
                    fieldName = "round(" + fieldName + ",2) as " + fieldName + "_米";
                }
                else if (fieldName.Contains("X坐标") || fieldName.Contains("Y坐标"))
                {
                    fieldName = "round(" + fieldName + ",2) as " + fieldName;
                }
                
                if (j < sourcefDataset.FieldCount - 1)
                {
                    fields += fieldName + ",";
                }
                else
                    fields += fieldName;

            }
            return fields;
        }


        public static string GetFieldsForBubble(string caption, GSOGlobeControl mGlobeControl)
        {
            GSOLayer mLayer = mGlobeControl.Globe.Layers.GetLayerByCaption(caption); //获取当前选择的layer图层
            if (mLayer == null) return "";
            GSODataset ds = mLayer.Dataset;
            GSOFeatureDataset sourcefDataset = ds as GSOFeatureDataset;
            if (sourcefDataset == null) return "";
            sourcefDataset.Open();
            string fields = "";
            for (int j = 0; j < sourcefDataset.FieldCount; j++)
            {

                GSOFieldAttr fieldef = sourcefDataset.GetField(j);
                string fieldName = fieldef.Name;
                if (j < sourcefDataset.FieldCount - 1)
                {
                    fields += fieldName + ",";
                }
                else
                    fields += fieldName;

            }
            return fields;
        }

    }
}