欢迎来到天天文库
浏览记录
ID:33839181
大小:260.76 KB
页数:6页
时间:2019-03-01
《silverlightapiroutetask路网分析—无效属性无效上下文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、SilverlightAPIRouteTask路网分析“无效属性,无效上下文”对于上面的问题,习惯用ArcGISFlexAPI开发的朋友在silverlightAPI用RouteTask实现网络分析时出现这样的错误提示会感到很困惑。难道是代码写的有问题?但是,用同样的代码在接入ArcGISOnline上的路网服务分析功能是没有问题的,能够止常进行的。到这里我们初步可以排除是代码的原因,问题很有可能是出现路网数据本身上。下面的属性结构是ArcGIS实验数据ArcTutor屮的路网数据结构(比较复杂),发布路网服务后经silverlightAPI代码测试,网络分析功能可以正常执行。实
2、际上只要我们把自己路网数据结构修改成与下图所示的路网结构,程序调用时就不会出现本文最开始提示框中的问题。u・■&wcCA-4B:!•••-:*■*•:・..•,・r.・l3.・…W,…+4:i■•••itI••Cf4lM*«・w-.»fi»i«(»»It需:09)00在我们寻找解决问题方法的同吋,也在去发现是什么原因导致问题的出现。下面我们逐步分析是路网中什么样的属性会触发这个问题。首先,我们拷贝一份上面的路网数据并按照下面的步骤重新创建网络数据集。NewNetworkDatasetThedefaultc^nntctivitysettinpfor・orkdatasetsesta
3、blishconntctivityonly4、itrationofyourntt・ork£«atur«s?Hon«Vs&n][lai上面那些操作设置都是按照默认来进行的,关键是下面的特殊屈性设置,也许问题是出现在这里。NewNetworkDatasetGNameUsageUnitsDataType•HierarchyMulti.^HierirchyUnknownI5、ntegerMetersCostMetersDoubleeMinutesCostMinutesDouble9OnewayRestnctionUnknownBooleanRotdCbfsDescriptorUnknownIntegerSp«c>fyattributeiforth«Mtw«rkdataiet:Evaluators0—步Q)[下一生on»LW为了验证z前的猜测,分三次移除上面的属性。第一次、第二次如下面两图所示:NewNetworkDauset!•N«meUsageUnitsDataType•Hkrarch/MultL.HierirchyUnknownIntegerMe6、tersCostMetersDouble•MinutesCostMinutesDoubleSpecifyUmetlriVwteBforthtMtvwkNewNetworkDataset<上_步@)下_歩①三!X_JS”cifythetttribut^Bforth«Mtw^rk!0N«*neUsageUnitsD«uType•HierarchyMuW^.HierarchyUnknownInteger前两次的属性设置尽管不同,但对最后的服务调用、网络分析功能执行没有影响。在第三次将区全部屈性移除后创建的道路网络,在程序中调用就出现了“无法找到属性。,无效的上下文”错误。现在可以判断是7、属性HierarchyMultiNet的缺失导致的程序执行报错。用同样的思路排查路网属性结构,最后锁定道路数据中要包含字段NET2CLASS。在我们自己的路网数据中添加这个字段,重新创建网络数据集、发布服务,在程序中调用,结果如下图所示。嚨徐才皿
4、itrationofyourntt・ork£«atur«s?Hon«Vs&n][lai上面那些操作设置都是按照默认来进行的,关键是下面的特殊屈性设置,也许问题是出现在这里。NewNetworkDatasetGNameUsageUnitsDataType•HierarchyMulti.^HierirchyUnknownI
5、ntegerMetersCostMetersDoubleeMinutesCostMinutesDouble9OnewayRestnctionUnknownBooleanRotdCbfsDescriptorUnknownIntegerSp«c>fyattributeiforth«Mtw«rkdataiet:Evaluators0—步Q)[下一生on»LW为了验证z前的猜测,分三次移除上面的属性。第一次、第二次如下面两图所示:NewNetworkDauset!•N«meUsageUnitsDataType•Hkrarch/MultL.HierirchyUnknownIntegerMe
6、tersCostMetersDouble•MinutesCostMinutesDoubleSpecifyUmetlriVwteBforthtMtvwkNewNetworkDataset<上_步@)下_歩①三!X_JS”cifythetttribut^Bforth«Mtw^rk!0N«*neUsageUnitsD«uType•HierarchyMuW^.HierarchyUnknownInteger前两次的属性设置尽管不同,但对最后的服务调用、网络分析功能执行没有影响。在第三次将区全部屈性移除后创建的道路网络,在程序中调用就出现了“无法找到属性。,无效的上下文”错误。现在可以判断是
7、属性HierarchyMultiNet的缺失导致的程序执行报错。用同样的思路排查路网属性结构,最后锁定道路数据中要包含字段NET2CLASS。在我们自己的路网数据中添加这个字段,重新创建网络数据集、发布服务,在程序中调用,结果如下图所示。嚨徐才皿
此文档下载收益归作者所有