zoukankan      html  css  js  c++  java
  • 合并要素how to use "ConstructUnion"

    合并要素--how to use "ConstructUnion"

     参考:http://forums.esri.com/Thread.asp?c=93&f=1170&t=80838

     The following VBA macro creates a graphic element that is the union of all selected polygons in the map. The union is constructed using a geometry bag.

    Sub UnionFeatures()

    Dim pMxDoc As IMxDocument

    Dim pEnumFeature As IEnumFeature

    Dim pFeature As IFeature

    Dim pGeoBag As IGeometryBag

    Dim pGeoCollection As IGeometryCollection

    Dim pTopoOp As ITopologicalOperator2

    Dim pPolygon As IPolygon

    Dim pPolygonElement As IPolygonElement

    Dim pElement As IElement

    Dim pGC As IGraphicsContainer



    Set pMxDoc = ThisDocument

    Set pEnumFeature = pMxDoc.FocusMap.FeatureSelection

    pEnumFeature.Reset

    Set pGeoBag = New GeometryBag

    Set pGeoCollection = pGeoBag



    Set pFeature = pEnumFeature.Next

    Do While Not pFeature Is Nothing

    If pFeature.Shape.GeometryType = esriGeometryPolygon Then

    Set pTopoOp = pFeature.ShapeCopy

    pTopoOp.IsKnownSimple = False

    pTopoOp.Simplify

    pGeoCollection.AddGeometry pTopoOp

    End If



    Set pFeature = pEnumFeature.Next

    Loop



    Set pTopoOp = New Polygon

    pTopoOp.ConstructUnion pGeoBag

    Set pPolygon = pTopoOp

    Set pGC = pMxDoc.FocusMap

    Set pPolygonElement = New PolygonElement

    Set pElement = pPolygonElement

    pElement.Geometry = pPolygon

    pGC.AddElement pElement, 0

    pMxDoc.ActiveView.Refresh

    End Sub



  • 相关阅读:
    Vue监听器、过滤器
    Vue生命周期、计算属性
    数组去重
    ES6总结
    学习笔记--html篇(1)
    学习整理--flex布局(1)
    对块作用域与变量函数提升再添新认识
    了解使用web workers
    js中的事件循环模型与特殊的定时器
    操作系统、浏览器与js之间的一些概念与联系
  • 原文地址:https://www.cnblogs.com/lauer0246/p/1287401.html
Copyright © 2011-2022 走看看