您的位置:首页 > 移动开发 > Android开发

iMobile for Android技术文章-面自动裁剪

2016-05-03 08:31 363 查看
作者:皇皇

使用iMobile for Android添加面,绘制面的时候会遇到两个面对象相邻,但不相交,屏幕上绘制又不方便点击边界点,所以需要通过程序来自动裁剪。以下就是实现的思路及关键代码。

绘制面对象的时候和已有面重叠一部分,如图1



图一

提交编辑的时候进行空间查询,查询到与新绘制的面(georegion)相交的所有对象

Recordset recordset = datasetVector.query(georegion, 0.001, CursorType.DYNAMIC);
循环Recordset,与新绘制的面(georegion)进行擦除操作
recordset.moveFirst();
while (!recordset.isEOF()) {
if(recordset.getFieldValue("SMID").equals(id))
{
recordset.moveNext();
continue;
}
georegion=(GeoRegion)Geometrist.erase(georegion,recordset.getGeometry());
recordset.moveNext();
}


循环擦除完成后用新面对象替换已有的面对象

recordset.edit();
recordset.setGeometry(georegion);
recordset.update();


结果如图二



图二

完整代码关联地址:http://support.supermap.com.cn/product/search.aspx?querystr=自动裁剪
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: