ArcEngine对CSV文件的操作
来源:互联网 发布:商城模板html源码下载 编辑:程序博客网 时间:2024/06/05 23:39
加载csv文件
using ESRI.ArcGIS.esriSystem;using ESRI.ArcGIS.DataSourcesOleDB;using ESRI.ArcGIS.Geodatabase;public static ITable OpenCSVFile(string csvFullPath){ string csvPath = System.IO.Path.GetDirectoryName(csvFullPath); //csv文件的文件夹位置 string csvName = System.IO.Path.GetFileName(csvFullPath);//csv文件的文件名 IWorkspaceFactory pWorkspaceFactory = new OLEDBWorkspaceFactory(); IPropertySet pPropSet = new PropertySet(); //注意如果csv文件的字符编码是utf-8 //pPropSet.SetProperty("CONNECTSTRING", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + tablePath + ";Extended Properties='Text;HDR=Yes;IMEX=1;CharacterSet=65001;'"); pPropSet.SetProperty("CONNECTSTRING", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + csvPath + ";Extended Properties='Text;HDR=Yes;IMEX=1;'"); IWorkspace pWorkspace = pWorkspaceFactory.Open(pPropSet, 0); IFeatureWorkspace pFeatureWorkspace2 = (IFeatureWorkspace)pWorkspace; ITable pTable = pFeatureWorkspace2.OpenTable(csvName); return pTable;}
shp文件join csv表格并导出
using ESRI.ArcGIS.GeoDatabaseUI;using ESRI.ArcGIS.Carto;public static void JoinCSV2ShpAndExport(IFeatureLayer pFeatureLayer, ITable pTable, string layerJoinField, string csvJoinField){ //join IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass; IMemoryRelationshipClassFactory pMemoryRelationClassFC = new MemoryRelationshipClassFactory(); IRelationshipClass pRelationshipClass = pMemoryRelationClassFC.Open("", pFeatureClass, layerJoinField, (IObjectClass)pTable, csvJoinField, "forword", "backword", esriRelCardinality.esriRelCardinalityOneToOne); IDisplayRelationshipClass pDisplayrelationShip = (IDisplayRelationshipClass)pFeatureLayer; pDisplayrelationShip.DisplayRelationshipClass(pRelationshipClass, esriJoinType.esriLeftOuterJoin); IRelationshipClassCollectionEdit pRelClassCollEdit = pFeatureLayer as IRelationshipClassCollectionEdit; pRelClassCollEdit.AddRelationshipClass(pRelationshipClass); IDisplayTable displayTable = pRelClassCollEdit as IDisplayTable; IRelQueryTable joinedTable = displayTable.DisplayTable as IRelQueryTable; //导出 IDatasetName srcName = (joinedTable as IDataset).FullName as IDatasetName; IDatasetName destName = new FeatureClassNameClass() as IDatasetName; destName.Name = "aa";//输出文件的名称 IWorkspaceName destWsName = new WorkspaceNameClass(); destWsName.PathName = "C:\\Temp\\";//输出文件的位置 destWsName.WorkspaceFactoryProgID = "esriDataSourcesFile.ShapefileWorkspaceFactory.1"; destName.WorkspaceName = destWsName; IFeatureClassName destFcName = destName as IFeatureClassName; destFcName.FeatureType = esriFeatureType.esriFTSimple; destFcName.ShapeFieldName = "Shape"; destFcName.ShapeType = pFeatureClass.ShapeType; IQueryFilter queryF = null; ISelectionSet selnSet = null; IGeometryDef geomDef = null; ExportOperation exOp = new ExportOperationClass(); exOp.ExportFeatureClass(srcName, queryF, selnSet, geomDef, destFcName, 0); ////移除表连接 pRelClassCollEdit.RemoveAllRelationshipClasses(); pDisplayrelationShip.DisplayRelationshipClass(null, esriJoinType.esriLeftInnerJoin);}
阅读全文
0 0
- ArcEngine对CSV文件的操作
- python对CSV文件的操作
- Java对CSV文件的基本操作
- 总结python对csv文件的操作
- OpenCV对csv文件的读写操作
- iOS对csv文件的操作
- ArcEngine对shp文件的操作(代码总结)
- 对CSV文件进行操作
- 如何对 *.csv 文件操作
- php对csv文件的读取,写入,输出下载操作
- php对csv文件的读取,写入,输出下载操作
- php对csv文件的读取,写入,输出下载操作
- php对csv文件的常用操作集合
- php对csv文件的读取,写入,输出下载操作
- php对csv文件的读取,写入,输出下载操作
- Java对csv的操作
- VC对csv文件进行读写操作
- java 对.csv 文件格式的操作
- flex.css,移动端flex布局神器,兼容微信,UC,webview等移动端主流浏览器08.10
- commons.lang中常用的工具
- 算法- 前言
- 20. Valid Parentheses
- HashMap,LinkedHashMap,TreeMap的区别
- ArcEngine对CSV文件的操作
- 代理模式
- 你应该知道的 RPC 原理
- Android开源项目
- ubuntu 14.04 命令行方式实现gcc升级及版本切换
- Spring BeanFactory 类图详解
- 机器人局部避障的动态窗口法(dynamic window approach)
- 开源Android容器化框架Atlas开发者指南
- mybatis 报错org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML.