Questions tagged «arcobjects»

ArcObjects是ESRI Inc.的一组基于COM的API,在其若干产品(包括ArcGIS Desktop,ArcGIS Engine和ArcGIS Server)中使用。

2
从Python使用ArcObjects的准则
到目前为止,从Python访问ArcObjects吗?是我在GIS Stack Exchange上阅读和引用最多的问答。尽管取得了成功,但是在实际使用方面,它可能是我最薄弱的领域之一。表现不佳的很大一部分是由于我阅读和理解ArcObjects文档的能力很差。 那么,对于任何给定的任务,将.net / c ++ / java / ...文档和示例转换为python等价物有哪些准则?(哪种语言最适合该语言?),什么是最好的索引或登录页面?应该重点关注什么东西,并且至少可能同样重要,可以自由忽略的东西是什么? 假设您的读者至少具有python素养,并且不懂其他开发语言。从最初的构想和研究到有效的python结果,带我们进行一次小型编码练习。

5
在ArcGIS中以编程方式编辑/更新元数据?
有谁成功通过编程方式更新了ArcGIS 10中的元数据?考虑使用Python / arcpy但也可以使用ArcObjects(C#或Python / comtypes)。 我需要同时更新FGDC和ArcGIS-ISO格式的元数据,并且无论使用哪种解决方案,都必须能够保留现有(非空白)元素以及添加的元素,除非在发生冲突的情况下添加的元素将覆盖现有元素。

1
协调ArcObjects中的大型编辑会话时,服务器内存不足
Out of Server Memory尝试协调大型编辑会话时,我们的一位用户经常遇到ArcSDE 10.0错误。 VMware ESX实例: Windows Server 2008 R2数据中心 Service Pack 1 英特尔至强E5-2660 @ 2.20GHz 8 GB内存 我已经设置了一个性能监视器来跟踪内存使用情况,但是我很好奇这是否是其他人在版本控制编辑中遇到的问题吗? 我们的RDBMS是Oracle,我通过ESRI找到了此页面: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//002n00000026000000 但是,这似乎是假设ArcSDE和Oracle在同一台计算机上(对我们而言它们不是)。我应该删除与编辑用户关联的“无限”表空间吗? 另外,我们使用Oracle客户端直接连接到您的数据库。这是否意味着我可能正在查看错误的服务器(ArcSDE),并且应该与DBA对话?我认为ArcObjects错误意味着ArcSDE问题,但是也许有人可以对此进行纠正? 解决方案似乎是在负责编辑的桌面上启用64位后台GP。大型编辑会话似乎导致我们的Oracle Geodatabase出现问题。可能可以在RDBMS级别上解决,但是当时无法使用DBA进行故障排除。

1
在Addin中运行的ArcObjects速度较慢?
我创建了一个类库,该类库进行了一些地理处理。插件会调用一个异步过程的类。我已经确保线程是STA,并且arcobjects是线程安全的(即未从插件中传递)。所有arcobjects在线程内创建。 因为这是一个类库,所以我将其包装在winforms UI中,也作为外接程序包装。两组代码完全相同,并且使用完全相同的数据执行测试。Winforms和Addin都以所需的结果完成了代码,并且没有明显的内存泄漏。对于插件,此时与映射周期没有交互,并且winforms代码中也没有映射或显示元素。 唯一的UI更新是插件和UI中进度对话框的更新。该插件正在使用可停靠窗口(用户控件ui)。 我看到的问题是,从插件中调用库时,代码执行速度比通过winforms应用程序调用的相同代码慢5倍。 关于我可能会看到为什么发生的任何想法?



2
自定义实现ArcGIS功能
我想了解创建ArcGIS函数的自定义实现所需要的内容。特别是,我想实现GeoAnalyst.ISurfaceOp2.Visibility(),以使其运行更快。现在,每次调用Visibility()大约需要3秒钟。据我有限的理解,瓶颈是将临时栅格写入文件系统。如果可以在内存中完成此操作,我怀疑处理时间将大大减少。我正在.NET项目中执行此操作,但是欢迎使用任何语言的解决方案。


2
如何使用IRelationalOperator2和GeometryBag
我想使用IRelationalOperator2的IsNear方法。该文档说,GeometryBag支持IRelationalOperator2接口。但这是行不通的,并导致异常 “ ...无法强制转换COM对象...不支持此类接口...” IRelationalOperator2 relationalOperator = (IRelationalOperator2)geometry; 相同的代码可以与IRelationalOperator一起正常工作,但是没有IsNear方法: IRelationalOperator relationalOperator = (IRelationalOperator)geometry; 有什么问题-代码,文档还是错误?“ geometry”是几何类型为esriGeometryBag的几何,包含一些折线。我使用直接转换来获取.NET异常。



2
使用arcpy或ArcObjects以编程方式修改栅格图层的显示和符号系统属性
我需要超过1500个NITF文件,才能在ArcMap中以编程方式修改图层显示和符号系统。我需要设置以下以红色概述的属性: 我已经浏览了arcpy文档,但看起来这些属性似乎并未公开-老实说,我没想到它们会如此。我有种可以通过ArcObjects接触到它们的感觉。任何人都具有通过编程修改这些属性的经验/运气吗?

1
以编程方式在ArcMap中编辑shapefile?
这是可以做到的吗? 例如,如果我在地图上创建了一个叠加层并将其另存为shapefile,我想去编辑该(预先存在的文件。)叠加层...添加点/删除点都会更改颜色/ fillstyle / etc。 理想情况下,我想避免创建新的shapefile并删除旧的shapefile。 有什么想法吗? 编辑1:好,既然有人说可以做到。显而易见的问题是,如何编辑shapefile(在ArcObjects中以编程方式)? 编辑2:看评论,我似乎需要做这样的事情,但我不确定。 我目前有一个基本的shapefile,我想在C#的ArcObjects中进行编辑。 我通过创建FeatureClass,Workspace并随后传入我的形状来创建了shapefile。在这种情况下,它只是一条简单的折线,上面有一些点。我想做的就是能够更新此shapefile。 我假设我需要重用FeatureClass,Workspace并传递新形状。但是,我在做什么似乎不起作用。这就是我在进行编辑的地方-任何建议都很棒。 IWorkspaceEdit workspaceEdit = (IWorkspaceEdit)inWorkspace; workspaceEdit.StartEditing(true); workspaceEdit.StartEditOperation(); ComReleaser comReleaser = new ComReleaser(); IFeatureCursor featureCursor = inFeatureClass.Update(null , true); IFeature feature = null; while((feature = featureCursor.NextFeature()) != null) { int id = feature.Fields.FindField("shape"); IFeatureBuffer featureBuffer = inFeatureClass.CreateFeatureBuffer(); featureCursor.DeleteFeature(); //Delete the …

3
使用ArcObjects在ArcMap中创建仅浮动(不可停靠)窗口?
我正在寻找一种在ArcMap中创建浮动窗口的方法。举个例子,看看“识别”工具的窗口。 浮动表示它始终处于地图文档的前面,并且用户可以继续使用ArcMap。我知道IDockableWindowDef接口可用于创建也可以浮动的可停靠窗口,但是我不希望它们停靠。据我所知,如果用户将其推到ArcMap窗口的边界,则无法阻止IDockableWindowManager创建的表单停靠。 有任何想法吗? 解决方案是搜索子窗口和MDI之类的关键字。高温超导 问题的解决方案似乎就像@llcf的答案一样简单: MyForm form = new MyForm(); form.Show(NativeWindow.FromHandle(new IntPtr(m_application.hWnd)));
9 arcmap  arcobjects  c# 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.