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

wordpress建站最低配置专门做餐饮装修的公司

wordpress建站最低配置,专门做餐饮装修的公司,网站样式模板,做得比较好的公司网站最近一个小伙伴提了这么一个需求#xff0c;需要把TXT和SHP进行互转。 这种TXT文件其实遇到了好几个版本#xff0c;都有一点小差异。之前已经做过一个TXT转SHP的工具#xff0c;但好像不适用。于是针对这个版本#xff0c;做了互转的2个工具。 【SHP转TXT】 一、要实现的…最近一个小伙伴提了这么一个需求需要把TXT和SHP进行互转。 这种TXT文件其实遇到了好几个版本都有一点小差异。之前已经做过一个TXT转SHP的工具但好像不适用。于是针对这个版本做了互转的2个工具。 【SHP转TXT】 一、要实现的功能 如上图所示在【数据处理】组—【TXT相关】面板下点击【进出平衡SHP转TXT】工具。 在弹出的工具框中分别输入参数 1、输入SHP文件所在的文件夹。 2、输入TXT文件所在的文件夹。 3、这里不用填写会自动列出【1】中所有的shp要素不想转换的可以点复选框取消。 4、选择地块名称和地块用途对应的字段值会写入TXT文件中。 生成结果如下 二、实现流程 核心代码直接贴上注释已经写得比较清楚了。 需要注意的是这里获取要素的点集信息我采取了通过要素的JSON文本来截取的做法原因是不知道怎么用API来获取所以用了这么个取巧的方法以后要是学会了再改吧。这也是无奈之举要学的东西还很多。 foreach (string fullPath in list_shpPath) {// 初始化写入txt的内容string txt_all [地块坐标] \r;string shp_name fullPath[(fullPath.LastIndexOf(\) 1)..]; // 获取要素名string shp_path fullPath[..(fullPath.LastIndexOf(\))]; // 获取shp名// 打开shpFileSystemConnectionPath fileConnection new FileSystemConnectionPath(new Uri(shp_path), FileSystemDatastoreType.Shapefile);using FileSystemDatastore shapefile new FileSystemDatastore(fileConnection);// 获取FeatureClassFeatureClass featureClass shapefile.OpenDatasetFeatureClass(shp_name);using (RowCursor rowCursor featureClass.Search()){int featureIndex 1;while (rowCursor.MoveNext()){using (Feature feature rowCursor.Current as Feature){// 获取地块名称地块性质Row row feature as Row;string ft_name ;string ft_type ;var areaName row[field_mc];var areaType row[field_yt];if (areaName ! null) { ft_name areaName.ToString(); }if (areaType ! null) { ft_type areaType.ToString(); }// 获取面要素的JSON文字Geometry polygon feature.GetShape();string js polygon.ToJson().ToString();// 解析JSON文字// 取坐标点文字string cod js[(js.IndexOf([[[) 3)..js.IndexOf(]]])];// 坐标点列表Liststring list_xy cod.Split(]]).ToList();for (int i 0; i list_xy.Count; i){// 坐标行Liststring xy_detils list_xy[i].Replace(,[[, ).Split(],[).ToList();// 加一行titleint count xy_detils.Count; // 点的个数string title ${count},{ft_name},面,{ft_type}, \r;txt_all title;for (int j 0; j xy_detils.Count; j){// 点序号int index j 1;if (index xy_detils.Count) { index 1; }// XY坐标点string x Math.Round(double.Parse(xy_detils[j].Split(,)[0]), 4).ToString();string y Math.Round(double.Parse(xy_detils[j].Split(,)[1]), 4).ToString();// 加入文本txt_all $J{index},{featureIndex},{x},{y}\r;}}}featureIndex;}}// 写入txt文件string txtPath ${folder_txt}\{shp_name.Replace(.shp, )}.txt;if (File.Exists(txtPath)){File.Delete(txtPath);}File.WriteAllText(txtPath, txt_all); }【TXT转SHP】 一、要实现的功能 如上图所示在【数据处理】组—【TXT相关】面板下点击【进出平衡TXT转SHP】工具。 在弹出的工具框中分别输入参数 1、输入TXT文件所在的文件夹。 2、输入SHP文件所在的文件夹。 3、选择正确的坐标系。 4、这里不用填写会自动列出【1】中所有的TXT文件不想转换的可以点复选框取消。 生成结果如下 二、实现流程 TXT转SHP之前已经已经写过一篇文章可以参看 【ArcGIS Pro二次开发】(41)勘测定界txt文件转数据库(批量)https://blog.csdn.net/xcc34452366/article/details/131309938不过文章中用的TXT文件和今天这个有些不同代码也就不一样但思路是一致的。 这里只放核心代码代码中用到一些自定义方法和之前是一样的引用就不再一一放上 foreach (string txtPath in list_txtPath) {string shp_name txtPath[(txtPath.LastIndexOf(\) 1)..].Replace(.txt, ); // 获取要素名pw.AddProcessMessage($创建要素{shp_name}, 10, time_base, Brushes.Black);// 创建一个空要素Arcpy.CreateFeatureclass(shpPath, shp_name, POLYGON, spatial_reference);// 新建字段Arcpy.AddField(${shpPath}\{shp_name}.shp, 地块名称, TEXT);Arcpy.AddField(${shpPath}\{shp_name}.shp, 地块性质, TEXT);// 打开shpFileSystemConnectionPath fileConnection new FileSystemConnectionPath(new Uri(shpPath), FileSystemDatastoreType.Shapefile);using FileSystemDatastore shapefile new FileSystemDatastore(fileConnection);// 获取FeatureClassFeatureClass featureClass shapefile.OpenDatasetFeatureClass(shp_name);// 预设文本内容string text ;// 获取txt文件的编码方式Encoding encoding ToolManager.GetEncodingType(txtPath);// 读取【ANSI和UTF-8】的不同ANSI为0UTF-8为3// 我也不知道具体原理只是找出差异点作个判断以后再来解决这个问题------int encoding_index int.Parse(encoding.Preamble.ToString().Substring(encoding.Preamble.ToString().Length - 2, 1));if (encoding_index 0) // ANSI编码的情况{Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);using (StreamReader sr new StreamReader(txtPath, Encoding.GetEncoding(GBK))) { text sr.ReadToEnd(); }}else if (encoding_index 3) // UTF8编码的情况{using (StreamReader sr new StreamReader(txtPath, Encoding.UTF8)) { text sr.ReadToEnd(); }}// 文本中的【】符号放前string updata_text ChangeSymbol(text);// 获取要素txt列表的地块标记Liststring Parts GetParts(updata_text);for (int i 0; i Parts.Count; i){// 地块编号、地块性质string dkmc ;string dkxz ;// 根据换行符分解坐标点文本Liststring lines Parts[i].Split().ToList();// 创建空坐标点集合var vertices_list new ListListCoordinate2D();for (int j 1; j lines.Count; j){var vertices new ListCoordinate2D();vertices_list.Add(vertices);}// 构建坐标点集合for (int k 1; k lines.Count; k){Liststring list_point lines[k].Split(\r).ToList();foreach (var point in list_point){if (!point.Contains(,)) // 跳过无坐标部份的文本{continue;}else if (!point.StartsWith(J)) // 名称、地块编号、功能文本{dkmc point.Split(,)[1];dkxz point.Split(,)[3];}else // 点坐标文本{double lat double.Parse(point.Split(,)[2]); // 经度double lng double.Parse(point.Split(,)[3]); // 纬度vertices_list[k - 1].Add(new Coordinate2D(lat, lng)); // 加入坐标点集合}}}/// 构建面要素// 创建编辑操作对象EditOperation editOperation new EditOperation();editOperation.Callback(context {// 获取要素定义FeatureClassDefinition featureClassDefinition featureClass.GetDefinition();// 创建RowBufferusing RowBuffer rowBuffer featureClass.CreateRowBuffer();// 写入字段值rowBuffer[地块名称] dkmc;rowBuffer[地块性质] dkxz;PolygonBuilderEx pb new PolygonBuilderEx(vertices_list[0]);// 如果有空洞则添加内部Polygonif (vertices_list.Count 1){for (int i 0; i vertices_list.Count - 1; i){pb.AddPart(vertices_list[i 1]);}}// 给新添加的行设置形状rowBuffer[featureClassDefinition.GetShapeField()] pb.ToGeometry();// 在表中创建新行using Feature feature featureClass.CreateRow(rowBuffer);context.Invalidate(feature); // 标记行为无效状态}, featureClass);// 执行编辑操作editOperation.Execute();}// 保存编辑Project.Current.SaveEditsAsync(); } 三、工具文件分享 我把工具都集合成工具箱不再单独放单个工具可以到这里下载完整工具箱会不断更新 【ArcGIS Pro二次开发】CC工具箱https://blog.csdn.net/xcc34452366/article/details/131506345PS可以直接点击...bin\Debug\net6.0-windows\下的.esriAddinX文件直接安装。
http://www.zqtcl.cn/news/512014/

