我将MapWingis.ocx用于我的代码
我使用MapWingis.Shapefile声明一个“Shapefile”对象
我只想剪辑两个shapefile。有一种API函数格式:
Shapefile.Clip (bool SelectedOnlySubject, Shapefile sfOverlay, bool SelectedOnlyOverlay)
我开始写这个。
Dim sfOverlay As New MapWinGIS.Shapefile
Dim sfinput As New MapWinGIS.Shapefile
Dim sfClip As New MapWinGIS.Shapefile
Dim index1 As Integer
Dim index2 As Integer
index1 = CbBInputLayer.SelectedIndex
index2 = CbBOverlayClipLayer.SelectedIndex
sfinput = FormMain.AxMapMain.get_Shapefile(index1)
sfOverlay = FormMain.AxMapMain.get_Shapefile(index2)
sfClip = sfinput.Clip(False, sfOverlay, False)
If sfClip Is Nothing Then
MessageBox.Show("Failed to calculate Clip :" + sfinput.ErrorMsg(sfinput.LastErrorCode))
MessageBox.Show("Failed to calculate Clip :" + sfOverlay.ErrorMsg(sfOverlay.LastErrorCode))
MessageBox.Show("Failed to calculate Clip :" + sfClip.ErrorMsg(sfClip.LastErrorCode))
Else
shape2.Add(sfClip)
End If
结果is Nothing
和
sfInput
给结果shapefile没有形状
sfOverlay
给无错误
sfClip
将空引用设置为对象的实例
我该如何解决这个问题?有什么错吗?
答案 0 :(得分:0)
这段代码没有错。我的错误是我用来输入和剪辑它的地图。感谢您的评论