资源简介
在实际应用中经常会遇到面对象合并,如东三省合并为东北区。该范例实现了对象运算中的求交,合并,擦除,裁剪等功能。
代码片段和文件信息
package geometryOperate;
import java.awt.Color;
import java.io.File;
import com.supermap.data.CursorType;
import com.supermap.data.DatasetVector;
import com.supermap.data.Datasource;
import com.supermap.data.DatasourceConnectionInfo;
import com.supermap.data.EngineType;
import com.supermap.data.Geostyle;
import com.supermap.data.Geometrist;
import com.supermap.data.Geometry;
import com.supermap.data.Recordset;
import com.supermap.data.Workspace;
import com.supermap.mapping.Trackinglayer;
import com.supermap.ui.MapControl;
public class GeometryOperate
{
private Workspace myWorkspace;
private MapControl myMapControl;
private Datasource datasource;
private DatasetVector vector;
private Geometry geometry1;
private Geometry geometry2;
private Geometry resultGM;
private Trackinglayer trackinglayer;
public GeometryOperate(Workspace workspaceMapControl mapControl)
{
this.myWorkspace=workspace;
this.myMapControl=mapControl;
loadData();
}
/**
* 加载数据
*/
private void loadData()
{
try
{
File file=new File(“.“);
String str=file.getAbsolutePath().replace(“\\““/“);
String path=str.substring(0 str.length()-1)+“data/data.udb“;
// 打开数据源
DatasourceConnectionInfo conInfo = new DatasourceConnectionInfo(path “data“ ““);
conInfo.setEngineType(EngineType.UDB);
datasource=myWorkspace.getDatasources().open(conInfo);
vector=(DatasetVector) datasource.getDatasets().get(0);
myMapControl.getMap().setWorkspace(myWorkspace);
myMapControl.getMap().getlayers().add(vector true);
myMapControl.getMap().viewEntire();
myMapControl.getMap().refresh();
trackinglayer=myMapControl.getMap().getTrackinglayer();
getGeometry();
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
/**
* 获取两个面对象
*/
private void getGeometry()
{
try
{
Recordset recordset1=vector.query(“SMID=1“ CursorType.STATIC);
Recordset recordset2=vector.query(“SMID=2“ CursorType.STATIC);
geometry1=recordset1.getGeometry();
geometry2=recordset2.getGeometry();
recordset1.dispose();
recordset2.dispose();
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
/**
* 设置结果对象的风格
*/
private Geostyle setGeostyle()
{
Geostyle style=new Geostyle();
style.setFillForeColor(Color.red);
style.setFillOpaqueRate(36);
return style;
}
/**
* 两个面对象求交
*/
public void intersect()
{
try
{
trackinglayer.clear();
resultGM=Geometrist.intersect(geometry1 geometry2);
resultGM.setstyle(setGeostyle());
trackinglayer.add(resultGM “相交“);
myMapControl.getMap().refresh();
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
/**
* 两个面对象合并
*/
public void union()
{
try
{
trackinglayer.clear();
resultGM=Geometrist.union(geometry1 geometry2);
resultGM.setstyle(setGeostyle());
trackinglayer.add(resultGM
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-10-26 17:04 GeometryOperate\
文件 746 2012-10-23 13:23 GeometryOperate\.classpath
文件 391 2012-10-23 13:21 GeometryOperate\.project
目录 0 2012-10-23 13:21 GeometryOperate\.settings\
文件 629 2012-10-23 13:21 GeometryOperate\.settings\org.eclipse.jdt.core.prefs
目录 0 2012-10-23 14:22 GeometryOperate\bin\
目录 0 2012-10-23 15:18 GeometryOperate\bin\geometryOperate\
文件 5539 2012-10-23 15:27 GeometryOperate\bin\geometryOperate\GeometryOperate.class
文件 665 2012-10-23 15:21 GeometryOperate\bin\geometryOperate\Mainfr
文件 1357 2012-10-23 15:21 GeometryOperate\bin\geometryOperate\Mainfr
文件 853 2012-10-23 15:21 GeometryOperate\bin\geometryOperate\Mainfr
文件 849 2012-10-23 15:21 GeometryOperate\bin\geometryOperate\Mainfr
文件 849 2012-10-23 15:21 GeometryOperate\bin\geometryOperate\Mainfr
文件 848 2012-10-23 15:21 GeometryOperate\bin\geometryOperate\Mainfr
文件 849 2012-10-23 15:21 GeometryOperate\bin\geometryOperate\Mainfr
文件 3828 2012-10-23 15:21 GeometryOperate\bin\geometryOperate\Mainfr
目录 0 2012-10-23 15:28 GeometryOperate\data\
文件 1344 2012-10-23 13:57 GeometryOperate\data\data.udb
文件 81920 2012-10-23 13:57 GeometryOperate\data\data.udd
文件 111630 2012-10-26 17:04 GeometryOperate\GeometryOperate.pdf
目录 0 2012-10-23 13:22 GeometryOperate\src\
目录 0 2012-10-23 13:24 GeometryOperate\src\geometryOperate\
文件 4031 2012-10-23 15:27 GeometryOperate\src\geometryOperate\GeometryOperate.java
文件 3589 2012-10-23 15:21 GeometryOperate\src\geometryOperate\Mainfr
相关资源
- 使用iServer REST API发布工作空间Java
- 精典java游戏合集 欢迎大家
- java马里奥
- 关于java的外文文献中英对照
- 基于Java Web技术开发的BBS论坛系统源代
- Java编程实战宝典-配套光盘
- Java多线程断点Sample
- JAVA混淆工具Allatori-5.9-Demo帮助文档中
- JAVA网吧计费系统194190
- java开发的商店收银系统
- java课程设计加密解密
- 烽火java面试题
- java,软件工程毕设英文文献中英文翻
- Java编写的吃豆人小游戏
- java使用后缀表达式实现计算器
- 学生选课管理系统_java_MySQL
- 苏苏爱自由-java扫雷小游戏
- java 串口通信包RXTXComm.jar windows 64位
- Java防篡改方式
- Java单元测试基础
- java web 聊天室 源码
- 多目标进化算法java程序
- Java_Modbus的操作()
- 2019年Java程序设计总复习题库及答案
- commons-dbcp-1.4.jar、commons-pool-1.5.6.jar、
- JSP开发的网络书店以及论文
- java操作微软队列消息(MSMQ)项目源码
- java语言与面向对象程序设计课后习题
- 许愿墙java 源码
- Javaopencv打开窗体显示摄像头
评论
共有 条评论