Newer
Older
EMS_SZ / getpipeLineFields.cs
wxn on 26 Jul 2016 2 KB 苏州反馈问题修复
using System;
using System.Collections.Generic;
using System.Text;
using GeoScene.Globe;
using GeoScene.Engine;
using GeoScene.Data;

namespace Cyberpipe
{
    class getpipeLineFields
    {
        
        public static string getFields(string caption, GSOGlobeControl m_globeControl)
        {
            GSODataset ds;
            GSOFeatureDataset sourcefDataset;
            GSOLayer m_layer = m_globeControl.Globe.Layers.GetLayerByCaption(caption);//获取当前选择的layer图层
            if (m_layer == null)
                return "";
            GSOFeatureLayer flayer = m_layer as GSOFeatureLayer;
            ds = m_layer.Dataset as GSODataset;
            sourcefDataset = ds as GSOFeatureDataset;
            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+"_米";
                }
                if (j < sourcefDataset.FieldCount - 1)
                {
                    fields += fieldName + ",";
                }
                else
                    fields += fieldName;
            }
            return fields;
        }

        public static string getFieldsForBallon(string caption, GSOGlobeControl m_globeControl)
        {
            GSODataset ds;
            GSOFeatureDataset sourcefDataset;
            GSOLayer m_layer = m_globeControl.Globe.Layers.GetLayerByCaption(caption);//获取当前选择的layer图层
            if (m_layer == null)
                return "";
            GSOFeatureLayer flayer = m_layer as GSOFeatureLayer;
            ds = m_layer.Dataset as GSODataset;
            sourcefDataset = ds as GSOFeatureDataset;
            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;
        }
    }
}