相关文章:

  • 专业网站建设好不好wordpress编辑文章更新失败
  • 河南郑州网站建设哪家公司好html5 网站正在建设中
  • 免费ppt模板下载医学类江门seo网站推广
  • 智慧软文网站群辉wordpress地址
  • 自己怎么做拼单网站外贸网站 源码
  • 做网站如何防止被黑网页无法访问如何解决360浏览器
  • 专门做设计的网站互联网运营培训班哪个好
  • 烟台网站建设网站推广做网站与数据库的关系
  • 深圳网站设计成功刻成全视频免费观看在线看第7季高清
  • 淮阳城乡建设局网站seo技术团队
  • 建设博客网站游戏交易类网站seo怎么做
  • 做系统软件的网站wordpress网站会员太多
  • 上海门户网站怎么登录网站开发竞价单页
  • 东莞市外贸网站建设公司软件开发 系统开发 网站开发服务
  • 泉州制作网站设计南宁网站排名外包
  • 南通网站建设入门wordpress google seo
  • 怎么建立图片的网站吗网站响应式是什么意思
  • 网站建设买了服务器后怎么做WordPress多城市
  • 网站建设凭证成都网站设计公司
  • 创新创业营销策略网站建设等做钢材的都用什么网站
  • 英文免费网站模板大庆+网站建设
  • 品牌网站建设内容框架网站首页收录没了
  • 湖南城乡住房建设厅网站网站图片切换效果
  • 凡科做的网站可以在百度搜到吗阿里云nas做网站
  • 做企业销售分析的网站更改wordpress传文件尺寸
  • 网站建设策划书封面知名企业名称
  • 中小企业网站建设与管理课件百度云济南高端网站建设公司
  • 台州企业建站程序网页设计素材网站知乎
  • wordpress视频付费谷歌seo专员是指什么意思
  • 域名续费做网站wordpress模板淘宝客模板