基于百度地图API的空气质量指数发布系统的实现

2017-05-16 06:06:41
山西电子技术 2017年2期
关键词:着色控件空气质量

马 瑞

(中国电子科技集团公司第三十三研究所,山西 太原 030006)

基于百度地图API的空气质量指数发布系统的实现

马 瑞

(中国电子科技集团公司第三十三研究所,山西 太原 030006)

本文以太原地区空气质量日报数据为基础,采用Asp.net、JavaScript以及SQL Server 等技术手段实现了基于百度地图API的空气质量指数发布系统。该系统采用B/S结构,不仅提供了电子地图的基本功能,而且利用百度地图API提供的区域着色功能对每一个县区进行着色。系统界面清晰直观,用户可以通过互联网来进行访问,为公众提供环境空气质量的日报信息。

百度地图API;GIS;空气质量指数

随着信息技术和网络技术的飞速发展,地理信息技术也得到了发展和应用,且在国土资源、环境保护以及公共安全等领域的作用也日渐突出。目前,国内的很多GIS应用都基于诸如SuperMap、ArcGIS等较为成熟的GIS平台软件,这些平台软件虽然技术成熟,但是建设周期长,实施过程复杂,而且购买以及维护成本很高。

本文介绍的空气质量指数发布系统基于开放的百度地图服务,并利用百度地图API进行二次开发,实现了一个能够依据标准[1]对各行政区域进行着色,且更为直观的空气质量指数发布系统。

1 百度地图API

百度地图API是为开发者免费提供的一套基于百度地图服务的应用接口,通过地图服务应用接口将应用开发平台和地理信息数据捆绑,将复杂的地理信息系统底层进行封装,使用者可不必了解它的技术细节就能在应用中快速构建基础地图,并帮助使用者在Web系统中构建功能丰富、交互性强的地图应用程序。百度地图API不仅包含构建电子地图的基本功能接口,还提供了位置标注、专题图、区域着色、轨迹跟踪等扩展性功能服务,从地图数据共享和功能共享两方面简化了GIS应用,而且通过网页脚本语言就可以将地图服务嵌入到Web系统中。

2 系统架构与实现

2.1 系统体系结构

本系统采用B/S结构,系统结构如图1[2]所示,用户通过本地浏览器即可访问该系统。Web服务器负责处理用户的访问请求,完成和业务数据库、百度地图服务的交互,服务端程序采用Asp.net技术和C#语言进行开发;业务数据库采用Sql Server数据库管理系统存储和管理;百度地图服务通过百度地图JavaScript API来实现。

图1 系统结构

2.2 地图实现

百度地图API采用JavaScript将百度地图嵌入到应用系统中,地图数据和地图服务的加载采用以下几个步骤:

1) 加载地图

通过下面的JavaScript引用载入百度地图API,如下所示,本项目采用1.4版本[3]。

创建div容器来存放引入的地图,并设置容器的样式。

声明一个地图实例,以太原地区地理坐标(112.556 198,37.870277)为中心,默认为第10级。

var map = new BMap.Map(″map″);

map.centerAndZoom(new BMap.Point

(112.556198, 37.870277),10);

2) 设置电子地图基本操作

◇ 设置导航控件,可以对地图进行缩放和平移

map.addControl(new BMap.NavigationControl());

◇ 设置鹰眼控件,可以显示当前地图缩略图

map.addControl(new BMap.OverviewMapControl());

◇ 设置比例尺控件,以及该控件在地图上的位置

map.addControl(new BMap.ScaleControl());

map.addControl(new BMap.ScaleControl({off-set: new BMap.Size(1, 33),anchor: BMAP_ANCHOR_BOTTOM_RIGHT}));

◇ 设置地图类型控件,可以在平面矢量图、卫星影像图以及三维地图三种类型间切换

map.addControl(new BMap.MapTypeControl());

◇ 设置鼠标滚轮缩放功能

map.enableScrollWheelZoom();

3) 区域着色

利用百度地图API中提供的方法getBoundary()获取行政区域并对该区域着色。

◇ 获取数据:利用Ajax技术以异步的方式从服务端获取各行政区空气质量指数日报数据。

var htmlobj = $.ajax({ type: ″post″, url: ″ajax.asp″, async: true }); var info = htmlobj.responseText;

◇ 区域着色:根据《环境空气质量指数(AQI)技术规定 (HJ633-2012)》[1],对获取到的数据进行地图呈现,采用方法getBoundary()进行区域着色,效果如图2所示。

getBoundary(″小店区″,″#badcff″);

3 总结

本文阐述了基于百度地图API的空气质量指数发布系统的设计与实现,该系统在服务端采用Asp.net技术获取空气质量日报数据,在客户端利用百度地图API实现了太原地区十县区空气质量日报指数的区域着色呈现,界面简洁直观,能更加有效地向公众展示空气质量的状况。

[1] 环境保护部.HJ 633-2012.环境空气质量指数(AQI)技术规定(试行)[S].北京:中国环境科学出版社,2012.

[2] 杜传明.百度地图API在小型地理信息系统中的应用[J].测绘与空间地理信息,2011,(2):152-153.

[3] 百度地图开放平台[OL].2010-04-23[2016-12-20].http://lbsyun.baidu.com/index.php?title=jspopular,JavaScript API

[4] 白学文,杨红,杨韬.基于百度地图API发布乡镇精细化天气预报[J].云南科技管理,2012(1):46-48.

Implementation of Air Quality Index Publish System Based on Baidu Map API

Ma Rui

(No.33ResearchInstituteofChinaElectronicsTechnologyGroupCorporation,TaiyuanShanxi030006,China)

In this paper, air quality index publish system is implemented based on Baidu Map API with using Asp.net, JavaScript and SQL Server technologies. The system which adopts B/S structure not only provides basic functions of electronic map, also puts colors on each of districts by using Baidu Map API. The system which is accessed through internet also has a convenient and intuitive interface, and provides information on Daily Report of Air Quality for the public.

Baidu Map API; GIS; air quality index

2016-12-30

马 瑞(1981- ),男,工程师,研究方向:GIS。

1674- 4578(2017)02- 0056- 03

TP311.52

A

猜你喜欢
着色控件空气质量
蔬菜着色不良 这样预防最好
今日农业(2021年9期)2021-11-26 07:41:24
苹果膨大着色期 管理细致别大意
今日农业(2020年16期)2020-12-14 15:04:59
10位画家为美术片着色
电影(2018年10期)2018-10-26 01:55:48
关于.net控件数组的探讨
软件(2018年7期)2018-08-13 09:44:42
“空气质量发布”APP上线
车内空气质量标准进展
汽车与安全(2016年5期)2016-12-01 05:22:14
重视车内空气质量工作 制造更环保、更清洁、更健康的汽车
汽车与安全(2016年5期)2016-12-01 05:22:13
开展“大气污染执法年”行动 加快推动空气质量改善
Thomassen与曲面嵌入图的着色
就这样玩会VBA中常见的自定义控件
电脑迷(2012年24期)2012-04-29 00:44:03