gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
阅读:1268回复:0

自相交对象的处理

楼主#
更多 发布于:2006-06-08 19:25
<TABLE width="100%">

<TR>
<TD class=subtitle colSpan=6>内容摘要</TD></TR>
<TR>
<TD class=txt colSpan=6>很多线划图数据进ArcSDE库中都会有些对象转换不进去。这些对象有很大一部分是由于数据本身有自相交的情况。如果这些线划图数据只是用来做底图,而不需要做对象分析。则可以采用数据简单化操作后再转换入ArcSDE中。具体操作如下例子:</TD></TR>
<TR>
<TD class=subtitle colSpan=6>过程描述</TD></TR>
<TR>
<TD class=txt colSpan=6>Private Sub SimplifyPolyLine(pPolyline As esriGeometry.Polyline)<BR>'通过QI取得线对象的拓扑操作接口<BR>Dim pTopologicalOperator As esriGeometry.ITopologicalOperator<BR>Set pTopologicalOperator = pPolyline<BR>'执行简单化操作<BR>pTopologicalOperator.Simplify<BR>'简单化操作完了的数据可以转换入ArcSDE中了<BR>'下面代码用来展示简单化后的线数据的每个部分<BR>Dim pGeometryCollection As esriGeometry.IGeometryCollection<BR>Set pGeometryCollection = pPolyline<BR><BR>Dim i As Long<BR>For i = 0 To pGeometryCollection.GeometryCount - 1<BR>Dim TempPolyline As esriGeometry.IGeometryCollection<BR>Dim TempPath As esriGeometry.IPath<BR><BR>Set TempPolyline = New esriGeometry.Polyline<BR>Set TempPath = pGeometryCollection.Geometry(i)<BR><BR>TempPolyline.AddGeometry TempPath<BR>MapControl1.FlashShape TempPolyline<BR><BR>Set TempPath = Nothing<BR>Set TempPolyline = Nothing<BR>Next i<BR><BR>End Sub<BR><BR>备注:点、线、面都可以执行简单化操作。可以根据不同的业务需求来使用这些功能。</TD></TR></TABLE>
喜欢0 评分0
GIS麦田守望者,期待与您交流。
游客

返回顶部