还没有功夫写完整的。。。
我打算和我的工作文档和工作报告一起写,这样也比较省事,哈哈。
就写点小的玩意来娱乐娱乐大众好了。
今天用Server的ToAdfPolygon将Datasource Specific API下的PolygonN转化为ADF Geometry中的Polygon。结果转换倒是没什么,但是一运行吧,页面上就会提示什么引用空对象的引用什么的,还是IE提示的,又没有办法调试,折腾了很长时间,无果。
一开始怀疑是不是AO的COM直接转Value Object的用起来不方便,就把转换后的Polygon Clone了一下。这不 Clone还好,一Clone问题就出来了,就是那个Null什么的Exception。看看Polygon的对象,没问题啊。就开始想。实在没办法,就Catch了一下那个Exception,读取堆栈发现是Rings[i].Clone出了问题,rings.count = 1,但是rings[0] = null。很明显是ring没转成功。
寻找问题的源头,发现原来Datasource Specific API下面,Polygon支持连续的Curve,例如我的那个要素,就是一个Circular Curve,但是ADF下就不支持了。所以转换ring的时候,自然也就无法成功。
最后找到了相关的例子,发现例子中都是用Density将线段用直线逼近后再放到ADF上的。
由此可见,ArcGIS的例子太阴险了,文档太“概要”了,除了告诉你有哪些Member,啥都不说。。。
无语。