04 2012 档案

摘要:// <summary> /// 打开ShapeFile文件 /// </summary> /// <param name="filePath">文件路径</param> /// <param name="fileName">文件名</param> /// <returns>IFeatureClass</returns> public IFeatureClass GetShpFile(string filePath, string fileName) { IF 阅读全文
posted @ 2012-04-10 12:23 LinHugh
摘要:(一)GIS系统数据是基础,想必大家在做ArcEngine二次开发的过程中都会遇到向MDB和SDE写入数据的工作,我们将会通过几个篇幅,从大数据量导入过程中的问题和解决方式入手带给大家一些实用的经验。1.数据的写入和删除要使用IWorkspaceEdit.StartEditing来开启一个编辑流程,千万别草率的写入和删除。使用该接口,如果数据在处理过程中出现任何异常,可以不对操作结果进行保存编辑和结束编辑IWorkspaceEdit.StopEditing,这样能够保证你处理的数据不被破坏。2.读取数据要释放游标和要素类,循环IFeatureCursor过程中要释放Feature,循环结束时释 阅读全文
posted @ 2012-04-09 17:22 LinHugh
摘要:1、IFeatureCursor 游标查询后,遍历删除2、更新游标删除IFeatureCursor.DeleteFeature()3、ITable.DeleteSearchedRows删除4、 IDataset.Workspace.ExecuteSQL一、几种删除方法代码1.查询结果中删除private void Delete1(IFeatureClass PFeatureclass) { IQueryFilter pQueryFilter = new QueryFilterClass(); pQueryFilter.WhereClause = "objectID<=" 阅读全文
posted @ 2012-04-09 17:13 LinHugh
摘要:ArcEngine 中存在一些错误。其中最有名的就是对象不能释放资源的问题。 比如打开了一个Shapefile ,除非程序关闭否则就没有办法释放对Shapefile的控制 还有读取ServerStyle文件的时候那个StyleItemEnum只能使用一次。第二次就会出错, 如果在短时间内搜索多个FeatureClass这样就会产生多个FeatureCursor,那么就会出现 打开的游标数目过多或者不能打开更多的表这样的错误。 这些错误都是由于对象不能释放资源所造成的。 可以使用以下方法来释放(C#): //其中relObj就是要释放的对象。 System.Runtime.InteropServ 阅读全文
posted @ 2012-04-09 17:12 LinHugh
摘要:读取和访问数据是进行任何复杂的空间分析及空间可视化表达的前提,ArcGIS支持的数据格式比较丰富,下面就这些格式Shapefile、Coverage、Personal Geodatabase、Enterprise Geodatabase、Tin、Raster、CAD、RDBMS等类型。一ShapefileShapefile是ESRI提供的一种无拓扑信息的矢量数据格式,一个Shape file由一组文件组成,其中必要的基本文件包括坐标文件(主文件)(*.shp)、索引文件(*.shx)和属性文件(*.dbf)三个文件。主文件每个记录描述构成一个地理特征(Feature)的所有vertices坐标 阅读全文
posted @ 2012-04-07 16:40 LinHugh
摘要:在过去20年中,矢量数据模型是GIS中变化最大的方面,例如,ESRI公司所开发每种新软件包都对应一种新的矢量数据模型,Arc/Info对应Coverage,ArcView对应Shapefile,ArcGIS对应Geodatabase。Coverage和Shapefile是地理关系数据模型,它利用分离的系统来存储空间数据和属性数据,而Geodatabase是基于对象数据模型,它把空间数据和属性数据存储在唯一的系统中。Coverage是拓扑的,Shapefile是非拓扑的。Coverage支持三种基本拓扑关系:连接性、面定义、邻接性。Shapefile多边形对于共享边界实际上有重复弧段且可彼此重叠 阅读全文
posted @ 2012-04-06 20:47 LinHugh 阅读(1726) 评论(0) 推荐(0)
摘要:本文所指的CAD数据为不带空间参考和扩展数据的数据。如果CAD带了空间参考或是扩展属性数据的话,就要采用图形和属性分离的方法转CAD数据,即图形转完后需要挂接属性数据库。这里就不详细说明了.ArcGIS和CAD对空间数据的归纳有所不同,在AutoCad中,点线面可以在同一个图层中,但是在ArcGIS中,点线面被严格的区分为了point、polyline和polygon三种类型的图层,所以直接用ArcCatalog查看CAD数据时会看到五个图层(点线面、注记和Multipatch)下面的方法实现了点线面图层转成Shape文件Code [http://www.xueit.com]public bo 阅读全文
posted @ 2012-04-06 20:42 LinHugh 阅读(1120) 评论(0) 推荐(0)
摘要:本例实现的是如何创建一个Shape文件。l 要点首先创建新IField接口实例,生成新字段,并获得该实例的IFieldEdit接口对象,用FieldsEdit的AddField方法将新字段加入到IFields接口对象中,最后用IFeatureWorkspace的CreateFeatureClass方法生成新的Shape文件主要用到IFeatureWorkspace接口,IWorkspaceFactory接口,IFieldsEdit接口,IFieldEdit接口,IFeatureClass接口。l 程序说明函数CreatShapeFile根据输入的文件路径和文件名,创建Shape文件。l 代码、 阅读全文
posted @ 2012-04-06 20:39 LinHugh
摘要:先看一下GeoDatabase核心结构模型图:1 工作空间工厂WorkspaceFactory对象 WorkspaceFactory是GeoDatabase的入口,是一个抽象类,拥有很多子类,例如SdeWorkspaceFactory, AccessWorkspaceFactory, ShapfileWorkspaceFactory CadWorkspaceFactory等 IWorkspaceFactory接口定义了所有工作空间对象的一般属性和方法 publicIWorkspaceNameCreate (stringparentDirectory,stringName,IPropertySe 阅读全文
posted @ 2012-04-06 20:25 LinHugh
摘要:XY坐标文本转换为FeatureClass存储到Geodatabase的VB源码整理。把xyz的文本转换成一个featureclass到一个存在的geodatabasePrivate Sub cmdOk_Click()If txtShp.Text = "" ThenMsgBox "请设置SHP文件的存放路径!", vbExclamation, App.Title & "--" & "错误提示"Exit SubEnd IfOn Error GoTo ErrHandleMe.MousePointer = 阅读全文
posted @ 2012-04-06 20:14 LinHugh
摘要:本例演示的是如何将shape文件转化成personal GeoDatabase文件,其它格式间的与此转换类似。主要用到IFeatureDataConverter接口的ConvertFeatureClass方法。  要点 首先,创建新的GeoDataBase数据库,并创建IFeatureDatasetName对象。创建定义两个IFeatureClassName接口对象分别引用输入表(shape文件)和输出表。 然后设置输出表的Shape字段的GeormetryDef属性。这一步非常关键,因为其中包含了数据库和shape文件的空间参考信息。 最后调用IFeatureDataConvert... 阅读全文
posted @ 2012-04-06 20:05 LinHugh
摘要:将程序中的FeatureLayer转到本地shapefile文件,方便数据输出使用。using ESRI.ArcGIS.esriSystem;using ESRI.ArcGIS.Geodatabase;//sFileName:shapefile保存的路径及名称//pFC:要输出FeatureLayer的FeatureClass属性publicstaticvoidOperateConvertToShape(stringsFileName,IFeatureClasspFC){try{stringstr = sFileName;stringstr2 = str.Substring(str.LastI 阅读全文
posted @ 2012-04-06 20:00 LinHugh
摘要:/// <summary> /// 打开ShapeFile文件 /// </summary> /// <param name="filePath">文件路径</param> /// <param name="fileName">文件名</param> /// <returns>IFeatureClass</returns> public IFeatureClass GetShpFile(string filePath, string fileName) { I 阅读全文
posted @ 2012-04-06 10:28 LinHugh 阅读(2326) 评论(0) 推荐(0)
摘要:1)打开工作空间: 文件夹下: IWorkspaceFactory pWSF = new ShapefileWorkspaceFactoryClass(); IFeatureWorkspace pFWS = (IFeatureWorkspace)pWSF.OpenFromFile(folder, 0);GDB: IWorkspaceFactory pWSF = new AccessWorkspaceFactoryClass(); IWorkspace workspace = pWSF.OpenFromFile(outfileNamePath, 0);2) 建立字段文... 阅读全文
posted @ 2012-04-06 09:41 LinHugh
摘要:C----------------------------------------------------//九九乘法表#include <stdio.h>main(){int i,j;for(i=1;i<=9;i++){ for(j=1;j<=9;j++){ if(i>=j) printf("%d*%d=%d",j,i,j*i); if(j*i<10) printf(" "); else printf(" "); } printf("\n");}}--------------- 阅读全文
posted @ 2012-04-06 09:36 LinHugh
只有注册用户登录后才能阅读该文。
posted @ 2012-04-06 09:32 LinHugh