在NET中,会遇到以“_2”结尾的属性,这些属性是可写的.

  以下代码在已有工作空间下,创建一个新的点要素类:

  1. //例如,personalDBPath=@"G:\doc\gis\1.400\data\pdb.mdb", featureClassName="newF"
  2. public void CreateFeatureClass(string personalDBPath, string featureClassName) {
  3. //创建点类型.
  4. //空间参考.
  5. ESRI.ArcGIS.Geometry.ISpatialReference sRef = mapCtrl_main.ActiveView.FocusMap.SpatialReference;
  6.  
  7. ESRI.ArcGIS.Geodatabase.IGeometryDef geoDef = new ESRI.ArcGIS.Geodatabase.GeometryDefClass();
  8. ESRI.ArcGIS.Geodatabase.IGeometryDefEdit geoEdit = (ESRI.ArcGIS.Geodatabase.IGeometryDefEdit)geoDef;
  9. geoEdit.GeometryType_2 = ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPoint;
  10. geoEdit.SpatialReference_2 = sRef;
  11.  
  12. //字段集.
  13. ESRI.ArcGIS.Geodatabase.IFields fields = new ESRI.ArcGIS.Geodatabase.FieldsClass();
  14. ESRI.ArcGIS.Geodatabase.IFieldsEdit fieldsEdit = (ESRI.ArcGIS.Geodatabase.IFieldsEdit)fields;
  15.  
  16. //逐一添加字段.
  17.  
  18. ESRI.ArcGIS.Geodatabase.IField field = new ESRI.ArcGIS.Geodatabase.FieldClass();
  19. ESRI.ArcGIS.Geodatabase.IFieldEdit fieldEdit = (ESRI.ArcGIS.Geodatabase.IFieldEdit)field;
  20. fieldEdit.Name_2 = "SHAPE";
  21. fieldEdit.Type_2 = ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeGeometry;
  22. fieldEdit.GeometryDef_2 = geoDef;
  23. fieldsEdit.AddField(field);
  24.  
  25. field = new ESRI.ArcGIS.Geodatabase.FieldClass();
  26. fieldEdit = (ESRI.ArcGIS.Geodatabase.IFieldEdit)field;
  27. fieldEdit.Name_2 = "STCD";
  28. fieldEdit.Type_2 = ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeString;
  29. fieldsEdit.AddField(field);
  30.  
  31. field = new ESRI.ArcGIS.Geodatabase.FieldClass();
  32. fieldEdit = (ESRI.ArcGIS.Geodatabase.IFieldEdit)field;
  33. fieldEdit.Name_2 = "SLM10";
  34. fieldEdit.Type_2 = ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeString;
  35. fieldsEdit.AddField(field);
  36.  
  37. field = new ESRI.ArcGIS.Geodatabase.FieldClass();
  38. fieldEdit = (ESRI.ArcGIS.Geodatabase.IFieldEdit)field;
  39. fieldEdit.Name_2 = "SLM20";
  40. fieldEdit.Type_2 = ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeString;
  41. fieldsEdit.AddField(field);
  42.  
  43. field = new ESRI.ArcGIS.Geodatabase.FieldClass();
  44. fieldEdit = (ESRI.ArcGIS.Geodatabase.IFieldEdit)field;
  45. fieldEdit.Name_2 = "SLM40";
  46. fieldEdit.Type_2 = ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeString;
  47. fieldsEdit.AddField(field);
  48.  
  49. //通过已有工作空间创建.
  50. ESRI.ArcGIS.Geodatabase.IWorkspaceFactory wsf = new ESRI.ArcGIS.DataSourcesGDB.AccessWorkspaceFactory();
  51. ESRI.ArcGIS.Geodatabase.IFeatureWorkspace fws = (ESRI.ArcGIS.Geodatabase.IFeatureWorkspace)wsf.OpenFromFile(personalDBPath, );
  52. ESRI.ArcGIS.Geodatabase.IFeatureClass fc = fws.CreateFeatureClass(featureClassName, fields, null, null, ESRI.ArcGIS.Geodatabase.esriFeatureType.esriFTSimple, "SHAPE", null);
  53. }

