duanjian
路人甲
路人甲
  • 注册日期2006-03-03
  • 发帖数7
  • QQ
  • 铜币135枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2042回复:2

如何实现删除。SHP里面属性相同的点

楼主#
更多 发布于:2006-12-11 21:12
<P>求助,有一张POINT   的。SHP地图</P>
<P>里面有些重复的POINT </P>
<P>ID不一样</P>
<P>但某个属性值是一样的比如山名</P>
<P>在VB+MO里如何把这些重复的POINT 删除</P>
<P>只留下一个</P>
<P>谁知道的帮忙一下</P>
<P>谢谢了! </P><img src="images/post/smile/dvbbs/em05.gif" />
喜欢0 评分0
lhfde
路人甲
路人甲
  • 注册日期2006-05-23
  • 发帖数51
  • QQ
  • 铜币243枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-12-18 15:22
<P>应该是先创一个数据集,把shp文件赋给它。</P>
<P>然后用sql语句查询相同的,比如where 山名=kk ,再用sql语句删除其中一个。</P>
举报 回复(0) 喜欢(0)     评分
huqingfengxy
路人甲
路人甲
  • 注册日期2007-01-20
  • 发帖数14
  • QQ
  • 铜币137枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2007-04-05 01:07
<P>'Xuewei,2003/6/13<BR>'删除特征示例;</P>
<P>Option Explicit</P>
<P>Private Sub DrawLayer()<BR>  Dim Layer As MapLayer<BR>  Dim dc As New DataConnection<BR>   <BR>  On Error GoTo Err1<BR>  dc.Database = App.Path + "\..\" + "Mexico"<BR>  Set Layer = New MapLayer<BR>  Set Layer.GeoDataset = dc.FindGeoDataset("states")<BR>  Layer.Symbol.Color = moLimeGreen<BR>  Map1.Layers.Add Layer<BR>  <BR>  Set Layer = New MapLayer<BR>  Set Layer.GeoDataset = dc.FindGeoDataset("CITIES1")<BR>  Layer.Symbol.Color = moRed<BR>  Map1.Layers.Add Layer<BR>  <BR>  'MsgBox "数据连接成功", vbInformation, "MO示例"<BR>  Exit Sub<BR>  <BR>Err1:<BR>  If dc.ConnectError = 0 Then<BR>    MsgBox "没找到图层", vbInformation, "MO示例"<BR>  Else<BR>    MsgBox ConnectErrorMsg(dc.ConnectError), vbInformation, "MO示例"<BR>  End If<BR>  End<BR>End Sub</P>
<P>Private Sub Form_Load()<BR>  DrawLayer   '加载墨西哥地图的States和Cities图层;<BR>End Sub</P>
<P>Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)<BR>  Dim P1 As MapObjects2.Point<BR>  Const D1 = 0.3<BR>  Dim Recset As MapObjects2.Recordset<BR>  Dim Ans As Variant<BR>  <BR>  Set P1 = Map1.ToMapPoint(X, Y)<BR>  '距离查找;<BR>  Set Recset = Map1.Layers(0).SearchByDistance(P1, D1, "")<BR>  If Not Recset.EOF Then<BR>    Map1.FlashShape Recset.Fields("shape").Value, 3<BR>    Ans = MsgBox("要删除这个特征?", vbYesNo, "MO示例")<BR>    If Ans = vbYes Then<BR>      If Recset.Updatable Then<BR>        Recset.Edit<BR>        Recset.Delete<BR>        Recset.MoveNext<BR>        Recset.StopEditing<BR>        Map1.Refresh<BR>      Else<BR>        MsgBox "记录集不可修改。"<BR>      End If<BR>    End If<BR>  Else<BR>    MsgBox "没有点击特征。"<BR>  End If<BR>End Sub<BR></P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部