Java调用AE实现创建泰森多边形(voronoi图)
2014-07-03 13:17
477 查看
在网上搜索 AE 创建泰森多边形,都是基于VB或者C#的,
鉴于C#和Java相近,就将C#的代码翻译成Java,
但修改后的程序运行无结果,
经多次尝试,
生成tin的方法addFromFeatureClass中,第三个参数需指定,即HeightField(泰森多边形无需高程信息,不知为何必须设置),
终于获得了泰森多边形。
现把代码共享,如下:
鉴于C#和Java相近,就将C#的代码翻译成Java,
但修改后的程序运行无结果,
经多次尝试,
生成tin的方法addFromFeatureClass中,第三个参数需指定,即HeightField(泰森多边形无需高程信息,不知为何必须设置),
终于获得了泰森多边形。
现把代码共享,如下:
public void CreatVoronoi(IFeatureClass pointFeaCls,IFeatureClass voronoiFeaCls,IPolygon clippingPolygon){ try { if (pointFeaCls.getShapeType() == esriGeometryType.esriGeometryPoint) { if(pointFeaCls.featureCount(null)>2) { // FeatureClass fc=new FeatureClass(pointFeaCls); IEnvelope pEnv =clippingPolygon.getEnvelope();// (IEnvelope)fc.getExtent(); pEnv.setSpatialReferenceByRef(clippingPolygon.getSpatialReference()); ITinEdit pTinEdit = new Tin(); pTinEdit.initNew(pEnv); pTinEdit.addFromFeatureClass(pointFeaCls, null, pointFeaCls.getFields().getField(0) , null, esriTinSurfaceType.esriTinMassPoint, null); pTinEdit.refresh(); ITinNodeCollection pTinNodeCollection = (ITinNodeCollection)pTinEdit; pTinNodeCollection.convertToVoronoiRegions(voronoiFeaCls, null, clippingPolygon,"",""); System.out.println("voronoiFeaCls:"+voronoiFeaCls.featureCount(null)); } else System.out.println("必须输入至少3个点!"); } else System.out.println("必须输入点数据!"); } catch (AutomationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } // return voronoiFeaCls; }
相关文章推荐
- JAVA基于AE调用GP实现泰森多边形
- JAVA基于AE调用GP实现泰森多边形
- arcgis java调用AE多波段合成实现
- java调用mysql的工具类实现数据库远程备份,还原,生成创建表的sql脚本
- 用java实现外部调用exe文件
- JAVA实现动态类的调用简单例子
- Java调用Linux命令的实现例子
- 如何在Java中实现远程方法调用
- 利用WSDL2JAVA实现JAVA调用.Net的Web Services(1)
- 利用动态创建自动化接口实现VB的函数指针调用
- 在java中实现调用简单的c程序
- 用java实现外部调用exe文件
- java中调用c(c++)写的dll文件的实现及步骤(转)
- xFire实现Java间自定义类型的WebService调用(二)
- java和asp.net之间web Service的创建和调用(2)
- 用java实现外部调用exe文件
- 操作系统进程调用的5种算法 java实现
- 用java实现外部调用exe文件
- 使用开放源代码框架的 Java 应用程序的 Web 服务集成模式,第 1 部分: 实现调用模式
- 如何在Java中实现远程方法调用