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

微信认证 网站wordpress页面参数

微信认证 网站,wordpress页面参数,购物网页素材,安居客官网一、简介 一般的数据库要素或表格都有一个BSM字段#xff0c;用来标识唯一值。 此工具要实现的功能是#xff1a;按一定的规律#xff08;前缀中间的填充数字OBJECT码#xff09;来给BSM赋值。 主要技术要点包括#xff1a; 1、ProWindow的创建#xff0c;Label,Comb…一、简介 一般的数据库要素或表格都有一个BSM字段用来标识唯一值。 此工具要实现的功能是按一定的规律前缀中间的填充数字OBJECT码来给BSM赋值。 主要技术要点包括 1、ProWindow的创建Label,Combobox,Button控件的使用 2、获取当前内容框的所有要素图层 3、获取指定要素图层的所有字段 4、使用GP工具来进行【字段计算】 二、前端 1、ProWindo窗口的搭建 创建一个ArcGIS Pro模块加载项。​ 在项目中右键点击【项目】-【新建项】添加1个【ArcGIS Pro ProWindow】命名为【SetBSMCode.xaml】。 添加后会生成3个文件。 【SetBSMCode.xaml】是ProWindow的前端配置文件用来搭建工具窗口。 【SetBSMCode.xaml.cs】是ProWindow的后端文件用来处理各种后端事件。 【ShowSetBSMCode.cs】是一个Button按钮点击后即可显示ProWindow窗口。 打开【SetBSMCode.xaml】会发现其实就是一个WPF窗口。 关于ProWindow的基本操作方法可以看一下这个文章。 ProWindow的用法https://blog.csdn.net/xcc34452366/article/details/129552432这里介绍了几个常用控件的使用方法。我们这次用到的只有【Label、ComboBox、Button、TextBox】。 搭建窗口如下 ​然后为控件【cb_layer、cb_field、btn_go】设置一下事件进行前后端的连接。 2、Config.daml设置 【Config.daml】的设置可以参照上一期教程主要就是Button控件【ShowSetBSMCode.cs】的设置这里就不再缀述 注意Button图片要放在工程里并将【生成操作】设置为【内容】。 点击调试查看结果 三、后端 打开【SetBSMCode.xaml.cs】可以看到已经有了3个空的事件方法。 1、【cb_layer_DropOpen】将当前地图中的所有要素图层添加到ComboBox中 首先清空ComboBox里的下拉项避免之前操作的遗留。 通过map的【GetLayersAsFlattenedList()】方法获取当前地图中的所有要素图层注意这部分代码要放在【QueuedTask.Run()】里面。 再把图层名逐个加入到ComboBox的下拉项。 这样当【cb_layer】下拉时下拉框里就是显示所有的图层名。 private async void cb_layer_DropOpen(object sender, EventArgs e) {// 先清空ComboBox里的下拉项避免之前操作的遗留cb_layer.Items.Clear();// 获取当前地图Map map MapView.Active.Map;// 获取所有要素图层ListFeatureLayer featureLayers await QueuedTask.Run(() {return map.GetLayersAsFlattenedList().OfTypeFeatureLayer().ToList();});// 把图层的名称以文本格式添加到ComboBox的下拉项foreach (FeatureLayer featureLayer in featureLayers){cb_layer.Items.Add(featureLayer.Name);} } 2、【cb_field_DropOpen】将上面选择图层的所有字段名添加到ComboBox中 首先要清空ComboBox里的下拉项避免之前操作的遗留。 获取【cb_layer】中选定的图层名并通过图层名来获取要素图层FeatureLayer要素。 最后再将要素图层的名称加入到ComboBox的下拉项。 同样要注意的是哪一部分代码在放在【QueuedTask.Run()】里面。 private async void cb_field_DropOpen(object sender, EventArgs e) {// 获取cb_layer中选定的图层名string lyName cb_field.Text;// 清空combox_fieldcb_field.Items.Clear();var fields await QueuedTask.Run(() {// 获取当前地图Map map MapView.Active.Map;// 通过图层名获取对应的要素图层FeatureLayerFeatureLayer featureLayer map.GetLayersAsFlattenedList().OfTypeFeatureLayer().FirstOrDefault(l l.Name lyName);// 获取所选图层的所有字段return featureLayer.GetTable().GetDefinition().GetFields().ToList();});// 将所有字段名添加到combox_field中foreach (var field in fields){cb_field.Items.Add(field.Name);} } 3、【btn_go_Click】执行主程序 工具的核心代码放在这里。 一般这里的代码都比较长也是问题频发区。我的习惯是直接在外面套一个【try...catch】用来捕捉错误。 try {// TODO } catch (Exception ee) {MessageBox.Show(ee.Message ee.StackTrace);return; } 具体流程如下 先获取工具窗口里设置好的参数图层名字段名前缀文字。 再获取图层的OID字段和BSM字段。 需要特别说明的是这里只是一个简单的示例先不考虑SHP数据的情况。 不过即使是GDB数据它的OID字段也并不一定就是【objectID】也可能是【objectID_1】等其它情况所以这里需要重新查找通过字段类型来确定OID字段。 获取到OID字段的名称和BSM字段的长度后再使用GP工具来执行【计算字段】得到最终结果。 有关GP工具的使用请查看这个文章 GeoProcessing工具和自定义工具的调用https://blog.csdn.net/xcc34452366/article/details/129225381?spm1001.2014.3001.5501执行完毕后就关闭工具窗口并弹出一个Message框提示完成。 全代码如下 private async void btn_go_Click(object sender, RoutedEventArgs e) {try{// 图层名string layerName cb_layer.Text;// 字段名string fieldName cb_field.Text;// 前缀文字string front txt_front.Text;await QueuedTask.Run(() {// 搜索OID字段和BSM字段Field OIDField null;Field BSMField null;// 获取当前地图Map map MapView.Active.Map;// 通过图层名获取对应的要素图层FeatureLayerFeatureLayer featureLayer map.GetLayersAsFlattenedList().OfTypeFeatureLayer().FirstOrDefault(l l.Name layerName);// 获取所选图层的所有字段var fields featureLayer.GetTable().GetDefinition().GetFields().ToList();foreach (var field in fields){// 通进OID字段的类型来搜索if (field.FieldType FieldType.OID){OIDField field;}// 通进BSM字段的名称来搜索if (field.Name fieldName){BSMField field;}}// 获取OID字段的名称和BSM字段的长度string OIDName OIDField.Name;int BSMLength BSMField.Length;// 计算字段的计算表达式string block ${front}0 * ({BSMLength} - len(str(!{OIDName}!1))-{front.Length}) str(!{OIDName}!);// 生成计算字段工具所需的参数var par Geoprocessing.MakeValueArray(layerName, fieldName, block);// 执行计算字段工具Geoprocessing.ExecuteToolAsync(management.CalculateField, par);});// 关闭窗口Close();// 弹出一个Message框提示完成MessageBox.Show(BSM修改完成);}catch (Exception ee){MessageBox.Show(ee.Message ee.StackTrace);return;} } 四、调试 点击调试如图所示选定【图层2】字段选定【BSM】前缀输入一个【350001】点击【运行】 运行后打开图层属性表 需要说明的是这个工具只是个示例有很多特殊情况还没有考虑进去如SHP的OID字段值是从0开始而不是从1开始等。 作为一个初级教程还是尽量先从简单的情况开始优先考虑完成主要功能在后面的教程中会慢慢深入。 五、工程文件下载 工程文件地址如下在文件夹中找到【BSM字段赋值】下载即可。 【ArcGIS Pro二次开发实例教程】原代码合集https://pan.baidu.com/s/1HuS7engSHi1uK1sl70xtAQ?pwdd6ji
http://www.hkea.cn/news/14494080/

