随笔分类 - ArcGIS Engine
摘要:做过C#版ae的都知道,操作同一个“对象”,用他的不同功能要转换到相应的接口,但java版有时不能直接做类型转换 例如下图在C#是可以的 但在java不行,这样转会报错,看IFeatureClass的定义,可以看到根本没继承IDataset 在java的转换方法是利用对应的Proxy类 PS:jav
阅读全文
摘要:前言:做ae开发大部分人都是用C#版,很少用到java版,本系列文章主要介绍java版ae开发的入门,对于ae接口的高级应用,可以看C#版相关文章 开发环境软件: Intellij IDEA 2018 java jdk 1.8 32位版 arcgis desktop 10.4.1 ArcObject
阅读全文
摘要://主地图的地图(map)对象 IMap map = null; IActiveView activeView = null; //IGraphicsContainer用于操作临时元素,可以通过map获取 IGraphicsContai...
阅读全文
摘要:IMap map = null; //跟map同一层次的activeView对象,他们都是“地图”的对象,map管理地图内容,activeView管理显示内容 IActiveView activeView = map as IActiveView; //获取当前地图显示范围 ...
阅读全文
摘要:IPoint point = new PointClass(); point.PutCoords(100, 200); //ITopologicalOperator接口用于几何对象的几何操作 ITopologicalOperator topo = point as ITopologicalOperat...
阅读全文
摘要://此处用的workspace来源与用户选择 IWorkspace workspace = null; //workspace一般等同于数据库 //工作空间类型,也可理解为数据库类型 //esriFileSystemWorkspace...
阅读全文
摘要://点操作~~~~~~~~~~~~~~~~~~~~~~~~~ //通过坐标生成点 IPoint point = new PointClass(); point.PutCoords(100, 200); //获取点坐标 double x = point...
阅读全文
摘要://由于测试数据不完善,featureClass在此要只设null值,真实功能要设实际的值 IFeatureClass featureClass = null; //获取某个字段的索引,后面取字段值用到 int xxxFieldIdx = featureClass.F...
阅读全文
摘要://由于测试数据不完善,featureClass在此要只设null值,真实功能要设实际的值 IFeatureClass featureClass = null; //获取某个字段的索引,后面取字段值用到 int xxxFieldIdx = featureClass.F...
阅读全文
摘要://属性查询~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //IQueryFilter代表查询条件,QueryFilterClass代表只限于属性查询(就是没有空间查询) IQueryFilter queryFilter = new QueryF...
阅读全文
摘要://IFeatureClass 来源请自行解决 IFeatureClass featureClass = null; //获取featureClass的各种名称 //PS:featureClass可以as到IDataset,因此不能只看接口名,并不是只有数据集才实现IDataset接口 ...
阅读全文
摘要:arcgis的BS开发解决方案一直是个坑,主推的地图服务查询速度慢,需要异步,功能少。相对来说主要用于CS的AE功能更强大全面,只是部署有点复杂本文软件环境:win7 sp1 64位MyEclipse 10,jdk 1.6.45 32位,tomcat 6.0.41 32位,ArcGIS Deskto...
阅读全文
摘要:ArcObjects SDK(以下简称AO)10.1只支持vs2010,如果装了vs2012,再安装AO会提示一串鸡肠(英文),意思是AO10.1只支持vs2010想在2012下安装,可以通过修改注册表方法欺骗安装验证,造成有vs2010的假象在注册表路径 HKEY_LOCAL_MACHINE\S...
阅读全文
摘要:最近写一个程序,AE+C#,读shp字段属性,其中读到中文就乱码了这个问题比较奇怪,用AE很多年了,怎么突然就乱码呢,用Arcmap打开,没乱码,证明不是数据问题网上搜搜,很多人说是许可初始化的问题,用LicenseInitializer(IAoInitialize)乱码,改用LicenseCont...
阅读全文
摘要:制图表达(Representation)就是如下图的东西,一个能把样式保存到数据而不用依赖mxd的东东。在ArcMap中添加这些有制图表达的图层,添加时就会自动加载制图表达作为样式。但在AE中,添加图层时制图表达不会自动使用,需要如下代码1.先获取IRepresentationWorkspaceExtension接口 IWorkspaceExtensionManager tWorkspaceExtManager = tWorkspace as IWorkspaceExtensionManager; UID tUID = new UID...
阅读全文
摘要:众所周知,arcgis的标注设置是对整个图层的,那有没有办法获取某条要素的标注内容呢?当然有!!!分两步,第一步先获取layer级别的IAnnotationExpressionParser对象,获取标注内容靠他了 1 IAnnotationExpressionParser tAnnoExpParse = null; 2 3 IAnnotateLayerPropertiesCollection tAnnotateLayerPropertiesCollection = tGeoFeatureLayer.AnnotationProperties; 4...
阅读全文
摘要:环境:ArcGIS Engine 10,vs2008sp1,windows7 sp1 64bit,数据库客户端(第2点会讲),数据库服务端oracle10.2最近在此环境下配置开发环境,分享一下心得1.首先是AE10在win7 64位下的设置。根据esri官方的FAQ(地址:http://support.esri.com/en/knowl ... ticles/detail/38343),AE 10是原生的32位程序,因此如果要在64位环境下运行,要在vs的项目属性中,把“目标平台”设为x86,也就是32位。2.关于oracle客户端的版本。我们系统还会直连oracle10.2的数据库,在此环
阅读全文
摘要:Maplex类型标注是AE标注的其中一种方式,现提供一简单使用例子 1 /// <summary> 2 /// MaplexEngine标注 3 /// </summary> 4 /// <param name="pGeoFeatLyr">标注图层</param> 5 /// <param name="pMap">地球人都知</param> 6 /// <param name="annoField">标记字段</param> 7 publi
阅读全文