- 用 于
- 构建定制应用
- 利 用
- ArcGIS Engine
- 性 质
- 完整的嵌入式的GIS组件库
- 外文名
- ArcEngine
-
arcengine
2008-03-20 22:02:15COM技术与GIS相结合产生的组件式...在分析了组件式GIS的关键技术及ArcEngine的体系结构的基础上,使用可视化编程语言VisualBasic,结合GIS系统中一些基本功能的开发实例,探讨了利用ArcGIS Engine进行二次开发的方法. -
Arc engine
2017-10-20 13:27:54 -
arcEngine 10.1与arcEngine 10.2中smoothline的区别
2017-02-16 16:25:09arcEngine直接上代码吧!大家需要的拿去,这是arcEngine 两个版本之间的区别。
10.1版本中
using ESRI.ArcGIS.Geoprocessor; using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.Geodatabase; using ESRI.ArcGIS.AnalysisTools; using ESRI.ArcGIS.SpatialAnalyst; using ESRI.ArcGIS.GeoAnalyst; using ESRI.ArcGIS.CartographyTools; //平滑曲线 public void SmoothLine(IFeatureClass pFeaClass, string strOutput) { try { Geoprocessor pGp = new Geoprocessor(); SmoothLine smoothLine = new SmoothLine(); smoothLine.in_features = pFeaClass; smoothLine.out_feature_class = strOutput; smoothLine.tolerance = 5; pGp.Execute(smoothLine, null); } catch(Exception e) { XMLOperation.LogManager.WriteLog(e.Message); return; } }
10.2版本中
两个版本的区别仅限于dll程序集的依赖关系。10.3版本与10.2版本估计是一样的问题,大家可以试一下。using ESRI.ArcGIS.Geoprocessor; using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.Geodatabase; using ESRI.ArcGIS.AnalysisTools; using ESRI.ArcGIS.SpatialAnalyst; using ESRI.ArcGIS.GeoAnalyst; using ESRI.ArcGIS.CartographyTools; using ESRI.ArcGIS.Server; using ESRI.ArcGIS.Geoprocessing; //平滑曲线 public void SmoothLine(IFeatureClass pFeaClass, string strOutput) { try { Geoprocessor pGp = new Geoprocessor(); SmoothLine smoothLine = new SmoothLine(); smoothLine.in_features = pFeaClass; smoothLine.out_feature_class = strOutput; smoothLine.tolerance = 5; pGp.Execute(smoothLine, null); } catch(Exception e) { XMLOperation.LogManager.WriteLog(e.Message); return; } }
另外,10.1版本中的license初始化与10.3license方法一致,但是10.3总是提示license未初始化。 如果高手知道答案,非常感谢您能跟我说一声,谢谢!!
以上如有其它问题,欢迎指教,共同进步!
-
Arcengine10.1
2020-01-11 16:14:261.ARCGIS Desktop 10.1原版安装光盘 2.ArcEngine 10.1 安装包 3.ArcGIS License Manager 解压密码: malagis.com -
ArcEngine9.3
2014-05-30 16:14:05ArcEngine ArcEngine9.3.part01.rar -
arcengine 加载地图不显示_ArcEngine加载地图
2020-12-21 19:43:48对于ArcEngine开发者来说,万事第一步,就是要先加载地图数据,不过我们下面要讲的加载地图的方法不是用ArcEngine自带的控件或命令来实现的,而是以代码方式实现的。加载地图的方式主要分为两种:加载地图文档(.mxd/...对于ArcEngine开发者来说,万事第一步,就是要先加载地图数据,不过我们下面要讲的加载地图的方法不是用ArcEngine自带的控件或命令来实现的,而是以代码方式实现的。加载地图的方式主要分为两种:加载地图文档(.mxd/.pmf)和加载图层,下面主要以加载图层为重点来讲述。
1.加载地图文档
1.1实现原理
通过IMapReader打开一个地图文档,然后获取IMap,最后将IMap加载到MapControl控件中。
1.2涉及接口
IMapReader,IMap
1.3具体实现
1 OpenFileDialog dlg = newOpenFileDialog();2 dlg.Filter = "地图文档(*.mxd)|*.mxd|地图发布文档(*.pmf)|*.pmf";3 var ret =dlg.ShowDialog();4
5 if (ret ==System.Windows.Forms.DialogResult.OK)6 {7 IMapReader pMapReader = newMapReaderClass();8 pMapReader.Open(dlg.FileName);9 IMap pMap = pMapReader.get_Map(0);10 this.axMapControl1.Map =pMap;11 }
PS:除了上述方法外还可以直接使用地图控件提供的方法
1 this.axMapControl1.LoadMxFile(dlg.FileName);
2.加载图层
2.1实现原理
通过图形数据的工作空间工厂(WorkspaceFactory)建立一个工作空间(Workspace),在这个工作空间中打开图形数据,图像数据将以要素类(FeatureClass)的形式创建,然后将要素类包装成要素图层(FeatureLayer),最后加载到MapControl控件中。
2.2涉及接口
IWorkspaceFactory,IWorkspace,IFeatureClass,IFeatureLayer,ILayer,IDataset
2.3具体实现
1 //创建工作工厂,根据不同数据类型创建不同的工厂
2 IWorkspaceFactory factory = newShapefileWorkspaceFactory();3 //打开工作空间
4 IWorkspace workspace = factory.OpenFromFile(fileFolder, 0);5 //QI到要素工作空间
6 IFeatureWorkspace featureWorkspace = workspace asIFeatureWorkspace;7 //打开要素类
8 IFeatureClass featureClass =featureWorkspace.OpenFeatureClass(fileName);9 //封装图层
10 IFeatureLayer featureLayer = newFeatureLayerClass();11 featureLayer.FeatureClass =featureClass;12 featureLayer.Name = ((IDataset)featureClass).Name; //或featureClass.AliasName13 //将图层添加到地图
14 this.axMapControl1.AddLayer(featureLayer);
PS:如果图形数据是存在文件夹中的,则可采用直接添加ShapeFile的方式
1 this.axMapControl1.AddShapeFile(fileFolder, fileName);
-
arcengine获取图层要素_ArcEngine中获取图层唯一值的方法
2021-02-27 09:12:11ArcEngine中获取图层唯一值的方法这是在ArcEngine9.2中,获取图层指定字段唯一值的方法。鉴于ArcEngine众多的接口、函数,选择合适的接口、方法来进行操作是很关键的,而且对它的学习也相对困难一些,需要一定的时间...ArcEngine中获取图层唯一值的方法
这是在ArcEngine9.2中,获取图层指定字段唯一值的方法。鉴于ArcEngine众多的接口、函数,选择
合适的接口、方法来进行操作是很关键的,而且对它的学习也相对困难一些,需要一定的时间积累才能渡
过初期的困难时刻,这里与大家共勉,希望能早日成为AE高手。获取图层唯一值,一般通过
IDataStatistics和IQueryDef接口,IDataStatistics代码如下:
///
/// 通过IDataStatistics获取图层指定字段唯一值
///
///
///
/// 指定字段所有唯一值
private ArrayList GetLayerUniqueFieldValueByDataStatistics(IFeatureLayer
pFeatureLayer, string fieldName)
{
ArrayList arrValues = new ArrayList();
IQueryFilter pQueryFilter = new QueryFilterClass();
IFeatureCursor pFeatureCursor = null;
pQueryFilter.SubFields = fieldName;
pFeatureCursor = pFeatureLayer.FeatureClass.Search(pQueryFilter, true);
IDataStatistics pDataStati = new DataStatisticsClass();
pDataStati.Field = fieldName;
pDataStati.Cursor = (ICursor)pFeatureCursor;
IEnumerator pEnumerator = pDataStati.UniqueValues;
pEnumerator.Reset();
while (pEnumerator.MoveNext())
{
object pObj = pEnumerator.Current;
arrValues.Add(pObj.ToString());
}
arrValues.Sort();
return arrValues;
}
据网上资料介绍,当图层的数据量很大时,以上这种方法执行起来速度较慢,性能影响比较明显,
得考虑使用另外一种方法。通过IQueryDef接口使用类似SQL的查询语句来获取图层字段的唯一值集合,执
行速度等同于执行SQL查询语句。
///
/// 通过IQueryDef获取图层指定字段唯一值
///
///
///
/// 指定字段所有唯一值
private ArrayList GetLayerUniqueFieldValueByQueryDef(IFeatureLayer pFeatureLayer,
string fieldName)
{
ArrayList arrValues = new ArrayList();
IQueryDef pQueryDef = null;
IRow pRow = null;
ICursor pCursor = null;
IFeatureWorkspace pFeatWrok = null;
IDataset pDataset = null;
pDataset = (IDataset)pFeatureLayer.FeatureClass;
pFeatWrok = (IFeatureWorkspace)pDataset.Workspace;
pQueryDef = pFeatWrok.CreateQueryDef();
pQueryDef.Tables = pDataset.Name;
pQueryDef.SubFields = "DISTINCT(" + fieldName + ")";
pCursor = pQueryDef.Evaluate();
pRow = pCursor.NextRow();
while (pRow != null)
{
object pObj = pRow.get_Value(0);
arrValues.Add(pObj.ToString());
pRow = pCursor.NextRow();
}
arrValues.Sort();
return arrValues;
}
经过的我的实际测试,在C#中,用IQueryDef方法没有成功,运行到这句pCursor =
pQueryDef.Evaluate();就出错了,并没有得到结果集,估计是workspace的原因,查看ArcEngine的帮助
例子,确定应该是这个原因。因此后面的这个函数,在使用时需要注意,在同一个workspace下进行。
posted on
2008-05-24 18:57
叶秋
阅读(1408)
评论(0)
编辑
收藏
-
ArcEngine10.0等低版本的示例程序,转换成ArcEngine10.4
2018-07-22 00:35:24在ArcGIS Engine的开发过程中,...熟悉的人应该知道,当ArcEngine10.0、ArcEngine10.1、ArcEngine10.2、、ArcEngine9.3这些版本相互转换时,只需要用记事本的方式打开示例程序中,与程序名称相同且后缀名为.csprof... -
ArcEngine开发
2015-02-08 23:03:09适合arcengine/AO开发入门者学习使用,针对arcengine9.x,讲解非常的详细 -
java arcengine_在Java程序中调用ArcEngine
2021-02-27 13:16:44ArcEngine一般在C#中用的比较多,不过esri也是为Java提供了AE的类库的,不过文档确实没做的C#那么好。下面我记录一下如何在项目中配置使用AE的环境。第一步:将arcobject.jar包加到build path下;第二步:要使用AE,... -
ArcEngine+C# 实现画图
2018-08-21 17:03:17ArcEngine+C# 实现画图,ArcEngine+C# 实现画图,ArcEngine+C# 实现画图 -
Arcengine Excel
2014-08-19 11:22:58arcengine Excel shp IDW插值 -
Arcengine地图编辑工具条源代码
2020-10-25 06:00:19Arcengine地图编辑工具条源代码功能实现 Arcengine地图编辑工具条源代码功能实现 Arcengine地图编辑工具条源代码功能实现 Arcengine地图编辑工具条源代码功能实现 -
ArcEngine 时间滑块功能
2019-01-29 15:41:30ArcEngine 时间滑块功能。主要是实现了ArcGIS中的时间滑块功能,可以通过设置要素属性,是要素在不同的时间段显示不同的内容。 Arcengine。C# -
ArcEngine教程(二)——ArcEngine添加引用
2018-09-10 17:10:48本篇内容以ArcEngine教程(三)为例,添加GeoDatabase和DataSourceFile引用。 一、右键点击项目引用,选择“Add ArcGIS Reference…” 二、在弹出的界面中选择需要添加的引用所在的类库 本例中,GeoDatabase和... -
ArcEngine C#
2012-04-19 14:15:12ArcEngine C# -
ArcEngine接口详细说明
2018-01-18 11:21:21主要是一些关于ArcEngine接口详细说明,里面详细的介绍了一些关于ArcEngine,以及他的用法 -
C#+ArcEngine代码检测ArcEngine Runtime是否安装以及是否授权
2015-01-23 18:43:43C#+ArcEngine代码检测ArcEngine是否安装以及是否授权 -
arcengine 加载地图不显示_ArcEngine地图的加载与保存
2020-12-21 19:43:46ArcEngine地图的加载与保存2008-03-24 14:43/// <summary>/// 地图加载/// </summary>/// <param name="sender"></param>/// <param name="e"><... -
ArcEngine介绍
2019-09-28 14:34:04一、ArcEngine简介ArcEngine被定位为一个嵌入式的产品,它并非面向最终用户,而是一个面向开发者的产品。对于繁冗的GIS开发工作而言,理想的解决方案是一个基于组件的实用的开发框架,且该框架允许解决方案提供商或... -
C# arcengine 专题图 渲染
2020-07-03 02:30:56C# arcengine 各种专题图的制作 -
arcengine for java_Java+ArcEngine开发环境配置 | 学步园
2021-02-12 19:48:071:配置java的基本开发环境;2:配置基本的java视图开发,...4:安装Arc Engine for Java ;PS:安装的过程基本没有什么问题;下面就添加一个简单的Demo,打开地图;import java.awt.BorderLayout;import java.io.IOEx... -
arcengine许可
2019-01-13 07:05:09年关到了,很多arcengine license 都快过期了。这里有一个arcengine的无限期许可(未测试)。 /Files/xiexiaokui/ae92lic.txt -
arcengine矢量转栅格.txt
2021-01-21 11:02:48arcengine/server二次开发 -
ArcEngine图层属性表
2018-06-23 21:52:02C#读取图层属性表,在ArcEngine10.2.。 -
ArcGIS10.2+ArcEngine.txt
2020-09-04 17:47:12资源主要有ArcEngine10.2+Arcgis10.2,ArcEngine10.2对于gis的destop二次组件开发以及用于Arcgis的java开发提供组件以及平台。GIS10.2则主要用于制图和地图的空间分析。 -
arcengine 例子
2013-05-01 21:07:53本实例包括arcengine开发的基本功能,其中打开地图、选择查询、数据转换、图层渲染、导出地图等功能