随笔分类 -  ArcGIS Engine

摘要:做过C#版ae的都知道,操作同一个“对象”,用他的不同功能要转换到相应的接口,但java版有时不能直接做类型转换 例如下图在C#是可以的 但在java不行,这样转会报错,看IFeatureClass的定义,可以看到根本没继承IDataset 在java的转换方法是利用对应的Proxy类 PS:jav 阅读全文
posted @ 2019-06-24 16:57 cannel 阅读(420) 评论(0) 推荐(0)
摘要:前言:做ae开发大部分人都是用C#版,很少用到java版,本系列文章主要介绍java版ae开发的入门,对于ae接口的高级应用,可以看C#版相关文章 开发环境软件: Intellij IDEA 2018 java jdk 1.8 32位版 arcgis desktop 10.4.1 ArcObject 阅读全文
posted @ 2019-06-24 16:56 cannel 阅读(966) 评论(0) 推荐(0)
摘要://主地图的地图(map)对象 IMap map = null; IActiveView activeView = null; //IGraphicsContainer用于操作临时元素,可以通过map获取 IGraphicsContai... 阅读全文
posted @ 2019-06-23 21:04 cannel 阅读(1507) 评论(0) 推荐(0)
摘要:IMap map = null; //跟map同一层次的activeView对象,他们都是“地图”的对象,map管理地图内容,activeView管理显示内容 IActiveView activeView = map as IActiveView; //获取当前地图显示范围 ... 阅读全文
posted @ 2019-06-23 21:03 cannel 阅读(1763) 评论(0) 推荐(0)
摘要:IPoint point = new PointClass(); point.PutCoords(100, 200); //ITopologicalOperator接口用于几何对象的几何操作 ITopologicalOperator topo = point as ITopologicalOperat... 阅读全文
posted @ 2019-06-23 21:02 cannel 阅读(2628) 评论(0) 推荐(0)
摘要://此处用的workspace来源与用户选择 IWorkspace workspace = null; //workspace一般等同于数据库 //工作空间类型,也可理解为数据库类型 //esriFileSystemWorkspace... 阅读全文
posted @ 2019-06-23 20:56 cannel 阅读(1830) 评论(0) 推荐(0)
摘要://点操作~~~~~~~~~~~~~~~~~~~~~~~~~ //通过坐标生成点 IPoint point = new PointClass(); point.PutCoords(100, 200); //获取点坐标 double x = point... 阅读全文
posted @ 2019-06-23 20:55 cannel 阅读(3387) 评论(0) 推荐(0)
摘要://由于测试数据不完善,featureClass在此要只设null值,真实功能要设实际的值 IFeatureClass featureClass = null; //获取某个字段的索引,后面取字段值用到 int xxxFieldIdx = featureClass.F... 阅读全文
posted @ 2019-06-23 20:54 cannel 阅读(1535) 评论(0) 推荐(0)
摘要://由于测试数据不完善,featureClass在此要只设null值,真实功能要设实际的值 IFeatureClass featureClass = null; //获取某个字段的索引,后面取字段值用到 int xxxFieldIdx = featureClass.F... 阅读全文
posted @ 2019-06-23 20:54 cannel 阅读(1055) 评论(0) 推荐(0)
摘要://属性查询~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //IQueryFilter代表查询条件,QueryFilterClass代表只限于属性查询(就是没有空间查询) IQueryFilter queryFilter = new QueryF... 阅读全文
posted @ 2019-06-23 20:53 cannel 阅读(2219) 评论(0) 推荐(0)
摘要://IFeatureClass 来源请自行解决 IFeatureClass featureClass = null; //获取featureClass的各种名称 //PS:featureClass可以as到IDataset,因此不能只看接口名,并不是只有数据集才实现IDataset接口 ... 阅读全文
posted @ 2019-06-23 20:52 cannel 阅读(1813) 评论(0) 推荐(0)
摘要:arcgis的BS开发解决方案一直是个坑,主推的地图服务查询速度慢,需要异步,功能少。相对来说主要用于CS的AE功能更强大全面,只是部署有点复杂本文软件环境:win7 sp1 64位MyEclipse 10,jdk 1.6.45 32位,tomcat 6.0.41 32位,ArcGIS Deskto... 阅读全文
posted @ 2015-02-10 21:39 cannel 阅读(5287) 评论(0) 推荐(0)
摘要:ArcObjects SDK(以下简称AO)10.1只支持vs2010,如果装了vs2012,再安装AO会提示一串鸡肠(英文),意思是AO10.1只支持vs2010想在2012下安装,可以通过修改注册表方法欺骗安装验证,造成有vs2010的假象在注册表路径 HKEY_LOCAL_MACHINE\S... 阅读全文
posted @ 2014-04-21 20:43 cannel 阅读(4617) 评论(2) 推荐(3)
摘要:最近写一个程序,AE+C#,读shp字段属性,其中读到中文就乱码了这个问题比较奇怪,用AE很多年了,怎么突然就乱码呢,用Arcmap打开,没乱码,证明不是数据问题网上搜搜,很多人说是许可初始化的问题,用LicenseInitializer(IAoInitialize)乱码,改用LicenseCont... 阅读全文
posted @ 2014-04-14 11:43 cannel 阅读(3218) 评论(0) 推荐(0)
摘要:制图表达(Representation)就是如下图的东西,一个能把样式保存到数据而不用依赖mxd的东东。在ArcMap中添加这些有制图表达的图层,添加时就会自动加载制图表达作为样式。但在AE中,添加图层时制图表达不会自动使用,需要如下代码1.先获取IRepresentationWorkspaceExtension接口 IWorkspaceExtensionManager tWorkspaceExtManager = tWorkspace as IWorkspaceExtensionManager; UID tUID = new UID... 阅读全文
posted @ 2012-10-26 11:37 cannel 阅读(1937) 评论(0) 推荐(1)
摘要:众所周知,arcgis的标注设置是对整个图层的,那有没有办法获取某条要素的标注内容呢?当然有!!!分两步,第一步先获取layer级别的IAnnotationExpressionParser对象,获取标注内容靠他了 1 IAnnotationExpressionParser tAnnoExpParse = null; 2 3 IAnnotateLayerPropertiesCollection tAnnotateLayerPropertiesCollection = tGeoFeatureLayer.AnnotationProperties; 4... 阅读全文
posted @ 2012-05-03 14:05 cannel 阅读(2782) 评论(0) 推荐(0)
摘要:环境: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的数据库,在此环 阅读全文
posted @ 2012-01-21 00:10 cannel 阅读(565) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2011-03-24 08:49 cannel 阅读(3856) 评论(0) 推荐(0)