1. IWorkspaceFactory pShpWksFact = new ShapefileWorkspaceFactory();
  2. IFeatureWorkspace pFeatWks;
  3. pFeatWks = (IFeatureWorkspace)pShpWksFact.OpenFromFile(filePath, 0);
  4. const
    string strShapeFieldName = "Shape";
  5. //定义属性字段
  6. IFields pFields = new Fields();
  7. IFieldsEdit pFieldsEdit;
  8. pFieldsEdit = pFields as IFieldsEdit;
  9. IField pField = new Field();
  10. IFieldEdit pFieldEdit = new Field() as IFieldEdit;
  11. pFieldEdit.Name_2 = strShapeFieldName;
  12. pFieldEdit.Type_2 = esriFieldType.esriFieldTypeGeometry;
  13. pField = pFieldEdit as IField;
  14. //定义几何属性
  15. IGeometryDef pGeomDef = new GeometryDef();
  16. IGeometryDefEdit pGeomDefEdit = new GeometryDef() as IGeometryDefEdit;
  17. pGeomDefEdit = pGeomDef as IGeometryDefEdit;
  18. switch (shpTypeComboBox.Text)
  19. {
  20.     case "Point":
  21.         pGeomDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPoint;
  22.         break;
  23.     case "Polyline":
  24.         pGeomDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPolyline;
  25.         break;
  26.     case "Polygon":
  27.         pGeomDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPolygon;
  28.         break;
  29. }
  30.  
  31. pGeomDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPolyline;
  32. pGeomDefEdit.SpatialReference_2 = new UnknownCoordinateSystem() as ISpatialReference;
  33. pFieldEdit.GeometryDef_2 = pGeomDef;
  34. pFieldsEdit.AddField(pField);
  35. pFields = pFieldsEdit as IFields;
  36. IFeatureClass pFeatureClass;
  37. pFeatureClass = pFeatWks.CreateFeatureClass(fileName, pFields, null, null,
  38.     esriFeatureType.esriFTSimple, strShapeFieldName, "");
  39. //添加属性字段
  40. for (int i = 0; i < addFieldListBox.Items.Count; i++)
  41. {
  42.     IField pfield = new Field();
  43.     IFieldEdit pfieldEdit = new Field() as IFieldEdit;
  44.     pfieldEdit.Name_2 = addFieldListBox.Items[i].ToString();
  45.     pfieldEdit.Type_2 = esriFieldType.esriFieldTypeString;
  46.     pfield = pfieldEdit as IField;
  47.     pFeatureClass.AddField(pfield);
  48. }
  49. //绘制线
  50. IFeatureClassWrite fr = pFeatureClass as IFeatureClassWrite;
  51. IWorkspaceEdit w = (pFeatureClass as IDataset).Workspace as IWorkspaceEdit;
  52. IFeature f;
  53. //可选参数的设置
  54. object Missing = Type.Missing;
  55. IPoint p = new PointClass();
  56. w.StartEditing(true);
  57. w.StartEditOperation();
  58. //定义一个多义线对象
  59. IPolyline PlyLine = new PolylineClass();
  60. //定义一个点的集合
  61. IPointCollection ptclo = PlyLine as IPointCollection;
  62. ISpatialReferenceFactory spatialReferenceFactory = new SpatialReferenceEnvironmentClass();
  63. ISpatialReference spatialReference = spatialReferenceFactory.CreateGeographicCoordinateSystem((int)esriSRGeoCSType.esriSRGeoCS_WGS1984);
  64. for (int i = 0; i < excelDataGridViewX.Rows.Count - 1; i++)
  65. {
  66.     f = pFeatureClass.CreateFeature();
  67.  
  68.     DataGridViewRow dataRow = excelDataGridViewX.Rows[i];
  69.     double pointX, pointY;
  70.     pointX = double.Parse(dataRow.Cells[xComboBoxEx.Text].Value.ToString());
  71.     pointY = double.Parse(dataRow.Cells[yComboBoxEx.Text].Value.ToString());
  72.     p.PutCoords(pointX,pointY);
  73.     ptclo.AddPoint(p, ref Missing, ref Missing);
  74.     for (int j = 0; j < addFieldListBox.Items.Count; j++)
  75.     {
  76.         string fieldName = addFieldListBox.Items[j].ToString();
  77.         f.set_Value(f.Fields.FindField(fieldName),
  78.             dataRow.Cells[fieldName].Value.ToString());
  79.     }
  80.     IPolyline ppolyline = new PolylineClass();
  81.     ppolyline = (IPolyline)ptclo;
  82.     ppolyline.SpatialReference = spatialReference;
  83.     f.Shape = ppolyline;
  84.     fr.WriteFeature(f);
  85. }
  86.  
  87. //f.Store();
  88.  
  89. w.StopEditOperation();
  90. w.StopEditing(true);
  91. //添加新建的数据至Map中
  92. axMapControl.AddShapeFile(filePath, fileName);
  93. //this.Hide();

