基于百度地图API的农特产品地理信息系统设计与实现
2015-10-21张倩
摘要构建农特产品网络地理信息系统,对加强农产品宣传展示、满足消费者知情权利、提高生产者经营水平等具有重要意义。该研究以四川省汶川县为例,构建了基于百度地图API的农特产品地理信息系统,介绍了系统的设计方案和实现技术路线,并对数据库设计、系统开发关键技术及实现效果进行了详细阐述。
关键词百度地图API;农特产品;LAMP;地理信息系统
中图分类号S126文献标识码A文章编号0517-6611(2015)05-342-03
Design and Implementation of Geographical Information System for Agricultural Products Based on Baidu Map API
ZHANG Qian1, JIN Yun-tong2, LUO Yong3 et al
(1.Natural Resources & Science and Technology Information Research Institute of Aba, Aba, Sichuan 623000; 2. Kunming Uion Science and Technology Co. Ltd., Kunming, Yunnan 650051; 3. Sichuan Provincial Academy of Natural Resources Sciences Research, Chengdu, Sichuan 610015)
AbstractBuilding the web geographical information system for agricultural products, plays an very important role to strengthen the agricultural products publicity show, meet the consumers right to know, and improve the management level of producers. Taking Wenchuan County of Sichuan Province as an example, a geographical information system for agricultural products based on Baidu Map API was constructed. The design scheme of system was introduced and the technology route was realized, the design of the database, key technologies of the system were elaborated.
Key wordsBaidu Map API; Agricultural products; LAMP; GIS
基金項目四川省科技支撑计划项目(阿坝州城乡统筹信息平台)。
作者简介张倩(1974- ),女,回族,四川金川人,助理研究员,从事自然资源与科技信息研究。
收稿日期2014-12-24
近年来,随着经济发展水平和生活质量的提高,人们对农特产品的需求越来越大,对其产地、质量、安全要素日益关注。面向主要农特产品的生产、销售、管理,应用先进的计算机技术,对农特产品进行宣传、展示,为消费者提供可靠的相关信息,对提高农特产品的管理水平,加强相关部门监管能力,满足消费者知情权利,提高生产者经营水平,提升农特产品的市场竞争力具有重要作用。农特产品相关信息都具有显著的地理位置特性,而当前快速发展网络地理信息技术(WebGIS),以其强大的空间数据管理与分析、属性数据查询等功能,以及信息动态实时更新、图文并茂、形象直观表达的优势[1-2],为搭建农特产品地理信息系统提供了强有力手段。传统的网络地理信息系统建设过程复杂、维护成本较高,百度地图API技术适用于构建中小型WebGIS。
四川省汶川县自然资源条件得天独厚的,境内有甜樱桃、红脆李等10余种特色水果以及西红柿、莴笋等绿色蔬菜,在全省乃至全国农特产品中具有一定的知名度。该研究以汶川县为例,设计并构建了基于百度地图API的农特产品地理信息系统,介绍了系统的设计方案和实现技术路线,对数据库设计、系统开发关键技术及实现效果进行了详细阐述。
1百度地图API技术简介
百度地图API是为开发者免费提供的一套基于百度地图服务的应用接口,包括JavaScript API、Web服务API、Android SDK、LBS云等多种开发工具与服务,提供了地图数据、地图显示、地图操作、地图标注、地图编辑、地图查询展现、搜索、定位等网络地图服务功能,适用于PC端、移动端、服务器等多种设备。它将平台和地理信息数据捆绑,把复杂的GIS底层逻辑进行封装和隐藏,以一种直观的方式提供服务,让使用者只需要按照百度的要求进行注册使用,在客户端不需要下载安装任何软件、控件或地图,所有运算均在百度服务器中运行[3-6]。因此,开发者只需要具备一定的HTML和JavaScript编程基础,通过应用百度地图API提供的方法、事件和封装的类,就可以将百度地图服务链接到自己的网站,并定制构建功能丰富、交互性强的应用程序。
2系统设计
2.1系统框架设计
根据百度地图 API特性,该系统基于B/S结构,应用LAMP(Linux + Apache + MySql + PHP)开源软件组合的解决方案进行开发。系统采用客户端、应用服务器和数据服务器3层结构进行设计[7-8]。其中,客户端主要实现地图展示和请求访问功能,在客户端浏览器页面设计地图浏览和相关信息查询界面,将用户查询等访问请求发送至服务器。应用服务器负责处理用户请求,将用户请求发送到搭建在Linux网络服务器上的Apache服务器,并通过Apache服务器调用PHP编译程序。数据服务器则用于存取各类空间数据和属性信息,该系统采用MySql数据库存取数据。系统体系结构见图1。
2.2系统功能设计
结合农特产品数据特征、信息化管理需求以及WebGIS的特点,系统功能主要包括基本的GIS操作功能、信息展示功能、数据统计功能以及数据管理功能。基本的GIS操作功能包括背景图层选择、地图放缩放等。信息展示功能是该系统的核心功能,以快捷的、用户容易接受的方式展现关注的相关信息,包括地理位置、图片、视频等相关数据。数据统计功能主要包括农特产品的规模和产量统计。数据管理功能包括数据录入、导入、修改、删除等,该功能在后台通过操作数据库管理系统来实现。
2.3数据库设计
系统采用MySQL作为数据库管理软件,将相关数据分类成数据表进行存储。农特产品信息涉及到空间数据和专题属性数据,涵盖产品、产地、业主等相关信息。根据各类数据的特点及其相关性,主要设计行政区划、产品分类、专业合作组织、农家乐、农业大户、农业企业等数据表。涉及空间位置信息的数据以经纬度表示,并将空间信息与所在的行政区域用区划编号进行关联,以便开展空间定位和相应的查询。图片和视频信息单独存储,通过URL链接。以行政区划和专业合作社为例,其表结构见表1~2。
3系统实现关键技术探讨
3.1地图加载与初始化
系统的实现首先要加载百度提供的背景地图,并在页面中适当的位置显示。通过获取百度实现百度地图API授权,设置地图的显示区域、初始显示比例,进而加载并地图初始化地图页面。其关键代码如下:
//获取百度地圖API