本文以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格式数据分析的更多相关文章

  1. Web Api试图加载格式不正确的程序,解决方法

    Web Api试图加载格式不正确的程序,错误如下: 问题原因: 出现上述问题的原因是,所加载的程序集中有32位的,也有64位的,IIS 7 程序池 在Windows下.Net FrameWork是64 ...

  2. 如何实现通过Leaflet加载dwg格式的CAD图

    前言 ​ 在前面介绍了通过openlayers加载dwg格式的CAD图并与互联网地图叠加,openlayers功能很全面,但同时也很庞大,入门比较难,适合于大中型项目中.而在中小型项目中,一般用开源的 ...

  3. web.xml文件加载顺序

    1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...

  4. web.xml 的加载过程

    初始化过程: 在启动Web项目时,容器(比如Tomcat)会读web.xml配置文件中的两个节点<listener>和<contex-param>. 接着容器会创建一个Serv ...

  5. Web Service无法加载协定为“ServiceReference1.xxxxxx”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分

    Web Service 无法加载协定为“ServiceReference1.xxxxxx”的终结点配置部分,因为找到了该协定的多个终结点配置.请按名称指示首选的终结点配置部分   原因是在web.co ...

  6. web.xml 配置 加载顺序

    web.xml 的加载顺序是:context-param -> listener -> filter -> servlet . 过滤器执行顺序是根据filter-mapping ,不 ...

  7. VS2010 需要缺少的web组件才能加载该项目

    到的问题是解决方案中部分项目无法加载, 提示需要缺少的web组件才能加载该项目,是否通过WEB安装组件来网络安装, 点击确定以后就什么也没有了. 到微软网站去下载Microsoft Web Platf ...

  8. 使用getJSON()方法异步加载JSON格式数据

    使用getJSON()方法异步加载JSON格式数据 使用getJSON()方法可以通过Ajax异步请求的方式,获取服务器中的数组,并对获取的数据进行解析,显示在页面中,它的调用格式为: jQuery. ...

  9. web.xml组件加载顺序

    在配置项目组件的过程中, 了解Tomcat加载组件顺序很有必要. 例如某些框架如Quartz的集群功能需要数据库的支持, 数据库的加载肯定要在框架组件加载之前. 经过查阅和Debug发现, web.x ...

随机推荐

  1. 16. Copy List with Random Pointer

    类同:剑指 Offer 题目汇总索引第26题 Copy List with Random Pointer A linked list is given such that each node cont ...

  2. JavaScript笔记:数据类型

    javascript中有5种基本数据类型:Undefined,Null,Boolean,Number和String,还有一种复杂的数据类型--Object.javascript不支持任何创建自定义类型 ...

  3. php中好用的时间函数

    //查询数据30天的数据$y=date("Y",time());$m=date("m",time());$d=date("d",time() ...

  4. php与ascii码

    首先 简单说一下历史,ascii码最开始是美国人搞出来的,用来干什么呢?我们知道,计算机只知道0和1,如果我们要计算机识别除了01之外的字符,例如 'a',我们要先告诉计算机‘1100001’就是'a ...

  5. 使用虚幻引擎中的C++导论(三-反射系统与迭代器)

    使用虚幻引擎中的C++导论(三) 第一,这篇是我翻译的虚幻4官网的新手编程教程,原文传送门,有的翻译不太好,但大体意思差不多,请支持我O(∩_∩)O谢谢. 第二,某些细节操作,这篇文章省略了,如果有不 ...

  6. C# 或 Asp.net 2.0 邮件发送模块(亲测)

    using System.Net.Mail;using System.Net; public class Mail    {        MailMessage mm;        SmtpCli ...

  7. Autofac 的属性注入方式

    介绍 该篇文章通过一个简单的 ASP.NET MVC 项目进行介绍如何使用 autofac 及 autofac 的 MVC 模块进行依赖注入.注入方式通过构造函数.在编写 aufofac 的依赖注入代 ...

  8. 数据库数据怎样导出成Excle表格或Word文档?

    数据导出:将数据库的数据导出成Excel工作表或Word文档 方法:将一个泛型集合导出出去 主要使用: SaveFileDialog StreamWriter 导出代码: private void b ...

  9. jquery 找不到live方法解决

    http://stackoverflow.com/questions/15573645/typeerror-live-is-not-a-function

  10. 了解 XSS 攻击原理

    在了解 XSS 之前必须知道『网站登入(Session)』的原理 简单的说当会员成功登入后 网站会给浏览器一个『令牌』 之后只要拿着这个『令牌』到网站上 就会被视为已经登入 再来下面是 XSS 最简单 ...