新建shape文件——创建FeatureClass存储为shape文件
2016-09-06 14:38
423 查看
1 /// <summary>创建点shapefile 2 /// </summary> 3 /// <param name="filePath">target point shapefile path</param> 4 /// <param name="fileName">target point shapefile name</param> 5 public static void createPointShapefile(IMap map, string filePath, string fileName) 6 { 7 //建立shape字段 8 IFields pFields = new FieldsClass(); 9 IFieldsEdit pFieldsEdit = pFields as IFieldsEdit; 10 IField pField = new FieldClass(); 11 IFieldEdit pFieldEdit = pField as IFieldEdit; 12 pFieldEdit.Name_2 = "Shape"; 13 pFieldEdit.Type_2 = esriFieldType.esriFieldTypeGeometry; 14 15 //设置geometry definition 16 IGeometryDef pGeometryDef = new GeometryDefClass(); 17 IGeometryDefEdit pGeometryDefEdit = pGeometryDef as IGeometryDefEdit; 18 pGeometryDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPoint;//点、线、面 19 pGeometryDefEdit.SpatialReference_2 = map.SpatialReference; 20 pFieldEdit.GeometryDef_2 = pGeometryDef; 21 pFieldsEdit.AddField(pField); 22 23 //新建字段 24 pField = new FieldClass(); 25 pFieldEdit = pField as IFieldEdit; 26 pFieldEdit.Length_2 = 10; 27 pFieldEdit.Name_2 = "id"; 28 pFieldEdit.AliasName_2 = "id"; 29 pFieldEdit.Type_2 = esriFieldType.esriFieldTypeSmallInteger; 30 pFieldsEdit.AddField(pField); 31 //继续增加其它字段 32 33 IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory(); 34 IFeatureWorkspace pFeatureWorkspace = pWorkspaceFactory.OpenFromFile(filePath, 0) as IFeatureWorkspace; 35 36 //IWorkspaceFactory pWorkspaceFactory = new FileGDBWorkspaceFactoryClass(); 37 //IFeatureWorkspace pFeatureWorkspace = pWorkspaceFactory.OpenFromFile(filePath, 0) as IFeatureWorkspace; 38 39 int i = fileName.IndexOf(".shp"); 40 if (i == -1) 41 pFeatureWorkspace.CreateFeatureClass(fileName + ".shp", pFields, null, null, esriFeatureType.esriFTSimple, "Shape", ""); 42 else 43 pFeatureWorkspace.CreateFeatureClass(fileName, pFields, null, null, esriFeatureType.esriFTSimple, "Shape", ""); 44 45 //MessageBox.Show("OK"); 46 47 }
相关文章推荐
- doT.js详细介绍
- 怎么在js中,访问viewbag,viewdata等等的值
- json 字符串传到action之后的处理,遍历. 练习代码片
- $.ajax $.getJSON $.get $.post同步异步问题
- AngularJS开发指南4:指令的详解
- InputStreamReader和BufferedReader用法及真实案例
- NodeJS(node.exe, npm, express, live-server)安装
- Ext4.x mvc 表格某条数据无效 禁止选中并改变样式
- 【代码】太原WEB前端工程师的分享软件设计原则/优化原则
- 使用JS轻松实现ionic调用键盘搜索功能(超实用)
- css表格练习
- JS 格式化时间
- js 点击按钮触发下一个月上一个月事件,并且进行检测日期是否合法!
- TextView显示带图片的html内容
- jquery属性选择器(同时匹配多个条件)
- 使用JS实现图片展示瀑布流效果(简单实例)
- JavaScript数组API
- Jquery 实现表单验证,所有验证通过方可提交
- 装了anaconda,和opencv,caffe,但import cv2报错
- css 框模型