浅谈用于WEBGIS开发最重要的4个HTML5特性
WebGIS是GIS与Internet相结合的产物,一般Internet的开发手段都可用于WEBGIS的开发,比较流行的有Javascript、FLash,到现在应该说市面上的WEBGIS产品和具有的功能都比较丰富。但也面临不少问题,我个人认为比较大的问题有几个方面:数据传输压力大、海量矢量数据支持、矢量数据快速渲染等。考察WEBGIS所遇到问题和现有技术方案,基于HTML5开发WEBGIS应该是最合适的解决办法。下面4个HTML5特性对WEBGIS开发最为重要:
1. 二进制数据(Native binary data / TypedArray) : 使用二进制存储空间数据,可有效降低文件大小,减少网络上传输的数据量,在同等网络条件下可加快数据加载提高用户体验。另外一方面,如果Geometry结构也使用二进制保存空间信息并与文件结构一致,则可以降低数据解析时间。一般GIS平台会用JSON和数组,点对象保存x、y、z,线对象包含点数组,多边形包含多个线对象,如果数据量大的话从文件到内存结构的转换时间也是很长的。
2. 画布 Canvas:图形渲染在GIS中也是极为重要的一部分,是用户对GIS最直接的认识。Canvas效果好速度快,就看你能不能最大发挥它的作用。
3. XMLHttpRequest level 2和WebSocket:这是通讯部分,XMLHttpRequest level 2 允许我们加载二进制数据,如果没有它设计好的二进制数据格式也加载不了。WebSocket可与后台服务器进行TCP/IP连接通讯。传统的方式只能传输文本,xml或者json格式,与二进制的数据相比,数据量大不少。
4. WebGL:它是3D绘图标准。如果能实现二三维无缝切换,就算3D功能少一些,只要能显示三维地形、简单要素如车辆行人,效果也非常不错了。
上面是开发WebGIS用到的4个关键特性,其他空间索引、拓扑分析等都是算法的范畴,只要积累够了就没什么问题。
《远景地理信息系统|RemoteGIS》
RemoteGIS是基于HTML5开发的高性能WEBGIS,支持百万级别矢量数据。
详细介绍和在线演示地址:www.remotegis.net
浅谈用于WEBGIS开发最重要的4个HTML5特性的更多相关文章
- 浅谈iOS视频开发
浅谈iOS视频开发 这段时间对视频开发进行了一些了解,在这里和大家分享一下我自己觉得学习步骤和资料,希望对那些对视频感兴趣的朋友有些帮助. 一.iOS系统自带播放器 要了解iOS视频开发,首先我们从 ...
- 浅谈App原生开发、混合开发及HTML5开发的优劣
App混合开发(英文名:Hybrid App),是指在开发一款App产品的时候为了提高效率.节省成本即利用了原生的开发技术还应用了HTML5开发技术,是原生和HTML5技术的混合应用.目前App的开发 ...
- 浅谈无线h5开发
最近一直在做h5的项目,对h5开发有了自己的理解.首先h5开发并不是指的html5的开发,而是指无线端的web开发,至于为什么叫h5开发,我觉得一方面是因为html5近几年还是挺受关注,另一方面h5在 ...
- 浅谈Android样式开发之布局优化
引言 今天我们来谈一下Android中布局优化常用的一些手段.官方给出了3种优化方案,分别是</include>.</viewstub>.</merge>标签,下面 ...
- 浅谈移动Web开发(上):深入概念
PPI 什么是PPI PPI的复杂之处在于如果他所属的上下文环境不同,意义也会完全不一样. 当我们在谈论显示设备的PPI时,它代指的屏幕的像素密度:当我们在谈论和图片相关时,我们谈论的是打印时的分辨率 ...
- 浅谈Bluetooth蓝牙开发
前言:项目用到蓝牙开发,具体蓝牙获取硬件传感器中的数据. 因为没有蓝牙开发的相关经验,决定先了解一些蓝牙开发的知识,再去看之前同事写的蓝牙相关代码. ------------------------- ...
- 浅谈Android系统开发中LOG的使用
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6581828 在程序开发过程中,LOG是广泛使用 ...
- 浅谈Android系统开发中LOG的使用【转】
本文转载自:http://blog.csdn.net/luoshengyang/article/details/6581828 在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以 ...
- 浅谈 Linux 内核开发之网络设备驱动
转自http://www.ibm.com/developerworks/cn/linux/l-cn-networkdriver/ 网络设备介绍 网络设备是计算机体系结构中必不可少的一部分,处理器如果想 ...
随机推荐
- POJ_2155 Matrix 【二维树状数组】
一.题面 POJ2155 二.分析 楼教主出的题,是二维树状数组非常好的题,还结合了开关问题(开关变化的次数如果为偶数,状态不变,奇数状态相反). 题意就是给了一个二维的坐标平面,每个点初始值都是0, ...
- flutter 导入 http 库 import 'package:http/http.dart' as http;
1,查看最新 http 版本 https://pub.dartlang.org/packages/http#-installing-tab- 1. Depend on it 在项目中找到 pubspe ...
- JVM架构和GC垃圾回收机制
深入理解系列之JDK8下JVM虚拟机(1)——JVM内存组成 https://blog.csdn.net/u011552404/article/details/80306316 JVM架构和GC垃圾回 ...
- jquery ajax的getJSON使用
getJSON的定义和用法 通过 HTTP GET 请求载入 JSON 数据. 在 jQuery 1.2 中,您可以通过使用 JSONP 形式的回调函数来加载其他网域的 JSON 数据,如 " ...
- myEclipse修改字体大小
- 3dsmax2016卸载/安装失败/如何彻底卸载清除干净3dsmax2016注册表和文件的方法
3dsmax2016提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装3dsmax2016失败提示3dsmax2016安装未完成,某些产品无法安装,也有时候想重新 ...
- SqlServer索引优化 查看碎片情况
本文引自 DBCC DBREINDEX重建索引提高SQL Server性能 查看碎片情况使用 dbcc showcontig 函数来进行 代码: --改成当前库 use DB_Name --创建变量 ...
- Request.QueryString 的用法
比如常见的URL网页地址都有 xxx.asp?type=reLogin ?号后面的就是querystring querystring是asp中获取数据的一个方法. 那么就可以用request.qu ...
- Delphi 统计Word文档中的字数
急待解决的问题就是如何用delphi实现word中的统计字数 另外想多了解一些关于操作word的相关内容 比如用ole动态创建的和TWordApplication的偏重点在哪里,有什么不同等等…… 用 ...
- 解决C#中dynamic类型作为泛型参数的反射问题
C#中dynamic类型作为泛型参数传递过去后,反射出来的对象类型是object,我用老外的这篇博文中的代码跑起来,得出的结果是:Flying using a Object map (a map),将 ...