首 页文章中心下载中心繁體中文
设为首页
加入收藏
联系我们
您当前的位置:开源盛世-源代码下载网 -> 文章中心 -> GIS 专区 -> 文章内容 退出登录 用户管理
栏目导航
· VC++专区 · V B 专区
· GIS 专区 · PDA 专区
· 其他编程 · 网站开发类
· 数据库类 · 软件应用
· 网络安全 · 论文专区
· 综合资讯
热门文章
· Tab Control控件使用...
· 学生档案管理系统
· [图文] 排列组合公式
· UTF-8与GB2312之间的...
· DirectShow下载安装...
· Virtual PC 在PAE模...
· Windows2000终端服务...
· MapInfo上的GIS系统...
· Mapbasic参考手册索...
· MapX应用开发中文讲...
相关文章
ArcSDE中直接取得图层几何类型
作者:不详  来源:vscodes.com整理  发布时间:2007-6-19 15:14:10  发布人:Polaris

减小字体 增大字体

        要取得SDE图层要素类型,一个方法就是打开该图层,然后通过取得DataSetType属性和FeatureType属性来判断,但这样做效率比较低。能不能通过SDE的系统表来获得呢,答案是可以的。
        要有到两张系统表:GDB_OBJECTCLASSES和GDB_FEATURECLASSES。
        其中GDB_OBJECTCLASSES表中相关字段有:ID、Name,GDB_FEATURECLASSES表的相关字段是:ObjectClassID、FeatureType、GeometryType,两个表的关联关系是:GDB_OBJECTCLASSES.ID=GDB_FEATURECLASSES.ObjectClassID。通过这两个表的关联,就可以取得指定图层要素类型了。
        我们可以先通过SQL语句根据图层名称来获取GDB_FEATURECLASSES表中字段FeatureType、GeometryType的值,然后将其转化为对应的要素类型。转换关系请参照下面的代码:

public enum GeoType{Point,Line,Polygon,Anno,Raster,AttrTable,Unknown};

public static GeoType GetGeoType(object GeometryType,object FeatureType)
        {
            if (GeometryType == DBNull.Value)
                return GeoType.AttrTable;
            else if(GeometryType.ToString() == "2")
            {
                return GeoType.Point;
            }
            else if (GeometryType.ToString() == "3")
            {
                return GeoType.Line;
            }
            else if(GeometryType.ToString() == "4")
            {
                if (FeatureType.ToString() == "1")
                    return GeoType.Polygon;
                else if (FeatureType.ToString() == "11")
                    return GeoType.Anno;
                else if (FeatureType.ToString() == "14")    
                    return GeoType.Raster;
                else
                    return GeoType.Unknown;
            }
            else
            {
                return GeoType.Unknown;
            }    
        }


       通过这种方式,速度很快,而且可以一次读出所有图层的图层基本信息和要素类型,速度极快。如果这些信息要经常使用的话,可以保存到一个哈希表中,这样只用连接一次数据库就OK了。

End of《ArcSDE中直接取得图层几何类型》

[] [返回上一页] [打 印] [收 藏]
 
∷相关“ArcSDE中直接取得图层几何类型”文章评论∷
(评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 网站目录 鄂ICP备06007162
开源盛世 版权所有Copyright © 2003-2005 VSCodes.Com. All Rights Reserved.