转自 在geodatabase中创建要素集

//在数据集中创建要素

private void menuItem25_Click(object sender, System.EventArgs e)

{

CreateFClassInPDB(@"C:\ArcGIS\ArcTutor\BuildingaGeodatabase\Montgomery.mdb");

}

public static void CreateFClassInPDB(string filePath){

string shapeFieldName="shape";

IFeatureWorkspace pFWS;

try

{

pFWS=openPDB(filePath);

//IEnumDataset pDatasets;

//pDatasets=pWS.get_Datasets(esriDatasetType.esriDTFeatureDataset);

IFeatureDataset pFeatureDataset=pFWS.OpenFeatureDataset("Water");

//MessageBox.Show(pFeatureDataset.Name);

// IDataset pDataset=pDatasets.Next();

// IFeatureDataset pFeatureDataset=pDataset as IFeatureDataset;

IGeoDataset pGeoDataset=pFeatureDataset as IGeoDataset;

IFields pFields = null;

IFieldsEdit pFieldsEdit = null;

pFields = new FieldsClass();

pFieldsEdit=pFields as IFieldsEdit;

pFieldsEdit.FieldCount_2=;

IField pField = null;

IFieldEdit pFieldEdit = null;

//Make the shape field it will need a geometry definition, with a spatial reference

pField=new FieldClass();

pFieldEdit=pField as IFieldEdit;

pFieldEdit.Name_2=shapeFieldName;

pFieldEdit.Type_2=esriFieldType.esriFieldTypeGeometry;

IGeometryDef pGeomDef = null;

IGeometryDefEdit pGeomDefEdit = null;

pGeomDef = new GeometryDefClass();

pGeomDefEdit =pGeomDef as IGeometryDefEdit;

pGeomDefEdit.GeometryType_2=esriGeometryType.esriGeometryPolygon;

pGeomDefEdit.SpatialReference_2=pGeoDataset.SpatialReference;//get the spatial reference

pFieldEdit.GeometryDef_2=pGeomDefEdit;

//pFieldsEdit.AddField(pField);

pFieldsEdit.set_Field(,pField);

//Add another miscellaneous text field

pField = new FieldClass();

pFieldEdit = pField as IFieldEdit;

pFieldEdit.Length_2=;

pFieldEdit.Name_2="TextField";

pFieldEdit.Type_2=esriFieldType.esriFieldTypeString;

//pFieldsEdit.AddField(pField);

pFieldsEdit.set_Field(,pField);

//pFeatureDataset.CreateFeatureClass("test",pFields,null,null,esriFeatureType.esriFTSimple,"Shape","");

UID pUID;

pUID = new UIDClass();

pUID.Value="esriGeoDatabase.Feature";

//pFeatureDataset.CreateFeatureClass("test",pFields,pUID,null,esriFeatureType.esriFTSimple,"Shape","");

pFeatureDataset.CreateFeatureClass("test",pFields,pUID,null,esriFeatureType.esriFTSimple,"Shape","");

MessageBox.Show("创建成功");

}

catch(Exception e){

MessageBox.Show(e.Message);

}

}

//创建shapefile文件

public static void createShapeFile(String folderName,String shapeName){

if(folderName==""||shapeName=="") return;

string shapeFieldName="shape";

try

{

IFeatureWorkspace pFWS = null;

IWorkspaceFactory pWorkspaceFactory = null;

pWorkspaceFactory = new Shapef

ileWorkspaceFactoryClass();

//if(pWorkspaceFactory.IsWorkspace(folderName)==false) return;

pFWS=pWorkspaceFactory.OpenFromFile(folderName,) as IFeatureWorkspace;

IFields pFields = null;

IFieldsEdit pFieldsEdit = null;

pFields = new FieldsClass();

pFieldsEdit=pFields as IFieldsEdit;

IField pField = null;

IFieldEdit pFieldEdit = null;

//Make the shape field it will need a geometry definition, with a spatial reference

pField=new FieldClass();

pFieldEdit=pField as IFieldEdit;

pFieldEdit.Name_2=shapeFieldName;

pFieldEdit.Type_2=esriFieldType.esriFieldTypeGeometry;

IGeometryDef pGeomDef = null;

IGeometryDefEdit pGeomDefEdit = null;

pGeomDef = new GeometryDefClass();

pGeomDefEdit =pGeomDef as IGeometryDefEdit;

pGeomDefEdit.GeometryType_2=esriGeometryType.esriGeometryPolygon;

pGeomDefEdit.SpatialReference_2=new UnknownCoordinateSystemClass();

pFieldEdit.GeometryDef_2=pGeomDefEdit;

pFieldsEdit.AddField(pField);

//Add another miscellaneous text field

pField = new FieldClass();

pFieldEdit = pField as IFieldEdit;

pFieldEdit.Length_2=;

pFieldEdit.Name_2="TextField";

pFieldEdit.Type_2=esriFieldType.esriFieldTypeString;

pFieldsEdit.AddField(pField);

IFeatureClass pFeatClass = null;

pFeatClass = pFWS.CreateFeatureClass(shapeName, pFields, null, null,esriFeatureType.esriFTSimple, shapeFieldName, "");

MessageBox.Show("名为"+shapeName+"的shape文件创建成功");

}

catch(Exception e){

MessageBox.Show(e.Message);

}

} 

