gaoguosheng
路人甲
路人甲
  • 注册日期2005-08-02
  • 发帖数38
  • QQ18087249
  • 铜币244枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1450回复:3

获取面或线的节点坐标问题

楼主#
更多 发布于:2005-08-19 16:50
<P>不明白为什么会产生多余的两个点,特来探讨一下,程序如下,<FONT color=#ff0000>红色</FONT>为获取选中的图块方法.</P>
<P>Dim pPolygon As IPolygon<br>Dim pGeom As IGeometry<br>Dim pFeatureLayer As IFeatureLayer<br>Dim pFeatureCursor As IFeatureCursor<br>Dim pFesyureClass As IFeatureClass<br>Dim pWorkspaceEdit As IWorkspaceEdit<br>Dim pFeature As iFeature<br>Dim pActiveView As IActiveView<br>Dim pPointColn As IPointCollection</P>
<P>If m_pCurrentLayer Is Nothing Then Exit Sub<br>Set pFeatureLayer = m_pCurrentLayer<br>Set pFeatureClass = pFeatureLayer.FeatureClass<br>Set pFeatureCursor = GetSelectedFeatures<br>If pFeatureCursor Is Nothing Then Exit Sub<br>Set pWorkspaceEdit = GetWorkspaceEdit<br>pWorkspaceEdit.StartEditOperation<br>Set pFeature = pFeatureCursor.NextFeature<br>Set pPointColn = pFeature.Shape<br>MsgBox pPointColn.PointCount<br>Dim i As Integer<br>For i = 0 To<FONT color=#ff0000> pPointColn.PointCount</FONT> - 1<br><FONT color=#ff0000>  MsgBox CStr(pPointColn.Point(i).x) + "," + CStr(pPointColn.Point(i).y)<br></FONT>Next<br><br>pWorkspaceEdit.StopEditOperation<br>Set pActiveView = m_pMap<br>pActiveView.refresh</P>
<P>图1:</P>
<P>从<FONT color=#ff0000>pPointColn.PointCount</FONT> 得到五个节点</P>
<P>1.-140.965,8.682</P>
<P>2.-128.801,4.355</P>
<P>3.-124.637,11.131</P>
<P>4.-124.637,11.131</P>
<P>5.-140.965,8.682</P>
<P>明明只是个三角形,确得到五个点,看图,我们很显然知道4,5是错的.</P>
<P>图2:同样我们画了一个五边形,也得到了七个点,也只有前五个是正确的.</P>
<P>1.-145.17,21.70</P>
<P>2.-133.38,13.39</P>
<P>3.-130.03,17.01</P>
<P>4.-129.89,22.51</P>
<P>5.-136.73,26.80</P>
<P>6.-136.86,26.80</P>
<P>7.-145.17,21.7</P><br><br><img src="images/post/smile/dvbbs/em02.gif" />
[此贴子已经被作者于2005-8-19 16:52:46编辑过]
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2005-08-19 22:23
<P>起点和终点取了两次?</P>
<P>现在没办法测试,周一上班再看了,希望看到你的好消息</P>
举报 回复(0) 喜欢(0)     评分
nxy_918
路人甲
路人甲
  • 注册日期2003-09-15
  • 发帖数74
  • QQ
  • 铜币325枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-08-20 19:30
<P>为什么会取两次?</P>
举报 回复(0) 喜欢(0)     评分
gaoguosheng
路人甲
路人甲
  • 注册日期2005-08-02
  • 发帖数38
  • QQ18087249
  • 铜币244枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2005-08-21 20:13
<P>我也是这样想的,可能是取了两次</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部