Web前台直接加载GIS格式数据分析
本文以Flex直接加载Shp、DWG和MDB为例。
首先看一份现估测数据:
1) 加载Shp文件,目前直接由前台Flex代码完成;
图1 在ArcCatalog里面的Shp文件

图2 直接在前台加载后的Shp文件
结果显示:
|
Shp文件 |
大小 |
加载时间 |
|
Shp1 |
50kb |
约3s |
|
Shp2 |
750kb |
约10s |
分析:未用后台开发,直接使用前台Flex对SHP开放数据加载,省去通讯时间,速度快捷,速度与客户端配置成正比。
说明:直接加载使用了LibertyGIS.swc组件。
2) 加载Dwg文件,后台开发Web服务,部署发布调用


图3 ArcCatalog里面的Dwg可视化 图4 Flex前台加载后的可视化
结果显示:
|
Dwg文件 |
大小 |
加载时间 |
|
dwg1 |
50kb |
约10s以上 |
分析:后台VS开发,使用了ArcGIS组件及转换方法,最后发布成服务前台调用,本机测试加载速度明显慢;
3) 加载MDB文件,也是后台开发Web服务

图5 ArcCatalog里mdb中要素

图6 Flex前台加载的MDB中的要素
结果显示:
|
MDB文件 |
大小 |
加载时间 |
|
mdb1 |
1M |
20s以上 |
分析:后台VS开发,使用了ArcGIS组件及转换方法,将图形数据转为轻量的Json/String数据然后传输到前台,速度随MDB大小成反比,而且并发会影响服务器运行。
总结:
加载Shp由于采用的是前台语言,比较快捷,很多基于Flex/Silverlight/JS的GIS系统都有直接加载Shp的功能,比较实用;
加载Dwg和Mdb采用了ArcGIS组件技术,并发布成Web服务,需要服务器后台与前台通讯联合,数据量一大就会出现地图卡死,加载慢,这是通用的弊端;
由此:
BS端GIS运用一般采用的直接发布地图服务的方式,不管什么数据统一使用地图服务转而使用图层的方式来加载,是最便捷快速的;
直接加载一些GIS数据适用于:局域网单独的小型的GIS格式文件,带有少量的属性数据,以便捷查看为主;大量(超过100M)的直接加载不符合BS开发的方式,BS端向来只以发布展现为主, 目前可继续测试在高配置服务器上加载多大文件比较适宜。
算法改进:目前从SOAP的协议以轻量的Json/String来实现,速度还是不尽如人意,可找寻替代开发技术或地图展现方面着手。
说明:测试速度以机子配置有关,本次测试以一般的普通机子为测试,速度较慢,配置好的机子速度会快,但理论思维可参考。
分析内容与结果仅供参考。
Web前台直接加载GIS格式数据分析的更多相关文章
- Web Api试图加载格式不正确的程序,解决方法
Web Api试图加载格式不正确的程序,错误如下: 问题原因: 出现上述问题的原因是,所加载的程序集中有32位的,也有64位的,IIS 7 程序池 在Windows下.Net FrameWork是64 ...
- 如何实现通过Leaflet加载dwg格式的CAD图
前言 在前面介绍了通过openlayers加载dwg格式的CAD图并与互联网地图叠加,openlayers功能很全面,但同时也很庞大,入门比较难,适合于大中型项目中.而在中小型项目中,一般用开源的 ...
- web.xml文件加载顺序
1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...
- web.xml 的加载过程
初始化过程: 在启动Web项目时,容器(比如Tomcat)会读web.xml配置文件中的两个节点<listener>和<contex-param>. 接着容器会创建一个Serv ...
- Web Service无法加载协定为“ServiceReference1.xxxxxx”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分
Web Service 无法加载协定为“ServiceReference1.xxxxxx”的终结点配置部分,因为找到了该协定的多个终结点配置.请按名称指示首选的终结点配置部分 原因是在web.co ...
- web.xml 配置 加载顺序
web.xml 的加载顺序是:context-param -> listener -> filter -> servlet . 过滤器执行顺序是根据filter-mapping ,不 ...
- VS2010 需要缺少的web组件才能加载该项目
到的问题是解决方案中部分项目无法加载, 提示需要缺少的web组件才能加载该项目,是否通过WEB安装组件来网络安装, 点击确定以后就什么也没有了. 到微软网站去下载Microsoft Web Platf ...
- 使用getJSON()方法异步加载JSON格式数据
使用getJSON()方法异步加载JSON格式数据 使用getJSON()方法可以通过Ajax异步请求的方式,获取服务器中的数组,并对获取的数据进行解析,显示在页面中,它的调用格式为: jQuery. ...
- web.xml组件加载顺序
在配置项目组件的过程中, 了解Tomcat加载组件顺序很有必要. 例如某些框架如Quartz的集群功能需要数据库的支持, 数据库的加载肯定要在框架组件加载之前. 经过查阅和Debug发现, web.x ...
随机推荐
- linux服务器下添加字体
版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 引言:这两天在开发一个动态生成海报的东西(图片拼接,图片水印),开发在windows下没有问题,图片和文字都能正常的生成出来. ...
- 服务器间打通ssh无密钥
1 打通无密钥 配置HDFS,首先就得把机器之间的无密钥配置上.我们这里为了方便,把机器之间的双向无密钥都配置上. (1)产生RSA密钥信息 ssh-keygen -t rsa 一路回车,直到产生一个 ...
- 一千行MySQL学习笔记
以下为本人当年初学MySQL时做的笔记,也从那时起没再更新过,但还是囊括了基本的知识点,有时还翻出来查查.是不是干货,就看亲们了~ 如果哪天笔记有更新了,我还是会更新该文章滴,其实笔记已经放到了Git ...
- zedboard如何从PL端控制DDR读写(七)
前面已经详细介绍了从PL端如何用AXI总线去控制DDR的读写,并且从AXI_BRESP的返回值来看,我们也是成功写入了的.但是没有通过别的方式来验证写入的数据的话,总是感觉差了点什么. 今天试了一把从 ...
- objective c, category 和 protocol 中添加property
property的本质是实例变量 + getter 和 setter 方法 category和protocol可以添加方法 category 和 protocol中可以添加@property 关键字 ...
- css设置中文字体(font-family:"黑体")后样式失效问题
做项目时偶遇的一诡异问题,同样的代码,在ff和IE7以上页面显示正常,但IE6无论怎么改都不起作用,本来以为是IE6的某些浮动bug所致,结果弄了很长时间也不行,后来不经意间把原来设定的font-fa ...
- 动端逐渐出了许多的移动端的框架,比如Sencha Touch、JQTouch、Jquery-moblie、jqMobi等等。这些框架都有优缺点,不同的框架应用在不同的项目中。现简单阐述一下各框架的优缺点:
移动前端工作的那些事---前端制作之微信小技巧篇 (2013-11-15 15:20) 转载▼ 标签: it css3/javascript html5 webapp 手机网站搭建 分类: 前端制 ...
- C#获取操作系统是32位或64位的代码
注意需添加引用System.Management) public static string Distinguish64or32System() { try { string addressWidth ...
- __iter__
[__iter__] 如果一个类想被用于for ... in循环,类似list或tuple那样,就必须实现一个__iter__()方法,该方法返回一个迭代对象,然后,Python的for循环就会不断调 ...
- [转载] Genymotion 解决虚拟镜像下载速度特别慢的问题
本文转载自: http://blog.csdn.net/qing666888/article/details/51622762 Genymotion号称Android模拟器中运行最快的,但是服务器在国 ...