ArcObject Java API 开发概述

 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]);
 
  

   

你可能感兴趣的:(java)