Excel坐标点转线的更多相关文章

  1. arcmap坐标点生成线和面(更正版)

    一:本博客的脉络 (1 )做了例如以下更正:之前在网上搜到的结果是:arcmap坐标点生成线和面 ------ 注意该功能在ArcGIS10中没有了,当时自己也没有多想就转载了,再此做一下更正或者叫做 ...

  2. Html报表用Excel打开保持表格线【Html报表模板】

    注:本人调试的最简版,前两处红色部分是为了输出Excel表格线:x:str表示输出为文本样式,避免被输出为科学计数法. <!DOCTYPE html PUBLIC "-//W3C//D ...

  3. 使用Windows驱动的虚拟打印机,打印Excel表格无表格线问题解决(2)

    测试: 经前天的测试,最终还是没有明显的定夺到底是驱动的问题,还是打印机的问题.但是按照可能性来排查,最明显的一点就是其他测试环境不变的情况下增加一张图片,就可以打印出表格线,我始终觉得这里是突破点, ...

  4. Excel坐标自动在AutoCad绘图_6

    众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...

  5. Excel坐标自动在AutoCad绘图_5

    众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...

  6. Excel坐标自动在AutoCad绘图_4

    众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...

  7. Excel坐标自动在AutoCad绘图_3

    众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...

  8. Excel坐标自动在AutoCad绘图_2

    众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...

  9. 【题解】洛谷P1169 [ZJOI2007] 棋盘制作(坐标DP+悬线法)

    次元传送门:洛谷P1169 思路 浙江省选果然不一般 用到一个从来没有听过的算法 悬线法: 所谓悬线法 就是用一条线(长度任意)在矩阵中判断这条线能到达的最左边和最右边及这条线的长度 即可得到这个矩阵 ...

随机推荐

  1. kali源

      apt源: #中科大 deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib deb-src http://m ...

  2. CPU使用情况检测

    改编自:https://blog.csdn.net/Yan_Chou/article/details/80456995 检测命令整理: dd iotop df top psiostatvmstatne ...

  3. linux 文件权限除了r、w、x外还有s、t、i、a权限说明

    linux 文件权限除了r.w.x外还有s.t.i.a权限 s: 文件属主和组设置SUID和GUID,文件在被设置了s权限后将以root身份执行.在设置s权限时文件属主.属组必须先设置相应的x权限,否 ...

  4. 我在B站学习 Javascript入门教程 基础

    B站av9243452的一系列视频,适合学过其他编程语言的人观看,还挺不错的 共43节,该随笔为1~16节 Js介绍 如需使用外部文件,请在 <script> 标签的 "src& ...

  5. 练习三十八:矩阵for循环应用

    习题如下: 求一个3*3矩阵对角线元素之和 利用for循环控制输出二维数组,再将a[i][j]累加后输出 a = [] sum1 = 0.0 for i in range(3): a.append([ ...

  6. Appium + Python自动化3 - 输入中文

    在做app自动化过程中会踩很多坑,咱们都是用中文的app,所以首先要解决中文输入的问题!本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题. 一.定位搜索 1.打开淘宝点击搜索按钮,进入搜索页 ...

  7. CSS细节

    写起这篇文章,是因为阅读张鑫旭到的一篇文章<CSS的学习瓶颈>,里面提到了要重视CSS的细节和实现机制.确实:有必要掌握一些关于CSS方面的细节,而不是遇到任何页面,都添加css.rese ...

  8. Maven的安装以及介绍

    附录:带阿里源的maven用户设置文件-settings.xml <?xml version="1.0" encoding="UTF-8"?> &l ...

  9. mysql语句删除重复数据,保留一条;查询所有重复数据;查询重复数据的一条,

    //显示重复的所有条 SELECT * FROM 表名 WHERE (字段1,字段2,...) IN (SELECT 字段1,字段2,...FROM 表名 GROUP BY 字段1,字段2,... H ...

  10. asp.net 在IIS上配置出现的一些问题

    1.可能会遇到一下图的错无.请求的内容似乎是脚本.因而将无法由静态文件处理程序来处理---大概的原因是应用程序池选择错误了.如第二幅图如此解决即可 解决方案如下两个图所示. 我遇到了以上的问题之后能也 ...