基于Google Maps的不动产可视化管理系统研究

2014-02-19 05:15赵建保
地理空间信息 2014年5期
关键词:属性数据矢量图经纬度

赵建保

(1.广东农工商职业技术学院,广东 广州510507)

不动产具有地理位置固定、个别性、耐久性和供给数量的有限性等自然特性,又具有价值量大、用途多样性、权益受限性、变现性差和保值增值性等社会经济特性。地理位置是决定不动产价值的根本因素,不动产管理分为物业管理、资产管理、组合投资管理3个层次[1,2]。

地理信息系统是分析和处理空间数据不可或缺的工具。系统开发方式有2种:一是采用标准的GIS电子地图开发平台进行开发,如 ArcGIS,MapXtreme和SuperMap平台,这种方式需购买开发平台和电子地图,二次开发工作量较大。二是采用Google Maps进行开发。Google Maps提供了免费开放的电子地图和强大的地方信息数据库,Google Maps JavaScript API编程接口提供了大量实用工具,支持处理地图,支持向地图添加内容,实现位置定位、个性化图示标记、设置标签、设置提示、地图缩放、平移等功能[3],目前使用发行版第3版。运用Google JavaScript API可构建位置服务、地理空间数据的互动可视化内容和自定义地图等地图应用[4]。空间数据是不动产管理信息化的基础,在Google地图和Google Maps JavaScript API基础上,加载企业不动产地理信息,增加不动产的属性数据,提供空间基础数据服务、经营管理数据服务和决策支持服务,实现对不动产的直观高效科学管理,能满足企业不动产管理信息化和可视化的应用需求。

1 系统功能需求分析

支持在Google Maps上绘制不动产矢量图。用户可直接在地图上绘制不动产矢量图,系统自动采集矢量图经纬度数据,并据此生成矢量图,通过在地图上叠加不动产矢量图层,为不动产管理的各级人员提供一个统一的电子地图入口,实现不动产在Google地图上的可视化显示。

支持在不动产矢量图上添加属性信息功能。可追加项目名称、项目地址、项目用途、面积、类别等信息,实现不动产空间数据与属性数据的联合操控。

支持不动产的信息分类查询和明细查询功能。支持按不动产类型分类查询,支持对特定不动产明细信息查询。

提供不动产的分布情况漫游功能。

支持地图基本操作,如地图放大缩小、不动产分类显示等功能。

2 系统设计

2.1 系统架构

系统体系结构采用B/S架构模式,包括3层体系结构,分为表现层、业务逻辑层和数据层,分别对应浏览器、Web服务器和数据库服务器3层体系架构,如图1所示。Web浏览器通过Web服务器获取地图服务和不动产信息数据。Apache Web服务器从Google Maps服务器获取地图数据及地方数据库数据,从MySQL数据库获取不动产属性数据,实现了不动产矢量图添加、矢量图更新、矢量图分类漫游、属性数据维护更新等操作。MySQL数据库服务器存储系统不动产属性数据,Google Maps服务器提供GIS服务和地图数据服务[5-8]。

2.2 数据库设计

数据库主要包括不动产信息表和用户信息表,其中不动产信息表结构如表1所示。

图1 系统架构

表1 不动产信息表

3 系统关键模块实现

前端开发采用HTML5+CSS+JavaScript技术,开发环境为WAMP,即操作系统为Windows 2003,Web服务器为Apache,数据库服务器为MySQL,开发语言为PHP,使用AJAX处理客户端与服务器端的数据通信。系统实现过程包括不动产数据采集、Google地图界面定制、不动产矢量图的显示与交互事件添加、不动产添加、修改和删除模块开发、不动产明细查询、不动产分类漫游模块开发等过程。

3.1 不动产数据采集

不动产数据采集包括空间属性数据采集和产权属性数据采集2项工作。空间属性数据采集内容有地块坐落、测量面积、层次等级、地段牌号等[9]。产权属性数据采集内容有名称、编号、地址、开发单位、建设单位、用途、许可证信息等产权属性数据。

3.2 Google地图界面定制模块

地图界面定制模块主要实现将页面划分为交互控制区和地图显示区,#map-canvas提供了地图显示的容器。首先使用 声明将应用声明为HTML5,采用DIV+CSS布局技术将页面分成左右两栏,使用 script 标记引用 Maps API JavaScript,其代码是:

然后,定义初始化函数initialize,定义地图选项mapOptions设置地图中心点经纬度、缩放级别和地图类型等,再使用Map类的对象依据地图选项创建嵌入#map-canvas的地图对象,并设置Maps API为异步加载方式,代码如下[10]:

var map;var myLatlng=[];var polygon=[];var coords=[];