GDB中创建要素数据集的更多相关文章

  1. ArcGIS 网络分析[1.3] 在个人地理数据库中创建网络数据集/并简单试验最佳路径

    上篇使用shp文件创建网络数据集,然而在ArcGIS 9中就支持地理数据库了,数据库的管理更为科学强大. 本篇就使用个人地理数据库进行建立网络数据集,线数据仍然可以是1.1中的线数据,但是我做了一些修 ...

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

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

  3. 不同版本的ArcMap在Oracle中创建镶嵌数据集的不同行为

    如果不同版本的ArcMap连接到同一个Oracle数据库上,分别执行"创建镶嵌数据集",它们的行为是一样的吗? 答案是:不一样,会有细微的差别 在本例中,ArcMap的版本分别是1 ...

  4. ArcSDE:C#创建SDE要素数据集

    转自原文 ArcSDE:C#创建SDE要素数据集 /// <summary> /// 判断指定数据集是否存在 /// </summary> /// <param name ...

  5. Arcengine实现创建网络数据集札记(一)

    一 引子 网络数据集,GIS空间分析基础的理论和知识,是最短路径分析.连通性分析等其他空间分析技术的数据基础. 以往,网络数据集的研究很少,此次项目开发过程中,对网络数据集以及arcengine创建网 ...

  6. ArcGIS 网络分析[8.3] 设置IDENetworkDataset的属性及INetworkDataset的对比/创建网络数据集

    创建网络数据集就得有各种数据和参数,这篇文章很长,慎入. 网络分析依赖于网络数据集的质量,这句话就在这里得到了验证:复杂.精确定义. 本节目录如下: 1. INetworkDataset与IDENet ...

  7. ArcGIS 网络分析[8.2] 资料2 使用IDatasetContainer2接口的CreateDataset方法创建网络数据集

    上节提及如何使用IDatasetContainer2接口访问到网络数据集,上例可以封装为一个方法. 这节就使用IDatasetContainer2接口(Geodatabase类库)的CreateDat ...

  8. ArcGIS创建要素类

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

  9. AE CreateFeatureClass 创建shp. 删除shp. 向shp中添加要素

    /// <summary> /// 创建多边形shp /// </summary> /// <param name="pPolygon">< ...

随机推荐

  1. React Native入门——IDE及其它相关基础技术

    关于React Native的开发,当中一个问题是缺少好用的IDE,有些人说不就是JS么,搞一个记事本也就写了,那样尽管牛逼,但事实上还是非常头大的,有一款好的IDE还是能提升开发效率的,这里对几个还 ...

  2. C++语言笔记系列之十三——派生类构造函数的调用

    1.派生类构造函数的调用 (1)一个基类的全部数据成员均被派生类继承.创建一个派生类对象时.系统在为派生类对象分配单元时一定要为其基类数据成员分配子空间. (2)一个派生类对象在创建时不仅要调用派生类 ...

  3. IOS学习之斯坦福大学IOS开发课程笔记(第六课)

    转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/28398697 作者:小马 这节课主要讲述多个MVC是怎样协同工作的.到眼下为止.全 ...

  4. selector-item属性

    今天做的项目,发现通过键盘选中一个button以后,并没有出现button样式的变化,后来发现是selector里面缺少状态配置的原因.这里就顺便把用到的属性记录了下来,方便以后使用.当然它的属性很多 ...

  5. js---跨域的问题

    一:跨域一般的报错情况  一般来说,如果你在开发中需要进行跨域操作(从一个非同源网站发送请求获取数据),一般而言,你在浏览器控制台看到的结果为: 二:同源策略 说到跨域就不得不提“同源策略”. 那么, ...

  6. iOS-APP-Icon 图标启动图及名字的设置

    本文讲下appIcon图标.启动图及名字的设置 icon for iOS 图标大小参照苹果官网:https://developer.apple.com/library/ios/qa/qa1686/_i ...

  7. 搭建Spark源码研读和代码调试的开发环境

    转载自https://github.com/linbojin/spark-notes/blob/master/ide-setup.md 搭建Spark源码研读和代码调试的开发环境 工欲善其事,必先利其 ...

  8. java高质量缩放图片

    可按照比例缩放,也可以指定宽高 import com.sun.image.codec.jpeg.JPEGImageEncoder; import com.sun.image.codec.jpeg.JP ...

  9. 2229: [Zjoi2011]最小割(最小割树)

    Description 小白在图论课上学到了一个新的概念——最小割,下课后小白在笔记本上写下了如下这段话: “对于一个图,某个对图中结点的划分将图中所有结点分成两个部分,如果结点s,t不在同一个部分中 ...

  10. C# MQTT 服务端客户端通讯

    关于MQTT 在这里我就不做过多的介绍了 , 超时空连接点我 MQTT示例 注: 该示例演示统一使用WPF, 简单MVVM模式演示, 复制代码需注意引用 NuGet包  GalaSoft MQTT服务 ...