当前位置: 首页 > news >正文

asp.net filesystemobject 取网站目录磁力搜索器 磁力猫

asp.net filesystemobject 取网站目录,磁力搜索器 磁力猫,网站建设建设价格,做网站吸引客户ArcGIS Pro SDK (七)编辑 10 捕捉 文章目录 ArcGIS Pro SDK (七)编辑 10 捕捉1 配置捕捉 - 打开或关闭捕捉2 配置捕捉 - 应用程序捕捉模式3 配置捕捉 - 图层捕捉可捕捉性4 配置捕捉 - 图层捕捉模式5 配置捕捉 - 组合示例6 捕捉选项…

ArcGIS Pro SDK (七)编辑 10 捕捉

文章目录

  • ArcGIS Pro SDK (七)编辑 10 捕捉
    • 1 配置捕捉 - 打开或关闭捕捉
    • 2 配置捕捉 - 应用程序捕捉模式
    • 3 配置捕捉 - 图层捕捉可捕捉性
    • 4 配置捕捉 - 图层捕捉模式
    • 5 配置捕捉 - 组合示例
    • 6 捕捉选项

环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0

1 配置捕捉 - 打开或关闭捕捉

// 启用捕捉
ArcGIS.Desktop.Mapping.Snapping.IsEnabled = true;// 禁用捕捉
ArcGIS.Desktop.Mapping.Snapping.IsEnabled = false;

2 配置捕捉 - 应用程序捕捉模式

// 仅设置点和边捕捉模式,清除其他所有模式
// 在 2.x 版本中 - ArcGIS.Desktop.Mapping.Snapping.SetSnapModes(SnapMode.Point, SnapMode.Edge);
ArcGIS.Desktop.Mapping.Snapping.SetSnapModes(new List<SnapMode>() { SnapMode.Point, SnapMode.Edge });// 清除所有捕捉模式
// 在 2.x 版本中 - ArcGIS.Desktop.Mapping.Snapping.SetSnapModes();
ArcGIS.Desktop.Mapping.Snapping.SetSnapModes(null);// 一次设置一个捕捉模式
ArcGIS.Desktop.Mapping.Snapping.SetSnapMode(SnapMode.Edge, true);
ArcGIS.Desktop.Mapping.Snapping.SetSnapMode(SnapMode.End, true);
ArcGIS.Desktop.Mapping.Snapping.SetSnapMode(SnapMode.Intersection, true);// 获取当前捕捉模式
var snapModes = ArcGIS.Desktop.Mapping.Snapping.SnapModes;// 获取特定捕捉模式的状态
bool isOn = ArcGIS.Desktop.Mapping.Snapping.GetSnapMode(SnapMode.Vertex);

3 配置捕捉 - 图层捕捉可捕捉性

