Engine中如何对地图进行裁剪?

Engine中如何对地图进行裁剪?ArcMap中对应功能为Data Frame Properties->Data Frame页面下的Clip Options选择Clip to Shape,然后指定Shape功能。
已邀请:

朱新颖

赞同来自:

【解决办法】:
设置IMapClipOptions.ClipType为esriMapClipType.esriMapClipShape,然后设置IMapClipOptions.ClipGeometry即可。注意:Geometry的SpatialReference需要与Map的SpatialReference相同。

IEnvelope envelope = new EnvelopeClass();
            envelope.PutCoords(12935193.0865, 4804338.072, 12980595.6773, 4842438.1482);            
            IMap map = axPageLayoutControl1.ActiveView.FocusMap;
            envelope.SpatialReference = map.SpatialReference;
            IMapClipOptions clipOptions = map as IMapClipOptions;
            clipOptions.ClipType = esriMapClipType.esriMapClipShape;
            clipOptions.ClipGeometry = envelope as IGeometry;//这里也可以是IPolygon
            axPageLayoutControl1.Refresh();

 

xyy

赞同来自:

用Engine真正裁剪出来的图形,有没有不用GP工具调用Clip工具的方法,直接用要素进行裁剪?

xiaosi9524 - GISER

赞同来自:

ITopologicalOperator.Clip 
这个?
 

要回复问题请先登录注册