|
阅读:1268回复:0
自相交对象的处理
<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> |
|
|