Questions tagged «.net»

由Microsoft开发的一种框架,它将几种基于COM的编程语言中的任何一种编译为机器可执行的语言。

2
从.NET调用arcpy / python?
是否有任何可用的示例说明如何将python集成到.NET ArcGIS Addin或Extension中?我想从.NET中的表单事件(例如按钮单击)调用一系列python脚本。我还希望能够从.NET表单中在脚本中设置变量。 我应该咬紧牙关,然后在.NET中重新编写这些脚本,还是有一种简单的方法来包装python代码?

1
如何在ArcMap / C#中从Windows剪贴板获取选定的要素/几何?
我在ArcMap 10中有一个自定义工具。工作流如下: 使用“按矩形选择要素”工具在图层中选择要素 使用STRG + c将功能部件复制到剪贴板 选择自定义工具 该工具检查剪贴板。如果在剪贴板中找到复制的功能,则工作流程会更改 我在http://kiwigis.blogspot.com/2011/07/how-to-create-drop-target-for-layers-in.html上找到了一个示例,其中使用拖放实现了类似的内容。 按照并修改示例,并尝试使用STRG + c将ArcMap中的TOC中的图层复制到剪贴板对我来说是可行的: //Get the Data from the Clipboard IDataObject clipBoardDataObject = Clipboard.GetDataObject(); //The format of the object data is "ESRI Layers" (this can be checked using clipBoardDataObject.GetFormats();) MemoryStream geomStream = clipBoardDataObject.GetData("ESRI Layers") as MemoryStream; byte[] bytes = geomStream.ToArray(); IMemoryBlobStreamVariant memoryBlobStreamVariant …

6
带有app.settings的ArcMap加载项无法识别app.config的更改?
我已经开发了一个需要配置文件的ArcMap加载项。花了一段时间尝试从单个App.Config文件中读取配置值(并始终为null)之后,我相信该加载项无法从此处读取值,因为它是一个类库,并且正在寻找调用应用程序(ArcMap)我的配置文件,当我要求一个键的值(因此为null)时。 为了解决这个问题,我使用了一个App.Settings文件,该文件可以很好地读取。创建此文件还将在环境中引入一个App.Config文件,Visual Studio似乎在开发过程中使两个文件保持同步。 现在已经部署了外接程序,我需要能够更改配置值(例如,日志文件位置)。我尝试打开/解压缩.esriaddin文件并在那里更新App.Config文件,但是该加载项保留了与编译时相同的配置值。我知道新的App.Config值将保留在.esriaddin文件中,因为关闭存档后我可以再次查看它们。 有谁知道配置外接程序并允许此配置在部署后可更新的可靠方法?任何建议都非常受欢迎,因为我为此需要一个自定义配置文件似乎很荒谬。 App.Settings值在应用程序级别,并且当前App.Settings和App.Config都具有构建操作:无/不复制。

