在使用silverlight API的网络分析时,很多人都碰到过这样一个问题。就是相同的代码,不同的数据(美国在线数据和自己配置的网络数据),但是往往都会报错,错误内容一般都是“routing error:error solving route,unable to find attribute invalid context!!routing error:error solving route,unable to find attribute invalid context!!”。而且有的时候,相同的Network服务(自己配置的),在silverlight不可以,而在flex api 里却可以。
曾经以为是自己代码的原因,但是无论代码怎么改,还是不可以。后来就彻底地认识到是数据的问题。试了很多数据改造方法还是不可以。
后来对比美国的数据创建的网络数据集和自己的数据创建的网络,发现这么一个有趣的现象,如下图所示。利用美国的数据在创建网络数据集时,会自动有名为“HierarchMultiNet”,Type为“Hierarch”的属性。这个属性字段的作用是对网络数据集进行层级划分的。
到这里,我们就知道了两者数据的差异了。我们怎么做呢?
举个例子,我现在要创建的网络数据集的线图层是testpolyline
方法一:
1 对testpolyline图层创建网络数据集,这个步骤没有任何要求。创建完网络数据集之后,往下走
2 就是在testpolyline_ND的属性对话框的"Attributes"标签页中,点击“Add”。
方法二:
就是在testpolyline图层属性表里添加一个名为"NET2CLASS",数据类型为整型的属性字段。然后再自动创建网络数据集里就有了那个分层级的属性了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。