C#进行arcEngine开发 2

arcengine 空间分析:

目前我知道的有:

  1、Geoprocessor 利用ESRI.ARCGIS.AnalysisTools中的相关工具进行clip,interset,identity操作:

  以clip为例如下:

  string ioutPath = mlstr + xzshpstr;
  Geoprocessor g = new Geoprocessor();
  g.OverwriteOutput = true;

  ESRI.ArcGIS.AnalysisTools.Clip clip = new ESRI.ArcGIS.AnalysisTools.Clip();

  clip.in_features = ifeatureClassXZ;
  clip.clip_features = ifeatureClassTB;
  clip.out_feature_class = ioutPath;

  IGeoProcessorResult igresult = new GeoProcessorResultClass();
  igresult = g.Execute(clip, null) as IGeoProcessorResult;

  需要注意:在arcengine中的文件路径,如果不存在会出错,文件被占用也会出错,一般对于已路径操作的文件,使用System中的相关类得到准确的路径字符串再在arcengine中使用。

以上方法是经过测试可以用的。

  2、使用IBasicGeoprocessor

  3、使用ITopologyOperator

   都没有用过。

arcengine中修改要素集的空间参考:

  1、在sde数据库中的要素类要是属于一个要素集,就只能修改要素集的空间参考。(现在想想纯粹是废话,但是就这个问题还是困扰了我好一阵儿)

  2、一个示例:

  IGeoDataset ifeatureclassds = ifeatureclass as IGeoDataset;

  IGeoDatasetSchemaEdit igeoEdit = ifeatureclassds as IGeoDatasetSchemaEdit;
  if (igeoEdit.CanAlterSpatialReference)
  {
    ISpatialReferenceFactory ispReferenceFactory = new SpatialReferenceEnvironmentClass();
    IProjectedCoordinateSystem ipCoorSys = ispReferenceFactory.CreateProjectedCoordinateSystem(2383);//2362xian 80 38度带 2383 xian 114
    igeoEdit.AlterSpatialReference(ipCoorSys);
  }

  对于坐标系的编号可以在一个网站上找到:

  http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/esriSRProjCS3Type_Constants/002m0000003n000000/

esriSRProjCS_WGS1984WebMercatorMajorAuxSphere , 3857 , WGS 1984 Web Mercator Major Auxilliary Sphere

时间: 2024-10-11 13:11:20

C#进行arcEngine开发 2的相关文章

arcengine 开发经典帖 【强烈推荐仔细研读】

转自原文 arcengine 开发经典帖 使用ArcGIS Engine 开发自定义GIS应用: 第一部分:使用ArcGIS Engine 发布自定义GIS应用软件-全面了解ArcGIS Engine的产品. 第二部分:ArcEngine9.2的新特性及变化.(续)--类对比及变化.(续)--(代码转换插件).(续)--ArcEngine新命令,工具.菜单和面板 第三部分:使用 ArcGIS Engine开发应用程序(自定义或嵌入) 第四部分:开发Engine 应用程序的基本原理.(续).(续)

ArcEngine开发中“错误类型"****"未定义构造函数”

from:http://blog.csdn.net/mengdong_zy/article/details/8990593 问题 在ArcEngine开发的时候,在编译时,发现出现这样的错误,出错的地方在实例化一个对象的时候. 比如: ISpatialReference a = new UnknownCoordinateSystemClass(); _hookHelper = new HookHelperClass(); 等等. 解决办法 选中实例化的类所在的程序集,如UnknownCoordi

vs2008下如何部署arcengine开发的程序

说实话本想搞WPF+ArcEngine开发的,环境都搭建好了,突然发现貌似有很多授权的问题,唯恐部署软件后不能在其它客户端上使用,而且是项目开发,于是决定先暂时放下这个想法,待联系做研究性系统时再予以开发使用.好了,接下来我将以图解形式详细说明一下如何部署一个arcgis二次开发程序. 所需文件 首先,我先将我们所用到的文件及搭建环境要求列一下. 客户端系统环境:win xp.win7.win8 客户端系统需要安装:dotNetFx35.WindowsInstaller3.1.ArcEngine

Arcengine 开发,FeatureClass新增feature时“The Geometry has no z-value”或"The Geometry has null z-value"的解决方案

Arcengine 开发,当图层含有Z值时,新增的feature没有Z值就会 出现“The Geometry has no z-value”的错误.意思很明显,新增的geometry没有Z值. 此时按照常规想法,取出geometry的每个点,分别设置Z=0,理论可行,但实际调试过程中依然报“The Geometry has no z-value”. 可用解决方案如下: IGeometry geometry = feature.ShapeCopy; IZAware zAware = (IZAwar

使用arcengine开发程序右键菜单

ArcGIS Engine是ESRI在ArcGIS9版本才开始推出的新产品,它是一套完备的嵌入式GIS 组件库和工具库,使用ArcGIS Engine开发的GIS应用程序可以脱离ArcGIS Desktop而运行.让我们一起来看,右键菜单的设计与实现. 利用ArcGIS Engine开发自定义GIS应用程序中,一般有两种方式来建立右键菜单. 一是利用开发工具自带的右键菜单控件,如Visual Studio中的ContextMenuStrip控件: 二是利用ArcGIS Engine封装好的ITo

C#进行arcEngine开发

一:环境配置: VS2012, ArcGIS10 ,arcengine10,arcsde10 oracle11g arcengine10的安装需要vs2010,对于vs2012要安装arcengine10,需要修改注册表: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0  中“新建” —“字符串值”  名称:InstallDir 数据:C:\Program Files (x86)\Microsoft Visu

基于ArcEngine开发自己的GIS

对于AE开发实在提不起兴趣,想好好去搞js的开发,无奈这门课要考试,还要做一个设计.所以我决定在设计周来到之前,就把这个开发做出来.然后就可以花样装逼啦.主要是通过写博客能督促自己搞一下,可以尽快完成. 需求分析 1.具备基本的地图操作功能.具备左右窗口间的鹰眼查看. 2.具备基本的查询和统计功能.包括属性.空间和图形的查询.具备一定的分析功能. 3.有一点地图制图的功能.包括符号化和地图标注. 4.具备一定的空间数据编辑功能.包括设置编辑的图层,属性编辑,节点编辑,保存和结束编辑. 5.具有空

解决ArcEngine开发程序“假死”现象

在GIS数据处理中,数据量大是一个非常伤脑筋的问题.最近,在写一个CAD注记转Shapefile文件时,又遇到这个问题. 曾经处理一次数据,达130万个点,即测试区域内的栅格转成点全部处理,程序是写好了,但速度之慢啊,关键问题是处理到一半报奇怪的错误,最后只好将数据分成6份,去实验室开了6台机子来分别处理,最后合成在一起.经历过这件事后,我就去请教老师,他们在用程序处理GIS大数据时(特别是当数据带有空间信息),怎么来解决类似的问题?他总结了两方面:一是硬件上,配置要高,对于特别大的数据考虑使用

ArcEngine开发各种几何错误代码

E_GEOMETRY_AMBIGUOUSPARTTYPE?- Static variable in interface com.esri.arcgis.geometry.esriGeometryError (0x8004024c) The operation would result in the creation of a new part, but the type of part to be created was ambiguous. E_GEOMETRY_AUTHORITY_TOO_L