麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

ArcGIS实践教程(24)ArcGIS/ArcMap中根据确定的点画出以他相应的点

例如:我在地图上已经指导了一个一直点,而其他的点在地图上都是以他为中心画出来的。学校  SE60度,140米  意思是学校在中心点南偏东60度,距离是140米,这样的点在arcmap中怎么加呢?我的方法有二分别如下。

方法一手动添加

确定已有一个点图层,其中有学校,然后对该图层开始编辑,选择工具栏editor---direction-distance tool, 以中心点为中心,先画角度线(arcmap左下角会有角度提示),再画距离/半径(注:画的过程中点击A键可以输入角度值,点击D键可以输入距离值)

确定,即可

方法二直接编写代码实现

下面是一段示例的VBA代码(本段代码作者:GIS空间站 knight_sl)

Option Explicit

Dim dPoint(2, 1) As Double

Sub aaa()

Call bbb

Dim aa As IMxDocument

Set aa = ThisDocument

Dim pFLyr As IFeatureLayer

Set pFLyr = aa.FocusMap.Layer(0)

Dim pFCsr As IFeatureCursor

Dim pFt As IFeature

Set pFCsr = pFLyr.FeatureClass.Update(Nothing, False)

Set pFt = pFCsr.NextFeature

Dim pPoint As IPoint

Set pPoint = pFt.ShapeCopy

Dim pNewPoint As IPoint

Dim X0 As Double, Y0 As Double

Dim X As Double, Y As Double

Dim dAngle As Double

Dim i As Long

For i = 0 To UBound(dPoint, 1)

Set pFt = pFLyr.FeatureClass.CreateFeature

Set pNewPoint = New Point

dAngle = dPoint(i, 0) \* 3.14159263579893 / 180

pNewPoint.X = dPoint(i, 1) \* Cos(dAngle) + pPoint.X

pNewPoint.Y = dPoint(i, 1) \* Sin(dAngle) + pPoint.Y

Set pFt.Shape = pNewPoint

pFt.Store

Next

Set pFLyr = Nothing

Set pFCsr = Nothing

Set pFt = Nothing

Set pPoint = Nothing

Set pNewPoint = Nothing

End Sub

Sub bbb()

定义新加三个点的角度和距离

dPoint(0, 0) = 10

dPoint(0, 1) = 150

dPoint(1, 0) = 30

dPoint(1, 1) = 170

dPoint(2, 0) = 120

dPoint(2, 1) = 200

End Sub

这中方法做起来需要一点编程经验,但是比上面那中一个一个的画的方法要先进多了,可以把所有的点录入同时画出来。

手册目录

本手册的全部内容:ArcGIS实践教程汇总

相关阅读

麻辣GIS-Christina

作者:

地理小学生。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)