ARCGIS PRO SDK VB2022 创建线要素

Private Async Sub Button_Click_1(sender As Object, e As Windows.RoutedEventArgs)
       MapView = MapView.Active
    '获取地图视图的关联地图
    Map = MapView.Map
    ttp = 0
    '获取的图层
    Dim ttp As Integer
    For it = 0 To Map.Layers.Count - 1
        If Map.Layers(it).Name = "权属界线" Then
            Layer = CType(Map.Layers(it), FeatureLayer)
            ttp = 1
            Exit For
        End If
    Next
    If ttp = 0 Then
        MsgBox("权属界线层不存在。")
        Exit Sub
    End If
    Await QueuedTask.Run(Sub()
                             pfeatureClass = Layer.GetFeatureClass
                             Dim FeatureClassDefinition As FeatureClassDefinition = pfeatureClass.GetDefinition()
                             Dim rowBuffer As RowBuffer = pfeatureClass.CreateRowBuffer
                             '线的顶点坐标
                             Dim pts As List(Of Coordinate2D)
                             pts = New List(Of Coordinate2D)
                             pts.Add(New Coordinate2D(36598007.000, 3792900.000))
                             pts.Add(New Coordinate2D(36598700.000, 3792900.000))
                             pts.Add(New Coordinate2D(36598820.000, 3792900.000))
                             pts.Add(New Coordinate2D(36598860.000, 3793000.000))
                             pts.Add(New Coordinate2D(36598890.000, 3793000.000))
                             pts.Add(New Coordinate2D(36599000.000, 3793000.000))
                             pts.Add(New Coordinate2D(36598950.000, 3792000.000))
                            '添加要素属性字段
                             rowBuffer("左宗地号") = "z123"
                             rowBuffer("左权利人") = "z456"
                             rowBuffer("右宗地号") = "y123"
                             rowBuffer("右权利人") = "y789"
                             rowBuffer(FeatureClassDefinition.GetShapeField()) = New PolylineBuilderEx(pts).ToGeometry
                             Dim pfeature As Feature = pfeatureClass.CreateRow(rowBuffer)
                         End Sub)
    Me.Close()
End Sub

### 如何在 ArcGIS Pro 中添加或制作国境线图例 #### 使用现有数据集添加国境线 为了在 ArcGIS Pro 中显示国境线,可以利用现有的地理空间数据库。ESRI 提供了一系列预构建的数据层,其中包括全球各国边界矢量文件[^1]。 可以在 ArcGIS Online 上搜索并下载国家边界的 shapefile 或 feature class 文件。这些资源可以直接加载到项目中作为底图的一部分来展示国际边界。 ```python import arcpy # 设置工作环境 arcpy.env.workspace = "C:/data" # 添加在线服务中的世界国界要素类 arcpy.management.AddXY(r"C:\path\to\borders.shp") # 将其加入当前地图文档的地图框架内 aprx = arcpy.mp.ArcGISProject("CURRENT") map = aprx.listMaps()[0] lyrFile = aprx.homeFolder + "\\World_Boundaries.lyrx" map.addLayer(arcpy.Layer(lyrFile)) ``` #### 创建自定义国境线样式 如果需要更精确地控制国境线的表现形式,则可以通过编辑 symbology 来定制线条的颜色、宽度和其他视觉属性。这允许用户根据具体需求调整国境线的外观以适应不同的应用场景。 对于高级用户来说,还可以通过编写 Python 脚本来批量处理多个图层的符号设置: ```python for lyr in map.listLayers(): if isinstance(lyr, FeatureLayer) and 'boundary' in lyr.name.lower(): sym = lyr.symbology sym.renderer.symbol.color = {'RGB': [255, 0, 0]} sym.renderer.symbol.width = 2.5 lyr.symbology = sym ``` 此外,在某些情况下可能还需要手动绘制特定区域内的国境线。此时可借助于 Editor 工具条下的 Sketch 功能完成这一操作,并将其保存为新的要素类以便后续重复使用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值