Geodatabase - 创建要素类.的更多相关文章

  1. 用ArcMap在PostgreSQL中创建要素类需要执行”create enterprise geodatabase”吗

    问:用Acmap在PostgreSQL中创建要素类需要执行"create enterprise geodatabase"吗? 关于这个问题,是在为新员工做postgresql培训后 ...

  2. ArcGIS创建要素类

    在使用ARCGIS软件进行工作时,免不了要建立地理数据库和要素类之类的.一下是我创建文件地理数据库并在数据库中创建要素类写相关步骤: 1.启动软件,可以使用ARCCatalog直接进行创建也可以使用A ...

  3. Geodatabase - 打开要素类

    string dbPath = @"G:\doc\gis\1.400\data\pdb.mdb"; ESRI.ArcGIS.Geodatabase.IWorkspaceFactor ...

  4. ArcEngine创建要素类_线类型

    public ESRI.ArcGIS.Geodatabase.IFeatureClass CreateFeatureClassForLine(ESRI.ArcGIS.Geodatabase.IWork ...

  5. AE二次开发中几个功能速成归纳(符号设计器、创建要素、图形编辑、属性表编辑、缓冲区分析)

    /* * 实习课上讲进阶功能所用文档,因为赶时间从网上抄抄改改,凑合能用,记录一下以备个人后用. * * ----------------------------------------------- ...

  6. ArcGis 创建Annotation注记要素类、添加注记要素 并加载到Activeview AO C#

    AO中一般有两种方式存储图面注记元素,一种使用TextElement,它是文档级的元素,编辑后要通过文档(mxd)保存:另一种是使用Annotation要素类,它是一个独立的要素类(featurecl ...

  7. arcengine新建要素类

    ArcGIS里面新建数据集,看起来简单,平时都是默认创建,实际上好多细节问题我们都没注意到 一.在数据集上新建要素类: How to create a feature class within a f ...

  8. ArcGIS 创建要素时提示“表已经被注册(table already registered)”

    今天一位实施大哥在ArcCatalog中要重建一个要素类,所以就在ArcCatalog中连接上Oracle数据库,直接删除了要素类,然后重新创建了一个新的要素类,可是却报错“表已经被创建”,并提示不可 ...

  9. Geodatabase - 删除要素

    //删除要素类. //例如:workspacePath=@"G:\doc\gis\1.400\data\pdb.mdb", featureClassPath="res2_ ...

随机推荐

  1. 打破C++ Const 的规则

    从一个C++菜鸟改函数开始 CString MyClass::GetStringValue() const { return m_strValue; } 这个值可能还没有赋值,好吧,那么我先判断是不是 ...

  2. hdu5392 Infoplane in Tina Town(LCM)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Infoplane in Tina Town Time Limit: 14000/ ...

  3. MySql中查询表中的列名

    例如我的数据库名为"example",使用 USE example; 确定使用example数据库.使用 show tables; 显示数据库中的所有表.使用 DESC perso ...

  4. MySQL 使用索引扫描来做排序

    MySQL有两种方式可以生成有序的结果:通过排序操作:或者按照索引顺序扫描:如果EXPLAIN 出来的结果的type列的值为“index”,则说明MySQL使用了索引扫描来做排序(不要和Extra列的 ...

  5. zepto自定义事件

    <!--测试自定义事件 trigger--> <script> $(function () { var meEvent = $.Event("custom" ...

  6. web标准(复习)--6 html列表

    今天我们开始学习html列表,包含以下内容和知识点: ul无序和ol有序列表 改变项目符号样式或用图片定义项目符号 横向图文列表 浮动后父容器高度自适应 IE6的双倍边距bug 一.ul无序和ol有序 ...

  7. 个性A标签

    问题: 前段时间,小琳同学问我A标签为啥alert出来的是它的href? 示例: 先来两个标签比较一下. <a id="a" href="http://www.ba ...

  8. apscheduler的使用

    最近一个程序要用到后台定时任务,看了看python后台任务,一般2个选择,一个是apscheduler,一个celery.apscheduler比较直观简单一点,就选说说这个库吧.网上一搜索,晕死,好 ...

  9. C 语言 输入字符串 并计算输入的字符的长度

    int main(void) { char a[50];int i=0;char *j;gets(a);//输入字符串j=a;while(*j!='\0'){j++;//指针指向下一个数组字符i++; ...

  10. 关于a标签下的img元素在IE7下不能点击的问题

    转载自http://segmentfault.com/q/1010000000712673<!DOCTYPE HTML> <html> <head> <met ...