GIS to the limit
博客园
首页
新随笔
联系
订阅
管理
随笔 - 31 文章 - 0 评论 - 149 trackbacks - 36
<
2007年11月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(2)
给我留言
查看留言
我的标签
gis
(1)
arcgis
(1)
随笔分类
.net(21)
ArcEngine(4)
ArcGIS Desktop(1)
ArcGIS Server(4)
ASP.NET(1)
cab(1)
jQuery(1)
Resharper(9)
REST(2)
Silverlight(7)
SQL Server(1)
Windows(1)
Winform(1)
随笔档案
2008年8月 (2)
2008年7月 (2)
2008年3月 (5)
2008年2月 (5)
2008年1月 (3)
2007年12月 (10)
2007年11月 (2)
相册
BlogImage
收藏夹
ajax(3)
ASP.net(6)
css(1)
DataAccess(2)
Javascript(3)
tools(2)
调试(1)
架构(2)
积分与排名
积分 - 38213
排名 - 1053
最新评论
1. re: ESRI提供的一个Silverlight地图示例
好东西啊!正打算尝试这方面的东西!
--雷光斌(gis)
2. re: ArcEngine开发之Command控件开发篇
非常棒,谢谢
COPY了学习一下
--garu
3. re: (译)Web地图设计模式——ArcGIS Server
sorry,更新了一下,在最前面有原文的地址
--Ren
4. re: (译)Web地图设计模式——ArcGIS Server
难得的GIS好文章啊,不知道原文出处具体在哪?
--tiro
5. re: 在ArcGIS Desktop中进行三参数或七参数精确投影转换
支持,不过我有些忙
少写点啊
--gislongych
阅读排行榜
1. Resharper上手指南(4388)
2. 为你开始silverlight理清认识(2797)
3. 隆重推荐一本介绍silverlight1.1的电子书(2672)
4. 终于,Silverlight2.0 beta1就要揭开面纱(2370)
5. SQL Server 2008 新特性(2350)
评论排行榜
1. Resharper上手指南(32)
2. 为你开始silverlight理清认识(28)
3. Resharper进阶三:快速完成(18)
4. 隆重推荐一本介绍silverlight1.1的电子书(12)
5. Resharper进阶一:简要介绍(10)
如何调用ITopologicalOperator.Union方法成功地merge polygon
为什么题目要加个“成功地”,因为
ITopologicalOperator
的方法是bug非常多的,在90%的情况下能够按照你预想的工作,但是在10%的情况下,既不报错也不工作。这个merge的操作,成功地折磨了我两天。终于找到了解决的方法。
ICursor pCursor;
featureSelect.SelectionSet.Search(
null
,
false
,
out
pCursor);
IFeatureCursor pFeatureCursor
=
pCursor
as
IFeatureCursor;
IFeature pFeatureFirst
=
pFeatureCursor.NextFeature();
//
开始一个编辑操作,以能够撤销
m_EditWorkspace.StartEditOperation();
IGeometry pGeometryFirst
=
pFeatureFirst.Shape;
ITopologicalOperator2 topo_oper
=
(ITopologicalOperator2)pGeometryFirst;
//
ITopologicalOperator的操作是bug很多的,先强制的检查下面三个步骤,再进行操作
//
成功的可能性大一些
topo_oper.IsKnownSimple_2
=
false
;
topo_oper.Simplify();
pGeometryFirst.SnapToSpatialReference();
//
这是准备合并的图斑使用的
ITopologicalOperator2 topo_oper2;
IGeometry pGeometryNext;
IFeature pFeatureNext
=
pFeatureCursor.NextFeature();
while
(pFeatureNext
!=
null
)
{
pGeometryNext
=
pFeatureNext.ShapeCopy;
//
与上面的同理
topo_oper2
=
pGeometryNext
as
ITopologicalOperator2;
topo_oper2.IsKnownSimple_2
=
false
;
topo_oper2.Simplify();
pGeometryNext.SnapToSpatialReference();
//
这才是合并图斑的关键
pGeometryFirst
=
topo_oper.Union(pGeometryNext);
pFeatureNext.Delete();
pFeatureNext
=
pFeatureCursor.NextFeature();
}
topo_oper.IsKnownSimple_2
=
false
;
topo_oper.Simplify();
pFeatureFirst.Shape
=
pGeometryFirst;
pFeatureFirst.Store();
m_EditWorkspace.StopEditOperation();
posted on 2007-11-30 11:14
Ren
阅读(397)
评论(2)
编辑
收藏
所属分类:
ArcEngine
FeedBack:
#1楼
2007-12-11 19:22
xc#
Simplify 也不能滥用 闭合的实体会出问题
回复
引用
查看
#2楼
[
楼主
]
2007-12-11 19:34
任佶
这也是没办法的办法
回复
引用
查看
社区
新闻
新用户注册
刷新评论列表
标题
姓名
主页
Email
(只有博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
所属分类的其他文章:
·
ArcObject开发中颜色的处理
·
ArcEngine开发之Command控件开发篇
·
ArcEngine开发之Command控件使用篇
·
如何调用ITopologicalOperator.Union方法成功地merge polygon
最新IT新闻:
·
英特尔雅虎开发网络计算机频道
·
Windows Live视频邮件9月9日开始测试
·
Intel首次公开展示Nehalem架构迅驰3平台
·
Pogo浏览器
·
洪磊口述:番茄花园如何捆绑流氓软件月入十万
博客园新闻频道
博客园首页
社区