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

盘县网站开发网站一般用什么服务器

盘县网站开发,网站一般用什么服务器,站长之家源码,学生做家教网站最近一个小伙伴提了这么一个需求#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://wiki.neutronadmin.com/news/278436/

相关文章:

  • 网站初期建设方案大良营销网站建设价格
  • 建筑工程网招聘信息快速提升排名seo
  • 网站开发切换电脑版与手机版html5后台网站模板
  • the7 wordpress哪个好深圳seo网络推广营销
  • 成都网站建设推广服务安徽建设厅网站官网
  • 营销网站建设视频苏州建设网官网
  • 肥西县建设官方局网站网站自己服务器
  • qq网站在线登录网页版中山市安全平台教育
  • 无锡做网站公司费用价格适合新手做的网站项目
  • 如何高效建设品牌网站品牌注册要多久
  • 无忧中英繁企业网站系统通用版wordpress显示问题
  • 网站目录字典Asp网站开发入门
  • 自建企业网站模板下载有没有做家纺类的网站
  • asp.net+制作网站开发济源哪里做网站
  • soho建网站搭建邮箱网站
  • 武夷山景区网站建设特点代码编程入门先学什么
  • 手机网站开发开发空间印象商业空间设计
  • 沈阳网站开发工程师招聘网电脑怎样重新安装wordpress
  • 网站用户体验织梦cms如何做网站
  • 网站制作需要什么资料带着做计算机项目的网站
  • 中山做网站哪家公司好唐山个人网站建设
  • 石家庄网络营销网站推广创建网站用英语怎么说
  • 网站导航栏条源码网站文件命名
  • 生鲜农产品网站建设网站开发税费
  • 长沙企业做网站哪家好河南省城乡与住房建设厅网站
  • 电子产品的网站建设做一个简单的网页游戏
  • 视频发布网站有哪些内容微信公众号怎么创建步骤
  • 邯郸市建设局网站材料下载入口源码下载站
  • ps做登录网站北京展厅设计公司
  • 酒店 公司 安徽 网站建设私自建设网站