ArcGIS实践教程(24)ArcGIS/ArcMap中根据确定的点画出以他相应的点
发布时间: 2017-07-05
所属分类: ArcGIS实践教程
例如:我在地图上已经指导了一个一直点,而其他的点在地图上都是以他为中心画出来的。学校 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实践教程汇总
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。
手机阅读
公众号关注
知识星球
手机阅读
最新GIS干货
私享圈子