Questions tagged «arcobjects»

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

6
如何遍历连续栅格中的每个像元?
有关更多详细信息,请参见此链接。 问题: 我想遍历一个连续的栅格(一个没有属性表的栅格),逐个像元,并获取像元的值。我想采用这些值并对它们运行条件,模拟下面详细介绍的地图代数步骤,而无需实际使用栅格计算器。 根据下面的评论请求,我添加了详细信息,为问题提供了背景,并证明有必要在下面称为“所需的分析:”的部分中实施这样的方法。 下面提出的分析虽然通过提供背景与我的问题相关,但无需在答案中进行。问题的范围仅涉及对连续栅格进行迭代以获取/设置像元值。 分析需要: 如果满足以下任一条件,则将输出单元格的值设置为1。如果不满足任何条件,则仅将输出单元格的值设置为0。 条件1:如果单元格值大于顶部和底部单元格,则给出值1: Con("raster" > FocalStatistics("raster", NbrIrregular("C:\filepath\kernel_file.txt"), "MAXIMUM"), 1, 0) 内核文件如下所示: 3 3 0 1 0 0 0 0 0 1 0 条件2:如果单元格值大于左右单元格,则给定值1: Con("raster" > FocalStatistics("raster", NbrIrregular("C:\filepath\kernel_file.txt"), "MAXIMUM"), 1, 0) 内核文件如下所示: 3 3 0 0 0 1 0 1 0 0 0 条件3:如果单元格的值大于左上角和右下角的单元格,则将值设为1: Con("raster" > …
13 python  raster  arcobjects  gdal  c# 

1
打印地图中的比例(MXD)与手动打印的代码不同
这个问题与我之前问过的问题部分相关。 我尝试使用ESRI发布的“ 打印Active View”代码来打印 A3 mxd,并且只更改了一行代码,即将其更改为A3大小。 docPaper.FormID = 8; 这将其强制设置为A3大小,而不是默认的0 Letter大小(esriPageFormLetter)。 该地图打印出了很好的效果,但未按比例绘制,即该地图假定为1:10000,但是网格之间的间距为9.7厘米,而不是应该的10厘米。 如果我打印出完全相同的mxd,但是通过手动方法(即在ArcMap本身中),则选择文件->打印。秤是正确的,尺寸为10厘米。 重要的是要注意,我没有更改两次打印之间的任何页面和打印设置设置。 为什么要这样做? 请参阅下面的图片,以帮助了解发生了什么。 http://img819.imageshack.us/img819/1959/scalemapcomparison.jpg

8
ArcObjects资源[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 使用ArcObjects进行C#开发的最佳书籍/网站是什么? 在ArcGIS资源中心是非常有帮助的,但我试图找到更多的例子来源。
13 arcobjects  c# 

1
错误的F ********空间关系?(我没有在骂)
我希望ISpatialFilter.SpatialRelDescription与IRelationalOperator.Relation保持一致。但是,当我运行下面的代码时,我得到: Total features : 44368 Count1: 9 T******** Count2: 9 T******** Count1: 21 F******** Count2: 44359 F******** Count1: 1 ******F** Count2: 1 ******F** 这是F********关系中的错误吗? private void TestSpatialFilter() { IMxDocument mxdoc = ((IApplication)m_application).Document as IMxDocument; IFeatureLayer fLayer = mxdoc.FocusMap.get_Layer(0) as IFeatureLayer; IEnvelope env = ((IActiveView)mxdoc.FocusMap).Extent; env.Expand(0.5, 0.5, true); env.Project(((IGeoDataset)fLayer.FeatureClass).SpatialReference); Debug.Print("Total features …

1
超链接工具在ArcEngine中的使用
使用ArcEngine中的超链接工具(ControlsMapHyperlinkTool)时遇到一些困难。有人有经验吗? 除了用户每次单击超链接功能时,它都会显示一条消息“无法启动超链接”,看起来它的行为正常。我正在使用“脚本”超链接,它在ArcMap中表现良好。它似乎并没有试图在单击时执行脚本。我检查了IHotlinkExpressionProperties对象,并正确设置了Expression属性。有什么想法吗?谢谢!

3
连接线特征并确定最长线的长度
我有一个线要素(参见图片),它代表使用Stream_to_Feature工具创建的一条河流。属性表包含代表不同行的几条记录-问题是最长的行(在视觉上易于区分)在表中没有表示为单行,实际上是由许多较小的行组成的。线条似乎相互接触,尽管它们彼此不交叉。 如何合并这些线,然后使用ArcObjects或可以转换为ArcObjects的手动方法确定最长的线的长度?更好的解决方案将包括摆脱所有支流,而让我只留一条河道作为一条线。

12
学习.NET for ArcGIS(主要是台式机)使用吗?
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 我具有基本的编程技能(我编写了简单的vba python和lisp脚本,并且很久以前就读过Java课程),但是在我看来(由ESRI出版物判断)并没有逃脱学习.NET的需要。未来在GIS就业市场中的相关性(甚至是作为分析师)。 我已经完成了基本的C#课程,并且可以(遗憾地)编写非常差的程序,但是我不知道如何将C#知识与arcgis的实际编程联系起来。 1)我知道差异不大,但是ArcGIS是否使用.NET或C#? 2)我知道增加我在.NET中经验的最好方法是编写越来越多的程序,但是有什么好的.NET编程书籍或课程可以学到技术吗? 3)您认为学习在.NET for ArcGIS中编程的最佳方法是什么?有没有有用的书籍或网站? 非常感谢您对ArcGIS 10的评论(并将保存以供以后使用),但是如果您能给我一些有关ArcGIS 9.3.1的建议,那将是非常出色的(我发现自己处于非常任性的位置,而Esri和全世界的注意力都集中在ArcGIS 10.0上(包括当地的Esri代表),该国几乎没有人从9.3.1升级或有计划这样做,并且个人在寻求9.3.1适当答案时遇到问题)。

1
使用Python禁用Scale map元素与页面大小的变化成比例吗?
我正在使用ArcPy和ArcGIS 10.0在不同办公室的MXD上更改源。正如所观察到这里,打印机设置恢复到默认打印机时发送指令mxd.save()。 在我的情况下,丢失打印机是一个小问题,但是如果在选择“使用打印机纸张设置”时勾选了打印选项“按比例缩放地图元素与页面大小成比例地缩放”,则打印机将变得很重要。下面的屏幕截图是我最坏的情况,最好的情况是取消选中两个复选框。 在保存MXD之前,我想使用comtypes来检查该选项的值并将其设置为False(未选中)-想法是从现有ArcPy脚本中将此函数作为函数来调用。(首要目标) 为了进一步保证打印设置的安全性,我也希望取消选中“使用打印机设置”复选框。(次要目标) 有人可以帮忙吗?

3
Python加载项与.NET加载项对ArcGIS for Desktop的优缺点是什么?
我在ESRI .NET帮助中找到了: 蟒蛇 所有ArcGIS Desktop应用程序都包含一种称为Python的嵌入式脚本语言。通过简化的Python应用程序编程接口(API)可以访问ArcGIS的许多区域(尤其是地理处理区域),从而使创作和自动执行常见任务变得容易。Python脚本易于共享,无需外部开发环境即可生成。有许多公共领域的Python模块专注于科学,工程和数学等领域。凭借其所有优点,Python并不适合所有编程任务。尽管覆盖范围有所改善,但当前并非所有ArcGIS领域都可以使用Python。此外,Python的编辑和调试经验不像商业开发环境(如Visual Studio)所包含的那样复杂或易于使用。最后,您无法使用Python侦听和响应ArcGIS事件,实现COM接口或插入ESRI的许多COM可扩展性点。 并在ArcGIS Desktop帮助中: ArcGIS 10.1将Python引入了用于编写桌面外接程序的语言列表,从而为您提供了扩展桌面功能的简单解决方案。为了简化Python加载项的开发,必须下载并使用Python加载项向导声明自定义类型。该向导将生成该外接程序正常工作所需的所有必需文件。 Python和.NET加载项是否具有相同的功能?这是否意味着我可以在Python和.NET中做同样的事情?

3
ArcGIS Web开发的未来是什么?是JavaScript和HTML5吗?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我想了解ArcGIS Web开发的未来。是HTML5吗? 我曾经使用过ArcObjects和.NET Web ADF,所以我必须遵循的最佳技术是什么,尤其是当我知道Silverlight版本更新已停止时? 因此,我认为将来必须遵循的.NET最佳技术是带有HTML5的JavaScript。是真的吗

1
验证是否在ArcObjects的查询中使用了属性索引?
作为通过.NET使用ArcObjects编写的较大项目的一部分,我们有一些软件。该软件将数据从一个方案中的多个文件地理数据库迁移并合并到相似但不同方案中的单个文件地理数据库。迁移中的某些步骤涉及查找现有行,并使用其他表中的数据对其进行更新。当目标地理数据库很大时,这可能会变得非常慢,因此我添加了一些多字段属性索引来提高查询/更新性能。 有没有一种方法可以确认查询正在使用新的属性索引,以及可能如何执行查询? 我想我真的在寻找与查询计划等效的工具-与EXPLAIN PLANOracle 类似。 查询直接在使用ArcObjects的文件地理数据库中进行(没有RDBMS后端或SQL)。

3
解除对要素类的锁定
当我尝试删除要素类时,在使用使用相同要素类的Arcgis引擎应用程序后或使用过程中,出现关于锁的错误,因此在重新启动计算机之前无法使用该锁。 我想知道一种使用arcpy或arcobjects 10.1删除锁的方法,如果我能在也可以锁定地理数据库的arcengine应用中使用锁,那将是完美的选择,我在SE中看到过有关锁的不同文章,但没人它们提供了使用ArcObjects释放锁的解决方案。

4
如何释放对gdb的锁定?
我在ArcGIS10中发布gdb时遇到问题。我的工具可与本地gdb一起使用,但在此过程之后无法释放它。在Ag9.3中,我可以简单地通过Marshal.ReleaseComObject(workspace)释放它,但这在AG10中不起作用。同时释放所有FeatureCursors也无济于事。仅关闭整个应用程序会“删除”锁。有谁知道如何在不关闭应用程序的情况下释放我的gdb和“删除”锁?

5
从表单激活自定义ITool而不将其添加到ArcMap AddIn工具栏?
我正在开发ArcMap 10.0的外接程序,该外接程序将工具栏添加到ArcMap。OpenModelessDialogCommand该工具栏上的一个命令()按钮打开一个无模式的WinForms对话框,MyTool可以从中激活一个工具(),以便例如在地图上选择一个要素。 我的Config.esriaddinx包含以下命令和工具栏声明: <Commands> <!-- this is the command that opens the modeless WinForms form, from where MyTool is available: --> <Button id="OpenModelessFormCommand" ... /> <!-- MyTool is not directly referenced in any toolbar defined in this file: --> <Tool id="MyTool" class="MyTool" ... /> </Commands> <Toolbars> <Toolbar ...> <Items> <Button …

1
使用C#实现ArcGIS自定义功能?
是否可以在.NET中实现自定义功能? 如果是这样,怎么办? 我怀疑问题是可以通过.NET 进行COM聚合,但是我在那上找不到任何东西... 有谁知道是否可以创建一个 运行 支持COM_INTERFACE_ENTRY_AGGREGATE_BLIND的.NET类的COM可调用包装器?
11 arcobjects  c#  .net 

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.