小功能,大问题,ArcGis GeometryServer判断点是否在面中所遇到的问题

来源:互联网 时间:1970-01-01

最近在做一个小功能,用GeometryServer判断点是否在面中,由于功能很简单,代码也不多,但没想到在做的过程中遇到了种种问题。

   前台开始用Flex Api1.3实现,在用方法relation()提交Geometry Server后,总是执行失败,返回“HTTP server error”的错误信息,表现为流超过了请求长度。于是换方式实现,当查询完点后,循环点集,每次循环去查询点相应的面,然后循环提交到Geometry Server去判定,这样做的问题是,连续循环去请求服务,到一定的数量,程序死锁(估计是连续提交服务给屏蔽了),问题无解。请教Esri技服,升级Flex Api到2.3.1,Geometry对象可以指定请求方式为“POST”,改变请求长度的大小,结果问题还是依旧。最后和Ersi技服几经纠结,找到问题的根源,是图层数据面的点数太多,请求服务时数据量过大。解决方法为:对面图层进行Simplify Polygon的操作,减少面的节点数量,这样在发送请求的时候传输的请求的大小会显著减少。

如何做 Simplify Polygon?ArcToolBox--Data Management Tools--Generalization


相关阅读:
Top