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 ...
随机推荐
- Quartus II中FPGA的管脚分配保存方法
一.摘要 将Quartus II中FPGA管脚的分配及保存方法做一个汇总. 二.管脚分配方法 FPGA 的管脚分配,除了在QII软件中,选择“Assignments ->Pin”标签(或者点击按 ...
- javascript URI的编码
用encodeURIComponent,但是不清楚她和encodeURI的区别, w3school 对其的解释: encodeURIComponent() 函数可把字符串作为 URI 组件进行编码.( ...
- IOS畅销榜
20W 在80-100 30W 在50左右 50W 在30左右 100W在20左右 N-1日的 收入 对N日还有权重的影响
- android开发之单选按钮
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...
- lintcode-【简单题】链表求和
题目: 你有两个用链表代表的整数,其中每个节点包含一个数字.数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头.写出一个函数将两个整数相加,用链表形式返回和. 样例: 给出两个链表 3- ...
- ASP.NET MVC 5 一 入门
本系类教程将要构建ASP.NET MVC 5 Web 应用程序,使用的工具是VS2013 .现在有预览版可以下载了, 点击下载VS2013 FOR WEB ISO文件 .VS2012 还没用几天呢,2 ...
- SQL笔记-第三章,数据的增删改
1.数据的插入 简单的INSERT语句 INSERT INTO T_Person(FName,FAge,FRemark) VALUES(‘Tom’,18,’USA’) 简化的INSERT语句(只对部分 ...
- Ubuntu14.04安装MySQL-python异常: mysql_config: not found,Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-MJWMPd/MySQL-python/
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABUoAAAE8CAIAAACZ6RwMAAAgAElEQVR4nOydaVxTx9fHn9dhKWqltv
- PHP的轻量消息队列php-resque使用说明
日志未经声明,均为AlloVince原创.版权采用『 知识共享署名-非商业性使用 2.5 许可协议』进行许可. 消息队列处理后台任务带来的问题 项目中经常会有后台运行任务的需求,比如发送邮件时,因为要 ...
- SqlServer2008R2附件数据库失败
MSSQL附加数据库时提示以下错误: 无法打开物理文件“***.mdf”.操作系统错误 5:“5(拒绝访问.)”. (Microsoft SQL Server,错误: 5120) 该经验介绍如何处理该 ...