博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ArcIMS + ArcEngine 生成等值线图
阅读量:6171 次
发布时间:2019-06-21

本文共 1186 字,大约阅读时间需要 3 分钟。

 上周做了一个ArcIMS + ArcEngine生成等值线图的一个demo,整个思路可以用来完成任意ArcIMS + ArcEngine开发的程序,开发思路比较简单:


    1.计算机上同时可以调用arcims服务和arcengine开发包。

    2.做个简单的arcims程序,可以显示地图及对地图的常规操作(放大、缩小、平移、图例等),可以参考blueviewer或其他已有的成型例子。

    3.用arcengine写等值线生成的代码,提供arcims需要的入口参数,返回结果是生成等值线shape文件,然后在arcims网站服务器端调用该功能方法,用动态图层的方法在页面上显示该shape。

    4.在网页上添加一个参数输入口,例如textbox,后台程序根据输入的值来生成该值对应的等值线图,用ajax异步刷新地图,实际速度很快。


    小结一下,就是三步,arcims程序、engine服务器端程序、两者之间的桥接(网页的服务器端)。


    开发过程中也容易碰到一些问题,主要体现在这些方面:


    1.arcengine写的方法在页面的服务器端调用,但是这些方法通过什么形式存在呢,一种是联合调试,在一个解决方案中添加两个工程,一个是 arcims工程,一个是arcengine工程;一种是将代码封装为dll,但这种方式打包可能会碰到一些麻烦,如arcims用 asp.net/C#,engine用VC++.net,engine程序打包后可能会碰到无法调用COM的问题;还有一种最直接的,全部用一种语言写, engine功能方法放在网站的App_Code文件夹里。


    2.已有点状数据,及根据点数据的业务字段生成grid栅格图,arcengine接受到arcims传过来的参数后,在已有的栅格图基础上生成 shape等值线,arcims通过动态图层添加等值线,这样等值线不能写到内存中,一是因为arcims不能读内存,二是访问量大了内存也吃不消。如果将等值线写到硬盘上如本地文件,只能通过AO自身的命名法(对生成的每一个等值线文件名最后一位数字加1)来生成等值线,这样的好处是每个用户访问不会相互冲突,缺点是会在本地生成大量的shape文件,即使该shape没有被用户使用了,还是会因为arcims后台进程占用无法删除,带来数据上的冗余,可以考虑一下是否有更好的方式来处理?当然,如果等值图上差异值比较少,一共二三十条等值线,完全可以将等值线全部做好后供arcims来调用,有点缓存的意思,免去了engine的工作减轻服务器负担,但毕竟不是正途,server在这一点就容易处理的多。


最后看看效果图:


本文转自Flyingis博客园博客,原文链接:http://www.cnblogs.com/flyingis/archive/2007/08/21/863702.html,如需转载请自行联系原作者

你可能感兴趣的文章
SQL SERVER实例解析
查看>>
ComboBoxEdit设置选项值(单选 多选)
查看>>
C#进程操作
查看>>
Reversi
查看>>
风口浪尖上的猪
查看>>
Python初感悟
查看>>
项目总结
查看>>
Eclipse将项目部署tomcat的webapps目录
查看>>
第三次作业,疑问希望老师解答一下。谢谢
查看>>
python3 抓取网页资源的 N 种方法
查看>>
windows server 2012 流媒体服务器搭建(直播与点播)
查看>>
halcon算子翻译——region_to_label
查看>>
Class类的使用
查看>>
Visual Studio强大的帮助工具--Resharper安装与使用
查看>>
POJ 2386 Lake Counting(DFS)
查看>>
POJ 2976 Dropping tests(二分)
查看>>
POJ 3259 Wormholes(Bellman-ford判断负环)
查看>>
CentOS 7开机出现welcome to emergency mode! 解决方法
查看>>
Unity3d 一些 常见路径
查看>>
抽象类和接口的区别
查看>>