zoukankan      html  css  js  c++  java
  • 如何实现几何要素的剪切

    如何实现几何要素的剪切

     IFeatureEdit Example

    ‘Assume pSet (ISet) and pMoveVector (ILine) already exist.
    Dim pUnknown As IUnknown, pFeatureEdit As IFeatureEdit
    Set pUnknown = pSet.Next

    Do While pUnknown Is Not Nothing
      Set pFeatureEdit = pUnknown
      pFeatureEdit.MoveSet pSet, pMoveVector
      Set pUnknown = pSet.Next
    Loop

    The following code is an example of one way you could split a selected polygon features by a polyline.

    Public Sub SplitFeatures(pSelectionSet As ISelectionSet, pPolyLine As IPolyline)

    ‘ open a feature cursor on the selected features that
    ‘ intersect the splitting geometry
    Dim pFeatCursor As IFeatureCursor
    Dim pSpatialFilter As ISpatialFilter
    Set pSpatialFilter = New SpatialFilter
    Set pSpatialFilter.Geometry = pPolyLine
    pSelectionSet.Search pSpatialFilter, True, pFeatCursor

    ‘ Clean up the splitting geometry
    ‘ This is necessary because, for polygons, IFeatureEdit::Split
    ‘ relies internally on ITopologicalOperator::Cut
    Dim pTopoOpo As ITopologicalOperator
    Set pTopoOpo = pPolyLine
    pTopoOpo.Simplify

    ‘ Loop through the features and split them
    Dim pFeature As IFeature
    Set pFeature = pFeatCursor.NextFeature

    Do Until pFeature Is Nothing
      Dim pFeatureEdit As IFeatureEdit
      Set pFeatureEdit = pFeature
      pFeatureEdit.Split pPolyLine
      Set pFeature = pFeatCursor.NextFeature
    Loop

    End Sub

  • 相关阅读:
    LWE Open Question
    Lattice Problem
    Small Program about Error Distribution
    Photon Server伺服务器在LoadBalancing的基础上扩展登陆服务
    Photon PUN 三 RPCs & RaiseEvent
    Photon PUN 二 大厅 & 房间
    Photon PUN 一 介绍
    通用麻将胡牌算法
    一款麻将小游戏的准备工作
    ABC203
  • 原文地址:https://www.cnblogs.com/lauer0246/p/1287393.html
Copyright © 2011-2022 走看看