2
避免使用.NET进行ArcObjects地理处理失败?
我们可以使用ArcToolbox中的一些不错的功能,但是由于某些原因,它无法正常工作。它甚至都没有抛出错误。 我的软件在ArcMap中运行,所以不需要再次进行AoInitialize了吗? public void Execute() { InitializeProduct(); try { Geoprocessor gp = new Geoprocessor(); gp.OverwriteOutput = true; FeatureToPoint featureToPoint = new FeatureToPoint(); string outputPathName = CurrentWorkspace.PathName + "\\teste_centroide"; featureToPoint.in_features = InputFeatureClass; featureToPoint.out_feature_class = outputPathName; featureToPoint.point_location = "INSIDE"; IGeoProcessorResult result = (IGeoProcessorResult)gp.Execute(featureToPoint, null); if (result == null) { for (int i …

8
如何从.Net应用程序使用SQL Server的空间类型?
对于即将进行的项目,要求之一是存储和使用基本的Geogrpahic数据作为现有SQL-Server / .Net应用程序的一部分。 显然我们可以使用SQL Spatial类型,但是,似乎没有任何方法(例如)从SQL查询的结果中读取它们,或保存更新的POI /多边形。 开发人员真的必须亲自在存储过程级别处理转换,还是有一种本地使用类型的方法?
14 .net  sql-server 

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适当答案时遇到问题)。

8
寻求免费的.NET开源Shapefile编写器
我正在寻找一个文档齐全的开源库,该库可以从.NET创建和写入shapefile。我需要较低的操纵杆访问权限,即我应该能够逐个功能地编写功能。 我已经调查并发现以下内容: SharpMap声称可以在v 2.0中写入shapefile,但是该版本尚未发布。 NTS绝对没有任何文档。 Catfood shapefile阅读器提供只读访问权限。 是否有一个可用于编写新shapefile的库?

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中做同样的事情?

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

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

1
是否将Whitebox GAT(免费和开放)与ArcMap UI集成在一起?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 我在研究生院写了许多ArcGIS VBA自动化程序。但是,它们完全依赖于ArcGIS Spatial Analyst扩展,该扩展不仅是闭源的,而且在威慑方面也很昂贵。 由于不赞成使用VBA,并且由于U的一些研究人员仍在使用我的VBA工具,所以我认为用.Net重写它们会很有趣。但是现在,有了更多经验,我进一步意识到,如果那些实用程序使用了开放算法,则将更适合于学术用途。 考虑到这一点,我正在考虑将Whitebox GAT视为Spatial Analyst水文学工具的潜在替代者,并且我很好奇是否存在与ArcGIS / Whitebox集成相关的成功案例或省时的“难题”。 我预计会有几个人会反对Saga,GRASS,R等的建议。如果这是您的职位,请说明为什么进行Whitebox集成是不明智的。例如,它是否仅支持几种输入格式,对大文件(1-2 GB以上)的处理不佳等? 我在Whitebox UI上进行了一些操作,并在他们的教程的帮助下,对放置的30米DEM进行了预处理并不困难。接下来,排列水力栅格后,我创建了一个倾泻点并绘制了分水岭。这足以让您感受到Whitebox的用户体验。 Whitebox可使用.Net或Python进行扩展和/或使用。在Whitebox UI中完成了一些基础知识之后,我认为我已经将典型的DEM预处理任务与简单的.Net自动化(目前还没有ArcMap)链接在一起。DEM预处理通常意味着以下内容: 不设置数据值(Whitebox需要此值,但Arc从来不需要) 填充水槽 创建流向栅格 创建流量累积栅格 我将以下Windows窗体“应用程序”(aka WhiteboxDaisyChain)放在一起。它需要一个包含ArcGIS Grid(.FLT)的系统目录,并执行上述任务。如果您想尝试此操作,则需要下载已编译的二进制文件,解压缩,然后将所有.dll文件从其中复制..\WhiteboxGAT_1_0_7\Plugins到您的项目中-我将所有内容都放入..\WhiteboxDaisyChain\Whitebox。但是,此示例仅需要DLLs在代码示例顶部提到的四个。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; // 1) Create a new Windows Form // …

4
使用.NET读取GeoTiff
是否有一个托管库,用于从.NET中的geotiff文件中读取坐标? 我知道可以通过GDAL来完成,但是我正在寻找一种可管理的替代方案。

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

2
使用.NET泛型来存储ArcObjects?
在.NET中使用通用类型存储ArcObjects(例如ILayer,IField等)有什么含义? 使用这些类型的值时,编译器会向我发出警告 public class Foo { private List<ILayer> fooLayers; public List<ILayer> FooLayers { get { ... } set { ... } } } 这是警告: 警告15类型库导出程序警告处理'ArcMemorialCore.Topography.IMemorialDocument.set_ProfessionalsEnvolved(value),ArcMemorialCore'。警告:类型库导出程序在签名中遇到了通用类型实例。通用代码可能不会导出到COM。ArcMemorialCore 我关心的不仅是警告的存在,还包括良好的设计规范,性能等。
11 arcobjects  .net 

2
在10.2上运行ArcGIS 10.1应用程序
我支持已在装有ArcGIS 10.1的PC上编译的.NET应用程序。该应用程序包括一个用户界面和一个ArcGIS桌面扩展,以及一个Windows Installer调用的安装程序程序集,用于在安装过程中注册该桌面扩展。 我的问题是该应用程序无法在装有ArcGIS 10.2的PC上运行,因为未找到10.1 ESRI程序集,因此它崩溃了。从v9.3 ESRI开始,似乎不再提供发布者策略文件,从而在运行时将程序重定向到最新版本。 通过将运行时程序集绑定添加到应用程序的.exe.config中,我设法重定向了程序以加载10.2程序集。但是,这不会重定向桌面扩展,也不会解决安装程序在安装应用程序时寻找10.1库的问题。 ESRI的解决方案似乎是每次发布新版本的ArcGIS时都重新编译应用程序。但是,这意味着我将需要拥有最终用户使用的每个ArcGIS版本的副本。每次需要更改应用程序代码以重新编译时,我都必须卸载并重新安装不同的版本。 有没有人有什么建议?是否可以在运行时动态加载库以避免寻找特定版本?还有其他解决方案吗?

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.