基于GIS技术的长春市市民智能辅助选房系统研究
2021-09-10钟华孙敏吴琪赵天恺彭新源邵沣滉
钟华 孙敏 吴琪 赵天恺 彭新源 邵沣滉
摘要:传统的购房模式已经不再适应现如今多元化、多需求、多功能的购房需求体系。传统的购房方式中地产商需要以報纸、电视广告、传单或销售人员作为媒介来进行宣传扩散房源信息,购房者也同样是通过这些途径获取房源信息。如今3S技术在各个领域当中应用愈加广泛,其中GIS技术作为一种集成度灵活、数据的显示性能高、分析能力强大的平台,它依托跨平台能力灵活而且扩展性良好的VS开发软件与规模庞大的数据库基础将信息反馈给用户,这样避免了传统方式所带来的诸多不利因素。本文以长春市朝阳区小区信息数据为基础进行该系统的研究与开发。总体设计思路是基于ArcGIS Engine提供的数据处理功能,结合C#语言进行GIS的二次开发,实现基本的操作功能、数据编辑等组件功能,在独立的环境下进行间接地为长春市市民提供房屋信息的服务。
关键词:地理信息系统 ArcGIS Engine 智能选房系统 C#
0前言
近几十年来,随着国家进行国情普查、地籍测量、3D智慧城市建设、城市测量规划等项目的不断实施,GIS广阔的市场随之不断发展。GIS产品应用于各个领域当中,并逐渐跨越系统的技术层面,向着科学层面纵深发展,例如资源的合理开发、有效的管理、项目的规划和辅助决策等服务,因此我们的生活中GIS应用无处不在。其中GIS技术在智能选房领域里也有重要的应用[1]。李璇的成都市房产信息管理系统实现了依据图形对房产进行管理,提供了房屋属性数据录入、查询,新建开发项目销售情况实施更新等功能,对房地产管理具有重要意义[2]。
本文以ArcGIS为基础研发综合管理房源信息、智能房屋选择的信息化平台来替代传统的购房模式与信息获取模式,通过基础操作为用户提供可视化的信息效果,这样有利于与用户在购房过程中直观地寻找小区的基本信息,而且该系统还可以不断完善从而提高工作效率和业务质量。
1地理信息系统
1.1地理信息系统概念
地理信息系统这个概念最早是由加拿大测量学家R.F.Tomlison在20世纪60年代提出并建立,把地图变成数字形式的地图,并领导建立了世界第一个地理信息系统――CGIS,它具有覆盖,测量,资料数字化扫描的功能,支持一个跨越大陆的国家坐标系统[3]。世界上第一个房产地籍信息管理系统是1964年加拿大建立的,该系统的功能是管理城市土地信息和房产信息。
现代地理信息系统是一种综合了管理学、计算机科学、地图学、地理学等多门学科的综合性技术,它是在计算机硬、软件系统支持下,应用于整个或部分地球表层空间中的有关地理分布的数据,它为数据集成、空间分析和协作提供技术和方法,ArcGIS是一个可为用户提供全面的、可伸缩的GIS平台的产品。
1.2地理信息系统特点
1.2.1开放性
地理信息系统的开放式特点可以体现四个方面,一是GIS可以为ERP、OA、CRM、SCADA、MIS、EMS等各类操作系统提供标准化的接口;二是GIS能够对各类的操作平台很好的兼容性;三是GIS对于开发工具和编程语言具备多种选择性;四是GIS技术可以搭建在Sqlserver、Oracle、Mysql等大型数据库管理系统来进行大数据采集分析处理显示。
1.2.2先进性
GIS的设计采用与时俱进的计算机网络技术、数据库技术、计算机图形技术以及地理信息处理技术, 它不仅能够远程进行数据的查询,而且可以提供非常强大的图表输出从而实现远程直接实现各类数据、统计、打印地图等功能。GIS的总体设计地图精度可达市级地图比例尺1:500或1:1000,省级地图比例尺为1:5000或1:10000,道路、行政区域、建筑物、水系、山川等能够在地图上进行图层分层显示,可判断线路的方位和分析判断区域,为用户提供综合统计分析和可靠的辅助决策,使管理人员的决策更有依据。
1.2.3发展性
GIS的开发工具通常采用的是可扩展性语言标记xml、面向对象的C#、制作动态网页的Apple 技术框架下的J2EE等,开发人员在应用开发的过程中就会考虑GIS成功后的维护性扩展功能及与其他应用系统的兼容、更新等的进一步发展情况,而恰好GIS具备这一优点,因此GIS的可连接性和扩充性是非常有效的。
2基于ArcGIS的二次开发方法
2.1基于MO的二次开发
MO是一个ActiveX控件,因此其具备能够无障碍嵌入至开发环境的优点,而且可以很好地与可视化程序中的库或者其他控件连接,例如在VB系统下的二次开发可以先激活工具箱,找到Map Object Map Control组件,然后开发人员即可通过编程语言实现在MO控件中显现各种功能操作和显现地图。
2.2基于ArcMap应用框架定制开发模式
由于ArcMap具备编辑、地图分析、制图等基本地图的所有功能,因此可以利用它的应用框架来定制开发模式。例如可以把ArcMap插入到其他的应用软件中,也可以将其他的OLE组件插入到ArcMap中协同作用,还可以通过宏模式来方便快捷系统的完成所需要的工作,使用ArcMap提供的控制工具设计目标界面推陈出新。
2.3基于ArcObjects单纯开发模式
ArcObjects的一整套COM组件集是以Microsoft COM为技术基础创建的,这个开发平台也是ESRI公司ArcGIS系列中的应用程序ArcScene、ArcCataiog和ArcMap三个应用程序的开发平台。
2.4基于ArcGIS Engine的二次开发
从组成上来说,ArcGIS Engine作为嵌入式GIS,是由一组核心的ArcGISobjects包组成的,是独立存在的,因此能够与各种编程接口无缝连接,而且在进行GIS应用开发时彻底脱离开ArcGIS桌面平台。可以用来在一个组织内部建立应用,其对象与使用平台没有关系,能为使用者提供特需的定制化的GIS功能。
通过对GIS二次开发多种方法的综合研究,发现ArcGIS Engine为用户提供针对性GIS功能的同时其开发方式相对来说具有简单、快捷的特点,开发过程脱离GIS并且能在各种编程接口中运用,能简单快速的生产出GIS产品。因此考虑到以上特点本人决定采用基于ArcGIS Engine的二次开发来对长春市市民智能辅助选房系统进行开发。
3ArcGIS Engine介绍
3.1 ArcGIS Engine的组成
(1)控件
控件能够与应用程序搭配使用,是组成用户界面的一部分,一个内容表控件和一个地图控件可以达到在应用中展示和交互式运用地图的目的。目前主要用的控件有toolbarcontrol、pagelayout、mapcontral、toccontrol等[4]。
(2)工具条和工具
工具条即为GIS工具的集合,工具在应用程序的界面上以工具条的方式展现出来,在应用程序中用工具条来和地图及地理信息进行互动。缩放、平移、查询点击及各种选择都为工具。开发人员可以根據调用丰富的常规的工具和工具条来简化建立定制应用过程,也可以根据自己的习惯创建自己定制的工具或者将选择的工具拖放到定制应用中来实现与地图的交互作用。
(3)对象库
对象库包括geodatabase、GIS数据源和几何图形到制图等各种不同类型的库,是可以编程的ArcObject组件的集合。对于开发人员来讲,所有的ArcGIS功能都能够在ArcObject库的支持下实现,并能够通过C#、C++、java等这样的通用开发环境来访问。对象库是可编程AreObjects组件的集合,包括几何图形到制图、GIS数据源和 geodatabase等一系列库。在Windows,UNIX,和Linux平台的开发环境下使用这些库,程序员可以开发出从低级到高级的各种定制的应用[5]。相同的GIS库也是构成AreGIS桌面软件和ArcGISServer软件的基础。
3.2 ArcGIS Engine运行时选项
ArcGIS Engine运行的选项共有四种,这些附加的运行时选项提供的功能可以有效的为应用程序增加附加的编程能力,但增加能力的同时这些选项也需要具备engine的运行时位置。
3.3 ArcGIS Engine可实现功能
ArcGIS Engine能实现的功能主要包括:显示多个图层组成的地图、漫游和缩放地图、查找地图中的要素、显示航片和遥感影像的栅格数据、绘制几何要素、绘制描述性的文字、通过SQL表达式查询要素、渲染要素、动态显示实时数据,或时间序列数据、地图定位、几何操作、维护几何要素、创建和更新地理要素和属性。
4智能辅助选房系统的实现
4.1设计需求分析
主要包括:
(1)建立长春市区的小区电子地图,为购房者筛选直观、准确的数据信息,也可让用户通过相应的地理位置进行预览对比。
(2)建立整个长春市区房源的地理信息系统,为购房者提供准确、可靠,并随时根据遥感影像图的变化来动态更新数据库。
(3)利用面向对象的c#编程语言在VS软件上结合ArcGIS Engine建立以长春市房源地理信息系统为基础的智能选房系统。
通过对住房信息和消费者需求的分析进行总结,认定智能选房系统的信息主要分为以下两个方面:
(1)地理空间信息,即住房的空间位置信息,例如:小区位置、是否靠近公园、学校、等基础设施。
(2)房屋属性信息,即住房的属性信息,例如:名称、楼层、房屋价格等属性信息。
4.2数据库设计
4.2.1数据库设计思路
数据库的结构设计包括概念结构设计、逻辑结构设计和物理结构设计三大部分。智能选房系统数据库的设计以实现资源共享、异构数据库系统间数据库的访问为前提以数据的收集、汇总、更新为主线来动态满足实际需要以统一管理数据为目的但不影响数据的共享最终建立一个完善的、实用性和通用性强的需要的自动化管理信息系统。
4.2.2数据元素
本系统的数据分为电子地图数据和元素属性数据,所有操作都是以这些原始数据为基础的,由于智能选房系统需要区分不同的信息,所以这些都需要用属性表来说明。
系统中只包含了ArcGIS Engine拥有的shape文件,并且将这些文件全部装入到地理数据库中。电子地图数据如下:
4.3数据库的搭建
数据库搭建选用ArcMap10.2软件,利用软件建立个人地理数据库。启动ArcMap10.2在合适的目录下建立个人地理数据库下的要素数据集,在建立的要素数据集下创建要素类并对要素类进行名称、别名和要素类型属性按数据库的设计进行创建并按要求对创建要素的属性进行编辑;按照以上创建要素类的方法再分别创建道路、学校等要素并对其属性进行添加;加载长春市影像图并分别对绘制好的要素进行属性的添加、地图整饰。
4.4系统实现
按照长春市智能辅助择房系统的界面的设计,主界面的实现工作在Visual Studio软件Visual C#模板Windows窗体应用程序中添加相应的控件,其中主要添加的控件有axTOCControl、axMapControl、ConboBox、MenuStrip、axToolbarcontrol等。具体实现步骤如下:
(1)启动Visual Studio2012软件,新建Windows窗体应用程序。
(2)添加ArcGIS Windows Forms组件。
(3)选用控件。
(4)界面设计。
(5)添加控件功能。
(6)程序运行前先将以下软件代码输入使用AO对象的前端。
4.5界面功能实现
(1)变量初始化
给变量一个初始值因为变量或对象只是声明,而没有初始化的时候,是不允许被使用的,在程序运行时会发生错误。
(2)地图的操作
操作功能是对当前界面显示地图的一系列操作。地图的操作中包括放大功能、缩小功能、移动功能、显示选图全图功能、鹰眼功能以及鼠标在地图文档上可以触发的事件。
①地图放大:根据用户需要,对当前打开的地图进行放大顯示,以便查看地图的局部。
②地图缩小:根据用户需要,将当前显示较大的地图文档进行缩小查看。
③地图移动:根据用户的需要将想要查看但是未在当前窗口显示的地图进行移动,直到到当前窗口显示的是想要查看的地图。
④全图功能:根据用户需要让放大、缩小或平移后的地图全图显示在当前窗口。
(4)地图的查询
地图的查询包括三种功能分别是属性查询功能、空间查询功能和清除查询结果功能。
①属性查询功能:根据不同用户对房屋属性方面的不同要求筛选出满足用户需要的住房。
②空间查询功能:根据用户对住房空间位置方面的不同要求,可以实现将当前电子图上得到不同位置进行筛选。
③清除查询结果功能:每次进行属性查询和空间查询都会显示将查询结果高亮显示出来,下一次查询结果可以将上一次的查询结果进行替换,但是最后一次进行查询的结果会一直高亮显示,当需要清除所有查询结果的时候就需要用到清除查询结果功能。
5.结论
本文通过基于ArcGIS Engine的二次开发,结合长春市小区信息,搭建了一套简单化的智能选房软件。该系统是基于组件GIS技术开发的独立性系统,系统的运行主要依靠两方面,即长春市小区图和智能选房系统。该系统为购房者提供了不同的操作功能,让用户更便捷直观地对房源信息进行查看;此外,本次研究证明使用ArcGIS Engine二次开发的方法进行开发时可以实现一个具备常用功能并能够脱离ArcGIS软件而独立运行的高效率的应用程序。
6.参考文献
[1]吴玲敏.基于GIS草场牧户管理信息系统的研究[D].内蒙古农业大学.2009
[2]李璇.基于GIS的成都市房产信息管理系统设计与实现[D].成都理工大学,2015.
[3]王守一.地理信息系统[M].高等教育出版社,2004.
[4]阎波杰.ArcGis Engine地理信息系统的二次开发[D].西安科技大学,2006.
[5]孔繁弘.基于卫星遥感的海山交通检测与分析系统[D].大连海事大学.2009.
孙敏(通讯作者):女,1981年4月27日,吉林省磐石市,汉族,硕士,讲师,研究方向:工程测绘与地理信息系统
大学生创新创业项目:基于GIS技术的长春市市民智能辅助选房系统的研究 202011437037
长春工程学院勘查与测绘工程学院 吉林长春 130021