Excel坐标点转线
- IWorkspaceFactory pShpWksFact = new ShapefileWorkspaceFactory();
- IFeatureWorkspace pFeatWks;
- pFeatWks = (IFeatureWorkspace)pShpWksFact.OpenFromFile(filePath, 0);
- const
string strShapeFieldName = "Shape"; - //定义属性字段
- IFields pFields = new Fields();
- IFieldsEdit pFieldsEdit;
- pFieldsEdit = pFields as IFieldsEdit;
- IField pField = new Field();
- IFieldEdit pFieldEdit = new Field() as IFieldEdit;
- pFieldEdit.Name_2 = strShapeFieldName;
- pFieldEdit.Type_2 = esriFieldType.esriFieldTypeGeometry;
- pField = pFieldEdit as IField;
- //定义几何属性
- IGeometryDef pGeomDef = new GeometryDef();
- IGeometryDefEdit pGeomDefEdit = new GeometryDef() as IGeometryDefEdit;
- pGeomDefEdit = pGeomDef as IGeometryDefEdit;
- switch (shpTypeComboBox.Text)
- {
- case "Point":
- pGeomDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPoint;
- break;
- case "Polyline":
- pGeomDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPolyline;
- break;
- case "Polygon":
- pGeomDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPolygon;
- break;
- }
- pGeomDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPolyline;
- pGeomDefEdit.SpatialReference_2 = new UnknownCoordinateSystem() as ISpatialReference;
- pFieldEdit.GeometryDef_2 = pGeomDef;
- pFieldsEdit.AddField(pField);
- pFields = pFieldsEdit as IFields;
- IFeatureClass pFeatureClass;
- pFeatureClass = pFeatWks.CreateFeatureClass(fileName, pFields, null, null,
- esriFeatureType.esriFTSimple, strShapeFieldName, "");
- //添加属性字段
- for (int i = 0; i < addFieldListBox.Items.Count; i++)
- {
- IField pfield = new Field();
- IFieldEdit pfieldEdit = new Field() as IFieldEdit;
- pfieldEdit.Name_2 = addFieldListBox.Items[i].ToString();
- pfieldEdit.Type_2 = esriFieldType.esriFieldTypeString;
- pfield = pfieldEdit as IField;
- pFeatureClass.AddField(pfield);
- }
- //绘制线
- IFeatureClassWrite fr = pFeatureClass as IFeatureClassWrite;
- IWorkspaceEdit w = (pFeatureClass as IDataset).Workspace as IWorkspaceEdit;
- IFeature f;
- //可选参数的设置
- object Missing = Type.Missing;
- IPoint p = new PointClass();
- w.StartEditing(true);
- w.StartEditOperation();
- //定义一个多义线对象
- IPolyline PlyLine = new PolylineClass();
- //定义一个点的集合
- IPointCollection ptclo = PlyLine as IPointCollection;
- ISpatialReferenceFactory spatialReferenceFactory = new SpatialReferenceEnvironmentClass();
- ISpatialReference spatialReference = spatialReferenceFactory.CreateGeographicCoordinateSystem((int)esriSRGeoCSType.esriSRGeoCS_WGS1984);
- for (int i = 0; i < excelDataGridViewX.Rows.Count - 1; i++)
- {
- f = pFeatureClass.CreateFeature();
- DataGridViewRow dataRow = excelDataGridViewX.Rows[i];
- double pointX, pointY;
- pointX = double.Parse(dataRow.Cells[xComboBoxEx.Text].Value.ToString());
- pointY = double.Parse(dataRow.Cells[yComboBoxEx.Text].Value.ToString());
- p.PutCoords(pointX,pointY);
- ptclo.AddPoint(p, ref Missing, ref Missing);
- for (int j = 0; j < addFieldListBox.Items.Count; j++)
- {
- string fieldName = addFieldListBox.Items[j].ToString();
- f.set_Value(f.Fields.FindField(fieldName),
- dataRow.Cells[fieldName].Value.ToString());
- }
- IPolyline ppolyline = new PolylineClass();
- ppolyline = (IPolyline)ptclo;
- ppolyline.SpatialReference = spatialReference;
- f.Shape = ppolyline;
- fr.WriteFeature(f);
- }
- //f.Store();
- w.StopEditOperation();
- w.StopEditing(true);
- //添加新建的数据至Map中
- axMapControl.AddShapeFile(filePath, fileName);
- //this.Hide();
Excel坐标点转线的更多相关文章
- arcmap坐标点生成线和面(更正版)
一:本博客的脉络 (1 )做了例如以下更正:之前在网上搜到的结果是:arcmap坐标点生成线和面 ------ 注意该功能在ArcGIS10中没有了,当时自己也没有多想就转载了,再此做一下更正或者叫做 ...
- Html报表用Excel打开保持表格线【Html报表模板】
注:本人调试的最简版,前两处红色部分是为了输出Excel表格线:x:str表示输出为文本样式,避免被输出为科学计数法. <!DOCTYPE html PUBLIC "-//W3C//D ...
- 使用Windows驱动的虚拟打印机,打印Excel表格无表格线问题解决(2)
测试: 经前天的测试,最终还是没有明显的定夺到底是驱动的问题,还是打印机的问题.但是按照可能性来排查,最明显的一点就是其他测试环境不变的情况下增加一张图片,就可以打印出表格线,我始终觉得这里是突破点, ...
- Excel坐标自动在AutoCad绘图_6
众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...
- Excel坐标自动在AutoCad绘图_5
众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...
- Excel坐标自动在AutoCad绘图_4
众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...
- Excel坐标自动在AutoCad绘图_3
众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...
- Excel坐标自动在AutoCad绘图_2
众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...
- 【题解】洛谷P1169 [ZJOI2007] 棋盘制作(坐标DP+悬线法)
次元传送门:洛谷P1169 思路 浙江省选果然不一般 用到一个从来没有听过的算法 悬线法: 所谓悬线法 就是用一条线(长度任意)在矩阵中判断这条线能到达的最左边和最右边及这条线的长度 即可得到这个矩阵 ...
随机推荐
- python 3.7 生成数据库文档
开发阶段数据库总是有变动,开发人员需要维护文档给相关人员使用,故编写一个脚本自动生成数据库文档 生成的excel如下 import cx_Oracle import os from openpyxl ...
- React学习记录
托webpack的福,我终于可以开始写React了.==ORZ 我感觉我接近webpack工程师更进一步了哈哈哈. 以下所有内容均来自小红书,仅是我的个人记录,如想系统学习,请移步:React小书 : ...
- 解决tomcat闪退问题
https://blog.csdn.net/zh2nd/article/details/79068680 转载此博客链接内容,非常感谢博主 本文参考CSDN博主 哈克沃德.的<Tomcat8启动 ...
- js——swiper.js
一款用于PC端和移动端的滑动效果插件. 中文网站:http://www.swiper.com.cn/# 点击中文教程.使用方法 1. initialSlide:初始索引值,从0开始 2.pagin ...
- 二维hash
题目描述 给出一个n * m的矩阵.让你从中发现一个最大的正方形.使得这样子的正方形在矩阵中出现了至少两次.输出最大正方形的边长. 输入描述: 第一行两个整数n, m代表矩阵的长和宽: 接下来n行,每 ...
- JavaScript 获取 Url 上的参数(QueryString)值
获取URL里面传的参数,在Js中不能像后台一样使用Request.QueryString来获取URL里面参数,下面介绍两种方式用来获取参数 方式一:使用split分隔来获取,这种方法考试了地址中包含了 ...
- 让我们把KBEngine玩坏吧!如何定制我们自己的C++函数(一)
为什么不更新kbe warring的代码解读了,因为在我看来那个demo讲完了实体就没东西可讲了,如果专心的看官方文档和PPT的话demo的代码后面没任何难点了已经,单纯的复制黏贴代码实在太过无聊.程 ...
- idea(2017.3)的安装及快捷键的配置
一 破解安装步骤: 到IntelliJ IDEA的官网:www.jetbrains.com 然后找到下载的地方,选择自己电脑所匹配的下载安装包,这里我们选择收费版的下载 接着,点击安装包进行安装,按 ...
- 洛谷 P1281 书的复制
书的复制 Code: #include <iostream> #include <cstdio> #include <cstring> using namespac ...
- 自定义列表dl
语法格式 <dl> <dt>名词1</dt> <dd>名词1解释1</dd> <dd>名词1解释2</dd> ... ...