论文部分内容阅读
摘要:本文参考以往地理信息工作中的经验,阐述使用百度地图API 技术来替代传统GIS 平台,在有效减少项目资金投入以及相关系统维护费用的基础上,建立小型地理信息系统,对系统体系结构进行了详细介绍,并对API系统构建步骤进行分析。
关键词:百度地图;API; 地理信息系统; 房产信息
Abstract: This article, according to the past geographical information experience, introduces the use of Baidu maps API technology to replace traditional GIS platform, on the basis of effectively reduce project funds and related system maintenance cost , develops small geographic information system, the system structure will be introduced, and also analyze the API system construction steps.
Keywords: Baidu map; API; geographic information systems; house property information
中图分类号:K90 文献标示码:A文章编号
随着科技的不断发展,社会对地理信息的需求越来越高,地理信息系统在国土资源、交通导航等众多领域都获得较大发展,国家、省市级的地理信息系统的应用已经非常广泛。但是另一方面,以往常用的GIS 平台的建设周期长、技术程序要求高,过程十分复杂、所要求的资金投入也明显较高,从小城市的地幅面积以及资金承受能力等实际因素来讲,GIS不适应中小城市建设地理信息系统实际情况的要求。为了能让地理信息系统的建设工作更加符合中小城市的实际情况,让这些数据信息在中小城市地理信息工作中更为有效地发挥作用,充分结合当地房产地理信息系统建设,使房产信息同空间信息充分结合,现多利用广泛使用的百度地图API应用接口,针对实际情况,创建小型地理信息系统,发布更准确、更方面、更智能的地理信息。
1 API以及百度地图简介
在WINDOWS程序设计的早期,程序员只能采用的API函数进行程序编写,这些函数作为程序与操作系统的接口而存在,将这些函数进行不同的组合,可以丰富的应用程序。API也因此在编程领域被赋予了很高的地位。那时的WINDOWS程序开发过程与现在相比还要复杂,程序员需要熟练掌握API函数,然而伴随计算机科技的不断发展,WINDOWS平台上出现了成熟的可视化编程环境,这些优秀的编程环境的操作技术相对简单、并提供了大量的类库以及各种控件,它们在很多方面替代了API的功能,但是实质上这些类库以及控件需要以WIN32 API函数作为基础,是以封装的方式将API函数进行了集合。它们的使用方法更加简便,所以能够极大促进应用程序开发。有了它们的帮助,程序员有更多精力放到对程序的整体设计上,但是,如果我们如果要开发出更灵活、更具效率的应用程序,必然需要直接借助API函数,虽然类库和控件将程序的开发简便化,但它们对于比较复杂和特殊的功能通常是束手无策的,这时API函数的巨大价值又得到了体现。
百度地图API 以JavaScript 的编写方式达到百度地图嵌入到网页的目的,其能够帮助用户网站中构建实用性极强的地图应用程序。同时能够为开发者提供丰富的控件、事件和封装的类,提供很多专门服务供用户使用包括本地搜索、路径导航等。它以深入浅出的方式將这些信息呈现给用户。用户只需按要求进行注册而无需下载安装软件、控件或地图等其他程序,运算即开始在服务器中开始运行,由API进行显示、分级缩放等功能。而开发者通过其API,利用JavaScript就能够将地图服务嵌入目标网页。利用API 技术构建WebGIS 平台,其设计采用客户端、应用服务器以及数据服务器三层结构。这三层具有自身独立的功能,客户端主要实负责地图的加载以及地图的查询等功能,客户端的主要任务是把用户的访问以及查询请求进行发送,上传给服务器。应用服务器则负责接收查询请求,数据服务器是各类地理信息的的存储中心,采用SQL Server进行数据库表格存取,在收到指令后进行相应操作。
2 百度地图特点
1 地图操作。地图操作是否简便是争取用户群的一项重要指数。百度地图操作相对简单,容易为普通用户所接受,主要操作包括移动、自由缩放。进行自由缩放时百度地图支持鼠标滚动,而且可以做到针对鼠标位置进行放大,这对普通用户来讲是十分方便的。
2 地图的预生成。地图在实际应用中并不是根据用户请求动态生成,而是经过预先处理的。当地图窗口发生改变,软件会自动下载新的图片来将改变进行填充,这是对浏览器多线程的充分利用。
3 分析功能。百度地图具有距离的测量、最佳路径分析等相关方面的空间分析功能。可以帮助用户进一步通过图像来了解周围世界。
4 开发成本。目前百度地图提供的API属于免费资源,用户无需花费服务费,降低了用户使用成本的同时也降低了二次开发门槛,对于扩展电子地图的使用具有重要意义。
3 房产及空间信息的平台构建
房产信息复杂多样,本文着重对房产的交易及管理信息进行介绍,这其中不仅包括房产的开发建设信息还包括商品房的预售信息以及交易信息。
3.1 数据库设计
数据分类主要包括空间数据和属性数据,对系统数据库的这种划分是以数据格式为基础来进行的,其中空间数据中包括两类,分别是特征地物点坐标数据以及房地产项目坐标数据;属性数据包括五类,分别是:行政区、街道信息; 特征地物信息; 居住区、商业区信息; 商品房预、销售信息;房屋登记机关信息。
各地虽然都建立了房产管理系统,但利用率并不是很高,为了改变这一现状,应当在充分利用现有信息的基础上与正在使用的商品房销售管理系统相结合,这样可以有效的避免资源的浪费与信息的重复采集。进行系统构建时采用了SQL Server 2005 数据库,在原有系统的数据库的基础上进行数据与功能上的增加以及数据视图的创建。
3.2主要用户群以及实现的功能
房产空间信息系统的服务受众人群主要包括以下两类用户: 第一类主要是公众用户: 通过网络访问,以B/S 模式实现对系统信息的发布以及相关的查询等; 第二类主要是指管理员用户,通过系统操作进行对房产信息的数据的编辑和管理工作,这一功能采用C/S 模式来实现数据维护管理工作。
3.3底层平台导入和开发步骤
百度地图API 是通过JavaScript以程序脚本方式将百度地图嵌入到用户网页的API。这一目标的实现方式的底层平台进行开发的主要步骤有以下几点:
1 用户进行注册进而获取密钥。这是百度规定的必经程序,对普通用户来讲注册也是一项非常简单的步骤,只需要同接受使用条款,便可以顺利实现免费注册进而获得用户使用密钥。
2 进行百度地图API加载。将地图api类库导入。在使用API 时,通过网络地址加载,在程序中加入以下代码:
< script src = " http: / /api. map. baidu. com/api? key =您的API 密钥&v = 版本&services = true 或者false" type= " text /javascript" > < /script >
在网页body 元素对地图容器进行定义。HTML是地图容器的必要元素,如在网页上创建一个尺寸为520 × 340的地图:< div style = " width: 520px; height: 340px; border: 1pxsolid JHJ000" id = " container" > < /div >
3 进行地图空间初始化。使用下面代码完成地图的创建和初始化工作:
①var map = new BMap. Map( " container" ) ; 创建地图示例
②var point = new BMap. Point( 116. 404,39. 915) ;创建点坐标
③map. centerAndZoom( point,15) ;经过简单的注册和初始化,便可以使用百度地图API 进行开发工作,
4 数据组织以及显示设计。百度地图同其他GIS系统一样,属于分层组织数据,除系统封装的层这一常规结构之外,百度地图中提供一个BMap. TileLayer类,通过对该类的利用可以实现用户自定义图层的功能。从而可以在原有层的基础上实现用户自定义层的添加,从而便于开发利用。在地图上可以加载地图覆盖物。适应API所提供的各种类在地图上进行标注、文本、以及信息窗口的添加。该系统设置一个新的Fcmap 图层,可将特征地物等设置成图标标注和文字覆盖物,采用不同的地标符号将其在图层上显示,其他相关信息也可以通过用户点击以图表以及文字的形式在弹出窗口或地图的一侧显示出来,除此之外,统计和查询功能也可以通过这种方式进行显示。这样可以有效减少信息在地图上的叠加,增加地图的可操作性。
5 地图的查询功能以及导航设计。通过使用系统自带的本地搜索以及SQL Server 数据库的中的属性以及空间条件实现查询功能。在页面上多种查询功能可供选择: ①点取查询,对某个信息点进行点击,系统就可以将相关信息显示出来。②一般条件查询,分析用户所提供的对应条件在数据库中进行检索,如果需要进行地图定位的话则将定位查询结果一并显示。查询条件可根据用户需求设为项目名称、主要标记點、区域等条件查询。③高级查询,利用这种查询,按用户需要提供不同的条件数据以及路线导航等功能,如统计某个时段、某个区域、不同类型房产开发的面积以及销售情况等信息; 路线导航则可以根据用户提供的信息查询出两点间可用的行车线路。
结论:本文基于百度地图API,与SQL Server 2005 数据库相结合,使用Javacript 语言进行空间信息发布平台的建设,能够让用户更为直观地进行空间信息的管理、浏览、编辑等相关工作,平台建设周期相对较短,维护简单,资金投入与传统方式相比较小,可操作性比较强,能够充分满足小型地理信息系统建设要求。
参考文献:
[1] 袁怀月,侯澄宇,杨恒等.基于ArcGIS Flex API的工厂基础地理信息共享服务系统设计[J].测绘工程,2011,20(2):61-65,69.
[2] 程超然,蒙嘉文,王朱涛等.基于Google Maps API的沙漠化地理信息系统设计方案[J].四川林业科技,2010,31(2):48-51.
[3] 杜传明.百度地图API在小型地理信息系统中的应用[J].测绘与空间地理信息,2011,34(2):152-153,156.
[4] 李莉,张楠.新型环境地理信息系统的架构设计[J].金陵科技学院学报,2010,26(4):41-44.
[5] 胡建国.基于万维网的地理信息查询系统研究与实现[D].华中科技大学,2004.
[6] 李宏静.基于VRGIS的三维数字管理信息系统研究——以长庆油田第四采油厂为例[D].西南大学,2009.
[7] 王艳华.基于ArcGIS的重庆市地下河数据库设计、实现和系统开发[D].西南大学,2010.
[8] 怡凯.基于Android的移动空间信息服务研究[D].辽宁师范大学,2009.
[9] 高尚赞,袁西亚.基于MO与ArcSDE地测管理的客户端实现[J].技术与创新管理,2008,29(6):655-657,681.
[10] 赵源,莫以为,刘斌双等.Google Maps API在物流监控管理信息系统中的应用[J].机械设计与制造,2010,(12):243-245.
注:文章内所有公式及图表请用PDF形式查看。
关键词:百度地图;API; 地理信息系统; 房产信息
Abstract: This article, according to the past geographical information experience, introduces the use of Baidu maps API technology to replace traditional GIS platform, on the basis of effectively reduce project funds and related system maintenance cost , develops small geographic information system, the system structure will be introduced, and also analyze the API system construction steps.
Keywords: Baidu map; API; geographic information systems; house property information
中图分类号:K90 文献标示码:A文章编号
随着科技的不断发展,社会对地理信息的需求越来越高,地理信息系统在国土资源、交通导航等众多领域都获得较大发展,国家、省市级的地理信息系统的应用已经非常广泛。但是另一方面,以往常用的GIS 平台的建设周期长、技术程序要求高,过程十分复杂、所要求的资金投入也明显较高,从小城市的地幅面积以及资金承受能力等实际因素来讲,GIS不适应中小城市建设地理信息系统实际情况的要求。为了能让地理信息系统的建设工作更加符合中小城市的实际情况,让这些数据信息在中小城市地理信息工作中更为有效地发挥作用,充分结合当地房产地理信息系统建设,使房产信息同空间信息充分结合,现多利用广泛使用的百度地图API应用接口,针对实际情况,创建小型地理信息系统,发布更准确、更方面、更智能的地理信息。
1 API以及百度地图简介
在WINDOWS程序设计的早期,程序员只能采用的API函数进行程序编写,这些函数作为程序与操作系统的接口而存在,将这些函数进行不同的组合,可以丰富的应用程序。API也因此在编程领域被赋予了很高的地位。那时的WINDOWS程序开发过程与现在相比还要复杂,程序员需要熟练掌握API函数,然而伴随计算机科技的不断发展,WINDOWS平台上出现了成熟的可视化编程环境,这些优秀的编程环境的操作技术相对简单、并提供了大量的类库以及各种控件,它们在很多方面替代了API的功能,但是实质上这些类库以及控件需要以WIN32 API函数作为基础,是以封装的方式将API函数进行了集合。它们的使用方法更加简便,所以能够极大促进应用程序开发。有了它们的帮助,程序员有更多精力放到对程序的整体设计上,但是,如果我们如果要开发出更灵活、更具效率的应用程序,必然需要直接借助API函数,虽然类库和控件将程序的开发简便化,但它们对于比较复杂和特殊的功能通常是束手无策的,这时API函数的巨大价值又得到了体现。
百度地图API 以JavaScript 的编写方式达到百度地图嵌入到网页的目的,其能够帮助用户网站中构建实用性极强的地图应用程序。同时能够为开发者提供丰富的控件、事件和封装的类,提供很多专门服务供用户使用包括本地搜索、路径导航等。它以深入浅出的方式將这些信息呈现给用户。用户只需按要求进行注册而无需下载安装软件、控件或地图等其他程序,运算即开始在服务器中开始运行,由API进行显示、分级缩放等功能。而开发者通过其API,利用JavaScript就能够将地图服务嵌入目标网页。利用API 技术构建WebGIS 平台,其设计采用客户端、应用服务器以及数据服务器三层结构。这三层具有自身独立的功能,客户端主要实负责地图的加载以及地图的查询等功能,客户端的主要任务是把用户的访问以及查询请求进行发送,上传给服务器。应用服务器则负责接收查询请求,数据服务器是各类地理信息的的存储中心,采用SQL Server进行数据库表格存取,在收到指令后进行相应操作。
2 百度地图特点
1 地图操作。地图操作是否简便是争取用户群的一项重要指数。百度地图操作相对简单,容易为普通用户所接受,主要操作包括移动、自由缩放。进行自由缩放时百度地图支持鼠标滚动,而且可以做到针对鼠标位置进行放大,这对普通用户来讲是十分方便的。
2 地图的预生成。地图在实际应用中并不是根据用户请求动态生成,而是经过预先处理的。当地图窗口发生改变,软件会自动下载新的图片来将改变进行填充,这是对浏览器多线程的充分利用。
3 分析功能。百度地图具有距离的测量、最佳路径分析等相关方面的空间分析功能。可以帮助用户进一步通过图像来了解周围世界。
4 开发成本。目前百度地图提供的API属于免费资源,用户无需花费服务费,降低了用户使用成本的同时也降低了二次开发门槛,对于扩展电子地图的使用具有重要意义。
3 房产及空间信息的平台构建
房产信息复杂多样,本文着重对房产的交易及管理信息进行介绍,这其中不仅包括房产的开发建设信息还包括商品房的预售信息以及交易信息。
3.1 数据库设计
数据分类主要包括空间数据和属性数据,对系统数据库的这种划分是以数据格式为基础来进行的,其中空间数据中包括两类,分别是特征地物点坐标数据以及房地产项目坐标数据;属性数据包括五类,分别是:行政区、街道信息; 特征地物信息; 居住区、商业区信息; 商品房预、销售信息;房屋登记机关信息。
各地虽然都建立了房产管理系统,但利用率并不是很高,为了改变这一现状,应当在充分利用现有信息的基础上与正在使用的商品房销售管理系统相结合,这样可以有效的避免资源的浪费与信息的重复采集。进行系统构建时采用了SQL Server 2005 数据库,在原有系统的数据库的基础上进行数据与功能上的增加以及数据视图的创建。
3.2主要用户群以及实现的功能
房产空间信息系统的服务受众人群主要包括以下两类用户: 第一类主要是公众用户: 通过网络访问,以B/S 模式实现对系统信息的发布以及相关的查询等; 第二类主要是指管理员用户,通过系统操作进行对房产信息的数据的编辑和管理工作,这一功能采用C/S 模式来实现数据维护管理工作。
3.3底层平台导入和开发步骤
百度地图API 是通过JavaScript以程序脚本方式将百度地图嵌入到用户网页的API。这一目标的实现方式的底层平台进行开发的主要步骤有以下几点:
1 用户进行注册进而获取密钥。这是百度规定的必经程序,对普通用户来讲注册也是一项非常简单的步骤,只需要同接受使用条款,便可以顺利实现免费注册进而获得用户使用密钥。
2 进行百度地图API加载。将地图api类库导入。在使用API 时,通过网络地址加载,在程序中加入以下代码:
< script src = " http: / /api. map. baidu. com/api? key =您的API 密钥&v = 版本&services = true 或者false" type= " text /javascript" > < /script >
在网页body 元素对地图容器进行定义。HTML是地图容器的必要元素,如在网页上创建一个尺寸为520 × 340的地图:< div style = " width: 520px; height: 340px; border: 1pxsolid JHJ000" id = " container" > < /div >
3 进行地图空间初始化。使用下面代码完成地图的创建和初始化工作:
①var map = new BMap. Map( " container" ) ; 创建地图示例
②var point = new BMap. Point( 116. 404,39. 915) ;创建点坐标
③map. centerAndZoom( point,15) ;经过简单的注册和初始化,便可以使用百度地图API 进行开发工作,
4 数据组织以及显示设计。百度地图同其他GIS系统一样,属于分层组织数据,除系统封装的层这一常规结构之外,百度地图中提供一个BMap. TileLayer类,通过对该类的利用可以实现用户自定义图层的功能。从而可以在原有层的基础上实现用户自定义层的添加,从而便于开发利用。在地图上可以加载地图覆盖物。适应API所提供的各种类在地图上进行标注、文本、以及信息窗口的添加。该系统设置一个新的Fcmap 图层,可将特征地物等设置成图标标注和文字覆盖物,采用不同的地标符号将其在图层上显示,其他相关信息也可以通过用户点击以图表以及文字的形式在弹出窗口或地图的一侧显示出来,除此之外,统计和查询功能也可以通过这种方式进行显示。这样可以有效减少信息在地图上的叠加,增加地图的可操作性。
5 地图的查询功能以及导航设计。通过使用系统自带的本地搜索以及SQL Server 数据库的中的属性以及空间条件实现查询功能。在页面上多种查询功能可供选择: ①点取查询,对某个信息点进行点击,系统就可以将相关信息显示出来。②一般条件查询,分析用户所提供的对应条件在数据库中进行检索,如果需要进行地图定位的话则将定位查询结果一并显示。查询条件可根据用户需求设为项目名称、主要标记點、区域等条件查询。③高级查询,利用这种查询,按用户需要提供不同的条件数据以及路线导航等功能,如统计某个时段、某个区域、不同类型房产开发的面积以及销售情况等信息; 路线导航则可以根据用户提供的信息查询出两点间可用的行车线路。
结论:本文基于百度地图API,与SQL Server 2005 数据库相结合,使用Javacript 语言进行空间信息发布平台的建设,能够让用户更为直观地进行空间信息的管理、浏览、编辑等相关工作,平台建设周期相对较短,维护简单,资金投入与传统方式相比较小,可操作性比较强,能够充分满足小型地理信息系统建设要求。
参考文献:
[1] 袁怀月,侯澄宇,杨恒等.基于ArcGIS Flex API的工厂基础地理信息共享服务系统设计[J].测绘工程,2011,20(2):61-65,69.
[2] 程超然,蒙嘉文,王朱涛等.基于Google Maps API的沙漠化地理信息系统设计方案[J].四川林业科技,2010,31(2):48-51.
[3] 杜传明.百度地图API在小型地理信息系统中的应用[J].测绘与空间地理信息,2011,34(2):152-153,156.
[4] 李莉,张楠.新型环境地理信息系统的架构设计[J].金陵科技学院学报,2010,26(4):41-44.
[5] 胡建国.基于万维网的地理信息查询系统研究与实现[D].华中科技大学,2004.
[6] 李宏静.基于VRGIS的三维数字管理信息系统研究——以长庆油田第四采油厂为例[D].西南大学,2009.
[7] 王艳华.基于ArcGIS的重庆市地下河数据库设计、实现和系统开发[D].西南大学,2010.
[8] 怡凯.基于Android的移动空间信息服务研究[D].辽宁师范大学,2009.
[9] 高尚赞,袁西亚.基于MO与ArcSDE地测管理的客户端实现[J].技术与创新管理,2008,29(6):655-657,681.
[10] 赵源,莫以为,刘斌双等.Google Maps API在物流监控管理信息系统中的应用[J].机械设计与制造,2010,(12):243-245.
注:文章内所有公式及图表请用PDF形式查看。