function initialize() {

var myLatlng = new google.maps.LatLng(23. 1059047 2563574,113.32382440567017); var mapOptions = {zoom:17,center:myLatlng};

map = new google.maps.Map(document.getElement ById('map-canvas'),mapOptions);

google.maps.event.addDomListener(window, 'load',initialize);

嵌入Google Maps地图后,地图界面默认提供了平移、缩放和地图与卫星地图切换功能。

3.3 不动产矢量图的显示与交互事件添加

在地图初始化函数执行前,从MySQL数据库遍历所有不动产数据,对于矢量图经纬度数据$myarr[‘pshape’]需先按分隔符&拆分为坐标点,构建生成矢量图的坐标数组coords,通过Polygon类并以coords数组为参数构建不动产矢量图。setMap()方法用于在地图上显示该矢量图,再对该矢量图添加鼠标事件mouseover,实现当鼠标移动到矢量图上时执行javascript定义的showHint函数。该函数定义在不动产明细查询模块中,采用Ajax技术显示不动产属性数据,实现不动产矢量图显示、产权数据明细查询功能,达到不动产空间数据与属性数据联合操控的目的,代码如下:

3.4 不动产添加模块

不动产添加模块实现不动产矢量图轮廓点经纬度的捕捉和不动产属性数据输入,不动产属性数据输入通过HTML 表单来实现,其中项目名称pname、项目编号pnumID、项目地址paddress、开发单位pdeveloper、建设单位perector、项目用途pfunction、面积parea均为文本框类型。不动产类型ptype输入采用下拉列表项实现,轮廓数据pshape输入用多行文本框来实现,其表单代码为:。除轮廓图经纬度数据外,其他数据直接从键盘输入,轮廓数据则直接从地图界面中捕捉,实现的关键在于为地图添加鼠标单击事件并把当前鼠标单击点经纬度数据直接填入轮廓数据表单pshape,其不动产经纬度捕捉代码是:

3.5 不动产明细查询模块

地图应用页面刷新需重新下载地图和再次执行后台程序,程序设计时应尽量控制页面刷新次数,提高系统响应性能。对于不动产信息提示功能,采用Ajax能显著地提高系统响应性能。实现信息提示的Ajax代码为:

3.6 不动产分类漫游模块

将不动产按照地块、商业地产、住宅和其他4种类型进行分类管理和筛选,表单部分采用HTML表单的复选框,通过onchange检测复选框的变化,然后再通过Ajax刷新不动产矢量图的显示。

4 应用效果

图2 系统操作界面

系统操作界面如图2所示,位于左侧的交互控制区提供了分类漫游导航链接、不动产插入表单和不动产明细信息提示的显示区域,位于页面右侧的是地图显示区。将不动产数据输入不动产添加表单,调整地图缩放级别,然后直接在不动产轮廓上单击采集轮廓点经纬度数据,表单提交后属性数据和经纬度数据都保存到MySQL数据库中。不动产的显示及属性数据通过查询数据库得到。当鼠标移动到矢量图时,在不动产信息区显示该不动产的属性数据,信息直观全面,也可以通过链接删除和修改当前不动产信息。不动产分类查询表单提供了按不动产类型进行分类查询,也实现了地图基本操作和不动产漫游功能。

5 结 语

将不动产地理位置信息与传统不动产管理系统相结合,基于Google Maps、PHP+MySQL和网站前端技术,分析不动产管理业务需求,进行系统架构设计,编程实现了系统的关键模块。系统能够弥补传统不动产信息系统缺乏地理属性的缺陷,具有不动产可视化程度高、信息与地理空间信息融合、可扩展性强等特点。能为管理人员提供不动产的分布状况及详细信息,为客户提供可视化的不动产分布及漫游功能,提供了一种较为便捷可行的不动产管理系统建设方案。

[1]王丰. 不动产押品管理信息系统研究[D]. 南京:南京师范大学,2012

[2]杨福云. 提升广东农垦城市不动产经营效率之探讨[J]. 中国农垦,2008(10): 51-52

[3]钱慧如,罗荣良,朱勇. Google Maps在渠道管理系统中的应用[J]. 商场现代化,2010(9):22

[4]Google. Google Maps API[EB/OL]. https://developers.google.com/maps/?hl=zh-CN,2013-12-27

[5]唐桂文,谭衍涛. 基于AJAX和Google Maps API的WebGIS开发研究[J]. 测绘与空间地理信息,2013(8): 8-11

[6]陈骥,宋瑞霞,陈舜湖. 基于Google Maps的畜禽养殖场定位系统[J]. 河北农业科学,2011(2): 137-138

[7]杨小晴,罗畏,黄文嘉. 基于Google Map的楼盘信息发布系统的设计与实现[J]. 测绘工程,2011(2): 49-52

[8]梁智学. 基于Google Maps API的旅游信息系统设计与实现[J].计算机与现代化,2013(7): 208-211

[9]李柏,李平. 不动产统一登记后的测绘对策研究[J].山西建筑,2013,39(28):232-233

[10]Google .Google Maps Javascript API V3 Reference[EB/OL].https://developers.google.com/maps/documentation/javascript/reference?hl=zh-CN,2013-08-08

猜你喜欢
属性数据矢量图经纬度
Analysis of the line current differential protection considering inverter-interfaced generation station and countermeasures
基于GIS的房产测绘管理信息系统架构研究
无源多传感器综合数据关联算法研究
属性数据分析教学改革初探
基于经纬度范围的多点任务打包算法
利用矢量图对小物体从光滑斜面下滑运动探讨
自制中学实验操作型经纬测量仪
澳洲位移大,需调经纬度
网络中多敏感属性数据发布隐私保护研究
邻域平均法对矢量图平滑处理