工作流原理与GIS
工作流、GIS在信息系统的应用
首页
新随笔
联系
管理
随笔分类
(55)
GIS原理(40)
(rss)
工作流原理(9)
(rss)
工作流应用(6)
(rss)
随笔档案
(58)
2014年4月 (1)
2013年6月 (1)
2013年2月 (4)
2012年2月 (5)
2011年11月 (2)
2011年4月 (1)
2010年11月 (1)
2010年2月 (1)
2009年12月 (2)
2008年10月 (1)
2008年9月 (3)
2008年8月 (10)
2008年7月 (2)
2008年6月 (1)
2008年4月 (1)
2008年2月 (3)
2007年4月 (18)
2007年3月 (1)
最新随笔
1. ARCGISMAPGISMAPINFOCAD配准方法汇总
2. SOA的三个基础部件的SOAP,WSDL,UDDI
3. 地理信息系统为国土安全服务
4. 燃气输配管网完整性管理初探
5. 公安110报警系统
6. ArcGIS在智能消防系统中的应用
7. ArcGIS制图表达视频教程(上)
8. ArcGIS制图表达视频教程(下)
9. Arcgis矢量化基础教程
10. ArcGIS on iPad在线演示
最新评论
1. re: SOA的三个基础部件的SOAP,WSDL,UDDI
评论内容较长,点击标题查看
--黎民
2. re: 国家土地督察北京局土地利用遥感巡察系统
副总督察等相关部门的一致好评。
--北京论坛
3. re: 东莞市国土资源空间数据库建设项目介绍
对于哪个TM影像图象效果不好那可能是十米的航片吧 我建议用北京宇视蓝图的2米航片那是从北京一号上面传下来的
--胥可
ArcGIS计算曲线上任意点到端点的距离
Posted on 2009-12-27 21:30
黎民
阅读(1282)
评论(0)
编辑
收藏
所属分类:
GIS原理
网上找到了一段
代码
,利用它可以求曲线上任意点到端点的距离,应该可以满足求曲线上任意两点沿曲线的距离的要求,具体做法如下:
1、在ARCMAP中加载点图层和对应的线图层,注意只能加载这两个图层,且点图层必须在线图层之上,为了便于大家更清楚地看清起点,我把符号改为指向末端的方向箭头
2、在点图层属性表中新加到端点的字段如aa,类型为double,如下
3、选中列aa ,在field caculator中输入以下代码
'
----- You
'
ll need to change
this
value
----
Const TOLERANCE As Double
=
500
'
-这个容差的设置一定要注意,要多次尝试.若属性表中出现-1,就加大这个值
Static pMxDoc As IMxDocument
Static pFtrLyr As IFeatureLayer
Static pFtrCls As IFeatureClass
Static pSpFltr As ISpatialFilter
Static pOutPt As IPoint
Dim pInPt As IPoint
Dim pTopOp As ITopologicalOperator
Dim pFtrCsr As IFeatureCursor
Dim pFtr As IFeature
Dim pPline As IPolyline
Dim dDis As Double
Dim dDummy As Double
Dim bDummy As Boolean
Set pInPt
=
[Shape]
Set pTopOp
=
pInPt
If pMxDoc Is Nothing Then
Set pMxDoc
=
ThisDocument
Set pFtrLyr
=
pMxDoc.FocusMap.Layer(
1
)
Set pFtrCls
=
pFtrLyr.FeatureClass
Set pSpFltr
=
New SpatialFilter
pSpFltr.SpatialRel
=
esriSpatialRelIntersects
Set pOutPt
=
New Point
End If
Set pSpFltr.Geometry
=
pTopOp.Buffer(TOLERANCE)
Set pFtrCsr
=
pFtrLyr.Search(pSpFltr, False)
Set pFtr
=
pFtrCsr.NextFeature
If pFtr Is Nothing Then
dDis
=
-
1
Else
Set pPline
=
pFtr.Shape
pPline.QueryPointAndDistance esriNoExtension, pInPt, False, pOutPt, dDis, dDummy, bDummy
End If
Set pFtrCsr
=
Nothing
'
'
Put dDis in the box below the Advanced window
'
见下图
这里要特别注意的是第二行的容差的设置一定要得当,不能过于大,也不能太小。太大的话,就可能算成了点到另一条曲线端点的距离,太小的话不能判断点在曲线上。所以要多次尝试,取最佳值。
算出来的表格结果如下:
以上表表示的是曲线上的每个点到各自曲线起点的距离
可以看看这个图,可能会更加清楚
大家可以看上图,越到曲线末端(箭头方向)值越大。
要是要使结果更精确些,在选点时要设好snapping值,使点最好能落在线上。
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
ARCGISMAPGISMAPINFOCAD配准方法汇总
地理信息系统为国土安全服务
燃气输配管网完整性管理初探
公安110报警系统
ArcGIS在智能消防系统中的应用
ArcGIS制图表达视频教程(上)
ArcGIS制图表达视频教程(下)
Arcgis矢量化基础教程
ArcGIS on iPad在线演示
ARCGIS有IPAD版了
常用链接
我的随笔
我的评论
我的参与
最新评论
网站链接
地理信息系统
讨论GIS、工作流技术,城市规划、城市发展、土地利用、地价评估,提供相关的论文,解答城市规划和土地利用、土地市场方面的政策法规。
评论排行榜
1. SOA的三个基础部件的SOAP,WSDL,UDDI (1)
2. 东莞市国土资源空间数据库建设项目介绍(1)
3. 国家土地督察北京局土地利用遥感巡察系统(1)
4. 基于SuperMap的土地利用现状管理系统(0)
5. ARCGISMAPGISMAPINFOCAD配准方法汇总(0)
阅读排行榜
1. 浅析基于工作流程B/S结构的OA系统(3827)
2. JBoss jBPM2.0工作流引擎完全解密(3592)
3. 成功安装了ARCGIS9.2于XP SP3上(2230)
4. 工作流管理系统体系结构设计(1852)
5. ARCGIS有IPAD版了(1792)
posts - 57, comments - 3, trackbacks - 0, articles - 1
Copyright © 黎民