
1.跨平台
保持平台的兼容性,数据和路径的名称要以小写字母表示,路径要使用相对路径。
2.Interfaces
ArcObject中接口的命名统一以I开头,接口的代理类命名在接口名称后加上proxy,如下命名:
interface IArea: IUnknown public interface IArea{}
public class IAreaProxy implements IArea{}
ArcGIS API 提供了两种访问对象的方式:
/* Point实现了IPoint这个接口,采用向上转型的方式生成对象 */
IPoint iPoint = new com.esri.arcgis.geometry.Point();
/* 直接实例化 */
Point cPoint = new Point();
注意:不能通过缺省的代理类来访问对象,如下面方式:
IPointProxy proxyPoint = new IPointProxy();//错3.Classes
ArcObject提供了三种类:abstract classes, classes, and coclasses,abstract classes不可实例化,coclasses也称Comclasses,可以直接实例化,classes不可以直接实例化。
classes 类可以作为coclasses属性被创建,如下示例代码:
IWorkspaceFactory wf = new ShapefileWorkspaceFactory(); IFeatureWorkspace fw = new IFeatureWorkspaceProxy(wf.openFromFile("\path\to\data", 0) );
/* Create a feature class from FeatureWorkspace. */
IFeatureClass fc = fw.openFeatureClass("featureclass name");
4.Methods that take out parameters
关于转型的问题,ArcGIS API不允许向子类数组中传递超类类型,即使该数组已经被转换为超类类型。 下面是正确的出传递方法:IGeometry[] geoArray = { new Polyline()};
tin.interpolateShape(breakline, geoArray, null);
/* Cast the first array element as a Polyline. This is* the equivalent of calling QueryInterface on IGeometry.*/
IPolyline firstPolyLine = new IPolylineProxy(geoArray[0]);
分享到:
相关推荐
ArcObject作为ArcEngine的基础,提供了与ArcMap、ArcCatalog和ArcEditor等应用相同的API,使得开发者可以在各种环境中灵活地进行二次开发。 **2. 产品许可与开发模式** ArcGIS产品采用不同的许可模式,允许用户...
### ArcObject开发指南知识点概述 #### 一、ArcObject简介 ArcObject是ESRI公司提供的一套用于二次开发GIS(地理信息系统)应用的强大组件库。它基于COM技术,提供了丰富的API,涵盖了GIS软件开发的各个方面,包括...
ArcObject是ArcGIS的底层API,它包含了众多用于创建地图、管理地理数据、执行空间分析以及开发GIS桌面和服务器应用程序的接口和类。这些接口和类使得开发者能够利用C#、VB.NET、C++、Java等语言进行ArcGIS的二次开发...
### ArcObject 10.1 – ArcServer 开发 ArcObject 宝典 #### SOE (Server Object Extension) 介绍及开发指南 随着 ArcGIS 10.1 的发布,Esri 对其 Server 平台进行了重要的升级和改进,其中最显著的变化之一就是...
3. **开发过程**:使用VBA、VB、C#、Java等编程语言调用ArcObjects API来实现特定的功能。 **ArcGIS Engine开发** ArcGIS Engine是一个用于构建定制化GIS应用程序的组件集。开发基于ArcGIS Engine的AO组件应用,...