giswind
路人甲
路人甲
  • 注册日期2003-08-06
  • 发帖数16
  • QQ
  • 铜币182枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1333回复:1

SDE的网络层中添加要素出错

楼主#
更多 发布于:2005-05-16 16:28
<P>我在sde中生成了一个网络(注册了版本),现在想在网络中增加一条边,采用了如下代码:
If connectSdeDB = False Then Exit Sub
Set pFeatureWorkspace = netWS
'''添加网络层
Set pFeatureClass = pFeatureWorkspace.OpenFeatureClass("route_test_NET_JUNCTIONS")
Set pFeatLyr = New FeatureLayer
Set pFeatLyr.FeatureClass = pFeatureClass
pFeatLyr.Name = "路径结点"
zsbGisFrmMain.MapDisp.Map.AddLayer pFeatLyr

<FONT color=#ff0000>Set pFeatureClass = pFeatureWorkspace.OpenFeatureClass("route_test")</FONT>
Set pFeatLyr = New FeatureLayer
Set pFeatLyr.FeatureClass = pFeatureClass
pFeatLyr.Name = "route"
zsbGisFrmMain.MapDisp.Map.AddLayer pFeatLyr

Dim pDataset As esrigeodatabase.IDataset
Dim pWorkspaceEdit As esrigeodatabase.IWorkspaceEdit
Set pDataset = pFeatureClass
Set pWorkspaceEdit = pDataset.Workspace
If Not pWorkspaceEdit.IsBeingEdited Then
pWorkspaceEdit.StartEditing True
pWorkspaceEdit.StartEditOperation
End If

Dim pFeature As IFeature
Set pFeature = pFeatureClass.CreateFeature
最后一句提示如下错误:
“object in this class cannot be updated outside an edit session”                                          </P>
<P>若将上面的红色的一行代码改为: </P>
<P><FONT color=#0033ff>Set pFeatureClass = pFeatureWorkspace.OpenFeatureClass("rail")</FONT> ' 非网络层</P>
<P>则不会出现错误,盼高人给予指导,不胜感谢!</P>
[此贴子已经被作者于2005-5-16 16:31:54编辑过]
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2005-05-18 09:58
<P>对的,我也遇到过这样的问题</P><P>当然是接口的原因了,你只有使用geometric network的接口去编辑网络</P><P>不能用你说的方法</P>
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
游客

返回顶部