// 图层是否可捕捉?
bool isSnappable = fLayer.IsSnappable;// 设置特定图层的可捕捉性 - 需要在 MCT 上运行
await QueuedTask.Run(() =>{// 使用扩展方法fLayer.SetSnappable(true);// 或直接使用 CIM//var layerDef = fLayer.GetDefinition() as ArcGIS.Core.CIM.CIMGeoFeatureLayerBase;//layerDef.Snappable = true;//fLayer.SetDefinition(layerDef);});// 关闭所有图层的可捕捉性
layerList = MapView.Active.Map.GetLayersAsFlattenedList().OfType<FeatureLayer>();
await QueuedTask.Run(() =>{foreach (var layer in layerList){layer.SetSnappable(false);}});

4 配置捕捉 - 图层捕捉模式

layerList = MapView.Active.Map.GetLayersAsFlattenedList().OfType<FeatureLayer>();// 按图层配置
foreach (var layer in layerList)
{// 查找图层捕捉模式的状态var lsm = ArcGIS.Desktop.Mapping.Snapping.GetLayerSnapModes(layer);bool vertexOn = lsm.Vertex;// 或使用vertexOn = lsm.GetSnapMode(SnapMode.Vertex);bool edgeOn = lsm.Edge;// 或使用edgeOn = lsm.GetSnapMode(SnapMode.Edge);bool endOn = lsm.End;// 或使用endOn = lsm.GetSnapMode(SnapMode.End);// 更新一些捕捉模式// 关闭顶点捕捉lsm.SetSnapMode(SnapMode.Vertex, false);// 开启交点捕捉lsm.SetSnapMode(SnapMode.Intersection, true);// 并设置回图层ArcGIS.Desktop.Mapping.Snapping.SetLayerSnapModes(layer, lsm);// 一次分配一个捕捉模式ArcGIS.Desktop.Mapping.Snapping.SetLayerSnapModes(layer, SnapMode.Vertex, false);// 打开所有捕捉模式ArcGIS.Desktop.Mapping.Snapping.SetLayerSnapModes(layer, true);// 关闭所有捕捉模式ArcGIS.Desktop.Mapping.Snapping.SetLayerSnapModes(layer, false);
}// 为一组图层配置// 为一组图层设置顶点、边、结束捕捉,其他捕捉模式为 false
var vee = new LayerSnapModes(false);
vee.Vertex = true;
vee.Edge = true;
vee.End = true;
ArcGIS.Desktop.Mapping.Snapping.SetLayerSnapModes(layerList, vee);// 确保一组图层的交点捕捉开启而不更改其他任何捕捉模式// 获取一组图层的捕捉模式
var dictLSM = ArcGIS.Desktop.Mapping.Snapping.GetLayerSnapModes(layerList);
foreach (var layer in dictLSM.Keys)
{var lsm = dictLSM[layer];lsm.Intersection = true;
}
ArcGIS.Desktop.Mapping.Snapping.SetLayerSnapModes(dictLSM);// 为一组图层关闭所有捕捉模式
ArcGIS.Desktop.Mapping.Snapping.SetLayerSnapModes(layerList, false);

5 配置捕捉 - 组合示例

// 仅对特定感兴趣的图层的顶点进行捕捉,而不对其他图层的顶点进行捕捉
// 所有其他捕捉模式应关闭。// 必须启用捕捉
ArcGIS.Desktop.Mapping.Snapping.IsEnabled = true;// 关闭所有应用程序捕捉模式
// 在 2.x 版本中 - ArcGIS.Desktop.Mapping.Snapping.SetSnapModes();
ArcGIS.Desktop.Mapping.Snapping.SetSnapModes(null);// 设置应用程序捕捉模式顶点开启
ArcGIS.Desktop.Mapping.Snapping.SetSnapMode(SnapMode.Vertex, true);// 确保图层捕捉开启
await QueuedTask.Run(() =>
{fLayer.SetSnappable(true);
});// 仅设置顶点捕捉
var vertexOnly = new LayerSnapModes(false);
vertexOnly.Vertex = true;// 仅对特定图层设置顶点捕捉,清除其他所有捕捉模式
var dict = new Dictionary<Layer, LayerSnapModes>();
dict.Add(fLayer, vertexOnly);
ArcGIS.Desktop.Mapping.Snapping.SetLayerSnapModes(dict, true);  // true = 重置其他图层

6 捕捉选项

//通过 get/set 选项设置捕捉选项
var snapOptions = ArcGIS.Desktop.Mapping.Snapping.GetOptions(myMap);
// 在 2.x 版本中 - snapOptions.SnapToSketchEnabled = true;
snapOptions.IsSnapToSketchEnabled = true;
snapOptions.XYTolerance = 100;
// 在 2.x 版本中 - snapOptions.ZToleranceEnabled = true;
snapOptions.IsZToleranceEnabled = true;
snapOptions.ZTolerance = 0.6;// 开启捕捉提示显示部分
snapOptions.SnapTipDisplayParts = (int)SnapTipDisplayPart.SnapTipDisplayLayer + (int)SnapTipDisplayPart.SnapTipDisplayType;// 关闭所有捕捉提示
//snapOptions.SnapTipDisplayParts = (int)SnapTipDisplayPart.SnapTipDisplayNone;// 仅开启图层显示
//snapOptions.SnapTipDisplayParts = (int)SnapTipDisplayPart.SnapTipDisplayLayer;// 在 2.x 版本中 - snapOptions.GeometricFeedbackColor = ColorFactory.Instance.RedRGB;
snapOptions.SnapTipColor = ColorFactory.Instance.RedRGB;ArcGIS.Desktop.Mapping.Snapping.SetOptions(myMap, snapOptions);
http://www.hkea.cn/news/482364/

相关文章:

  • 网站后期推广是谁来做广州百度推广开户
  • 不上此网站枉做男人免费制作网站平台
  • 防红短链接生成佛山抖音seo
  • 网站建设php带数据库模板站长工具四叶草
  • 做网站客户拖着不验收店铺推广渠道有哪些方式
  • 站群系统哪个好用怎样进行seo推广
  • 淄博网站建设方案网络推广是做什么的
  • 网站建设销售工作职责seo平台怎么样
  • 免费的网站给一个百度seo优化服务项目
  • 现代广告创意设计郑州百度网站优化排名
  • 兰州网站建设哪家专业谷歌seo网站推广
  • 崇信门户网站留言回复上优化seo
  • 网站建设费用有哪些站长工具搜索
  • 云主机能干什么独立站seo怎么做
  • 苏州专业网站建设设计公司免费发布推广信息的b2b
  • 空间 两个网站网络推广培训班
  • 零基础学做网站推广公司简介
  • 公司做网站最好引擎搜索器
  • 济南手工网站建设北京百度seo服务
  • 网站建设原创百度seo官网
  • 徐州企业网站建设衡阳seo服务
  • 网站自然排名优化seo专员是什么职业
  • 视频网站制作广告代理公司
  • wordpress主题域名授权密钥生成镇海seo关键词优化费用
  • 北京东直门+网站建设汕头seo外包平台
  • 长沙 做网站企业网络组网设计
  • 北京哪家做网站优化产品seo基础优化
  • 招商加盟网站建设百度网址安全检测
  • 知名做网站费用2024年将爆发新瘟疫
  • 河北省城乡与建设厅网站企业关键词排名优化哪家好