相关文章:

  • 吉林企业网站模板建站哪个好杭州网站建设设计公司
  • 网站系统制作教程58同城做网站被骗
  • c mvc制作网站开发中企动力科技股份有限公司苏州分公司
  • 做什么网站好沈阳网站seo公司
  • 大连建设工程设计院有限公司网站wordpress 3.0主题
  • 网站开发项目具体的流程wordpress激活码注册插件
  • 可商用的设计网站城市建设模拟游戏网站中文注解
  • php与mysql网站开发...网页制作包括哪些内容
  • 网站型和商城型有什么区别商城软件开发多少钱
  • 杭州网站忧化wordpress排队加载
  • 网上下载的网站模板怎么用网站建设与管理课程实训
  • 网站建设分几块宝安中心区范围
  • 网站开发结束语公司域名查询官方网站
  • 品牌设计网站机械公司网站模板
  • 网站建设好了却收不到网站推荐男生正能量2021
  • 能打开的网站张店网站开发招聘
  • 做电锯电音的网站如何自己创建一个网址
  • 网上医疗和医院网站建设自己网站制作
  • 服装租赁 网站 php设计平面广告
  • wordpress 开店seo全网优化推广
  • 如何做网站评估分析推广策略包括哪些方面
  • 网站快速过备案做网站需要准备什么东西
  • 网站外部链接添加方式网站制作软件教程
  • 无锡江阴做网站公司石家庄做商城网站的公司
  • 在线购物网站模板汕头教育学会网站建设
  • 营销型网站规划建设的七大要素网站联系方式模板
  • 互联网网站建设维护湛江市建设局官方网站
  • 精品建站公司天津市建设工程管理信息网
  • 地图 添加到网站如何建设网站安全
  • 什么网站可以做旅行行程单营销型网站 典型案例