• Arcgis Engine(ae)接口详解(7):地图(map)操作


                IMap map = null;
                //跟map同一层次的activeView对象,他们都是“地图”的对象,map管理地图内容,activeView管理显示内容
                IActiveView activeView = map as IActiveView;
    
                //获取当前地图显示范围
                IEnvelope extent = activeView.Extent;
                //设置当前地图显示范围,相当于用代码实现缩放到某个范围
                activeView.Extent = extent;
    
                //获取地图全图范围
                //地图浏览功能中的全图,他的范围就是这样获取
                IEnvelope fullExtent = activeView.FullExtent;
    
                //获取地图比例尺,同时可同于设置比例尺
                double mapScale = map.MapScale;
    
                //获取和设置地图单位
                esriUnits unit = map.MapUnits;
                //获取和设置地图的显示单位
                esriUnits unit2 = map.DistanceUnits;
    
                //刷新地图
                activeView.Refresh();
    
                //屏幕长度(单位是像素)转地图实际长度
                double mapLength = MapHelper.PixelsToMapUnits(activeView, 5);
    
                //获取Map的所有FeatureLayer
                List<IFeatureLayer> lstFeatureLayer = MapHelper.GetAllFeatureLayerInMap(map);
    
                if (1 == 2)
                {
                    //在Map中通过真实表名获取图层,对于sde的表名不能带用户名
                    IFeatureLayer featureLayer = MapHelper.GetFeatureLayerByDatasetName(map, "roadLine");
    
    
                }
    
                foreach (IFeatureLayer featureLayer in lstFeatureLayer)
                {
                    //图层相关说明
    
                    //IFeatureLayer代表矢量图层,而ILayer代表图层,也是所有类型图层接口都实现了ILayer,因此IFeatureLayer可以as到ILayer
                    ILayer layer = featureLayer as ILayer;
    
                    //获取和设置图层的可视状态(就是图层树界面里图层左边的checkbox)
                    bool visible = layer.Visible;
                    //获取或设置图层名称
                    string name = layer.Name;
    
                    //通过图层获取featureClass,是获取featureClass的方法之一。另一种方法是通过workspace获取
                    //注意IFeatureLayer和IFeatureClass是两个东西,虽然平时会都叫“图层”。IFeatureClass是指物理表,而IFeatureLayer指物理表加载到地图上形成的图层,前者更多指数据,后者只图层在地图的展示设置,如样式,标注等
                    IFeatureClass featureClass = featureLayer.FeatureClass;                
                }
  • 相关阅读:
    ScriptX实现的打印功能 只兼容IE
    JS 打印DIV
    C语言的代码内存布局
    二叉树
    C++中explicit关键字的作用
    基类和派生类
    C++ 输入输出流 总结
    python网络编程(六)---web客户端访问
    python 网络编程(五)---DNS域名系统
    python 网络编程(一)---基础
  • 原文地址:https://www.cnblogs.com/cannel/p/11074339.html
Copyright © 2020-2023  润新知