zoukankan      html  css  js  c++  java
  • vba 生成点的矩形buffer

    Private Sub CommandButton1_Click()

    Dim pMxDoc As IMxDocument
    Set pMxDoc = Application.Document

    Dim pMap As IMap
    Set pMap = pMxDoc.FocusMap

    Dim pActiveView As IActiveView
    Set pActiveView = pMxDoc.FocusMap

    Dim pFeatureClass As IFeatureClass
    Dim pFLayer As IFeatureLayer
    Set pFLayer = pMap.Layer(0)
    Set pFeatureClass = pFLayer.FeatureClass
    Dim pFeatureCursor As IFeatureCursor
    Set pFeatureCursor = pFeatureClass.Search(Nothing, True)

    Dim totalcount As Integer
    totalcount = pFeatureClass.FeatureCount(Nothing)


    Dim pFeature As IFeature
    Set pFeature = pFeatureCursor.NextFeature

    Dim xmax As Double
    Dim ymax As Double
    Dim xmin As Double
    Dim ymin As Double


    Dim pPoint As IPoint
    Dim pPolygon As IPolygon
    Dim pArea As IArea
    Dim pNewPolygon As IPolygon
    Dim pNewPoints As IPointCollection
    Dim pNewPoint As IPoint


    Dim count As Integer
    count = 0

    Dim xdistance As Double
    xdistance = CDbl(TextBox1.Text)
    Dim ydistance As Double
    ydistance = CDbl(TextBox2.Text)

     
    While Not pFeature Is Nothing
      
       Set pPolygon = pFeature.Shape
       Set pArea = pPolygon
       Set pPoint = pArea.Centroid
      

       xmax = pPoint.X + xdistance
       ymax = pPoint.Y + ydistance
       xmin = pPoint.X - xdistance
       ymin = pPoint.Y - ydistance
      
       Set pNewPoints = New Polygon
      
       Set pNewPoint = New Point
       pNewPoint.X = xmin
       pNewPoint.Y = ymax
       pNewPoints.AddPoint pNewPoint
      
        Set pNewPoint = New Point
       pNewPoint.X = xmax
       pNewPoint.Y = ymax
       pNewPoints.AddPoint pNewPoint
      
       Set pNewPoint = New Point
       pNewPoint.X = xmax
       pNewPoint.Y = ymin
       pNewPoints.AddPoint pNewPoint

       Set pNewPoint = New Point
       pNewPoint.X = xmin
       pNewPoint.Y = ymin
       pNewPoints.AddPoint pNewPoint

      
       Set pNewPolygon = pNewPoints
       pNewPolygon.Close
      
       Set pFeature.Shape = pNewPolygon
       pFeature.Store
      
     
       Set pFeature = pFeatureCursor.NextFeature
      
       count = count + 1
      
      Label1.Caption = "第" & count & "个" & " / " & "共计:" & totalcount
     
      UserForm1.Repaint

    Wend

      MsgBox "done!"
    End Sub
    ————————————————————————————————————————————————————

    Sub point2polygon()

    UserForm1.Show

    End Sub

  • 相关阅读:
    对于石家庄铁道大学软件个人总结
    Android Studio安装
    典型用户模板和用户场景模板
    java+jsp+sql server实现网页版四则运算.
    四则运算一
    学习进度
    构建之法阅读笔记(一)
    记账本小程序7天开发记录(第一天)
    javabean+jsp+servlet+jdbc从软件安装到开发实例
    编写一个文件分割工具,能把一个大文件分割成多个小的文件。并且能再次把它们合并起来得到完整的文件。
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1963605.html
Copyright © 2011-2022 走看看