鐘華 孫敏 吳琪 趙天愷 彭新源 邵灃滉
摘要:傳統(tǒng)的購房模式已經(jīng)不再適應(yīng)現(xiàn)如今多元化、多需求、多功能的購房需求體系。傳統(tǒng)的購房方式中地產(chǎn)商需要以報紙、電視廣告、傳單或銷售人員作為媒介來進行宣傳擴散房源信息,購房者也同樣是通過這些途徑獲取房源信息。如今3S技術(shù)在各個領(lǐng)域當中應(yīng)用愈加廣泛,其中GIS技術(shù)作為一種集成度靈活、數(shù)據(jù)的顯示性能高、分析能力強大的平臺,它依托跨平臺能力靈活而且擴展性良好的VS開發(fā)軟件與規(guī)模龐大的數(shù)據(jù)庫基礎(chǔ)將信息反饋給用戶,這樣避免了傳統(tǒng)方式所帶來的諸多不利因素。本文以長春市朝陽區(qū)小區(qū)信息數(shù)據(jù)為基礎(chǔ)進行該系統(tǒng)的研究與開發(fā)。總體設(shè)計思路是基于ArcGIS Engine提供的數(shù)據(jù)處理功能,結(jié)合C#語言進行GIS的二次開發(fā),實現(xiàn)基本的操作功能、數(shù)據(jù)編輯等組件功能,在獨立的環(huán)境下進行間接地為長春市市民提供房屋信息的服務(wù)。
關(guān)鍵詞:地理信息系統(tǒng) ArcGIS Engine 智能選房系統(tǒng) C#
0前言
近幾十年來,隨著國家進行國情普查、地籍測量、3D智慧城市建設(shè)、城市測量規(guī)劃等項目的不斷實施,GIS廣闊的市場隨之不斷發(fā)展。GIS產(chǎn)品應(yīng)用于各個領(lǐng)域當中,并逐漸跨越系統(tǒng)的技術(shù)層面,向著科學層面縱深發(fā)展,例如資源的合理開發(fā)、有效的管理、項目的規(guī)劃和輔助決策等服務(wù),因此我們的生活中GIS應(yīng)用無處不在。其中GIS技術(shù)在智能選房領(lǐng)域里也有重要的應(yīng)用[1]。李璇的成都市房產(chǎn)信息管理系統(tǒng)實現(xiàn)了依據(jù)圖形對房產(chǎn)進行管理,提供了房屋屬性數(shù)據(jù)錄入、查詢,新建開發(fā)項目銷售情況實施更新等功能,對房地產(chǎn)管理具有重要意義[2]。
本文以ArcGIS為基礎(chǔ)研發(fā)綜合管理房源信息、智能房屋選擇的信息化平臺來替代傳統(tǒng)的購房模式與信息獲取模式,通過基礎(chǔ)操作為用戶提供可視化的信息效果,這樣有利于與用戶在購房過程中直觀地尋找小區(qū)的基本信息,而且該系統(tǒng)還可以不斷完善從而提高工作效率和業(yè)務(wù)質(zhì)量。
1地理信息系統(tǒng)
1.1地理信息系統(tǒng)概念
地理信息系統(tǒng)這個概念最早是由加拿大測量學家R.F.Tomlison在20世紀60年代提出并建立,把地圖變成數(shù)字形式的地圖,并領(lǐng)導建立了世界第一個地理信息系統(tǒng)――CGIS,它具有覆蓋,測量,資料數(shù)字化掃描的功能,支持一個跨越大陸的國家坐標系統(tǒng)[3]。世界上第一個房產(chǎn)地籍信息管理系統(tǒng)是1964年加拿大建立的,該系統(tǒng)的功能是管理城市土地信息和房產(chǎn)信息。
現(xiàn)代地理信息系統(tǒng)是一種綜合了管理學、計算機科學、地圖學、地理學等多門學科的綜合性技術(shù),它是在計算機硬、軟件系統(tǒng)支持下,應(yīng)用于整個或部分地球表層空間中的有關(guān)地理分布的數(shù)據(jù),它為數(shù)據(jù)集成、空間分析和協(xié)作提供技術(shù)和方法,ArcGIS是一個可為用戶提供全面的、可伸縮的GIS平臺的產(chǎn)品。
1.2地理信息系統(tǒng)特點
1.2.1開放性
地理信息系統(tǒng)的開放式特點可以體現(xiàn)四個方面,一是GIS可以為ERP、OA、CRM、SCADA、MIS、EMS等各類操作系統(tǒng)提供標準化的接口;二是GIS能夠?qū)Ω黝惖牟僮髌脚_很好的兼容性;三是GIS對于開發(fā)工具和編程語言具備多種選擇性;四是GIS技術(shù)可以搭建在Sqlserver、Oracle、Mysql等大型數(shù)據(jù)庫管理系統(tǒng)來進行大數(shù)據(jù)采集分析處理顯示。
1.2.2先進性
GIS的設(shè)計采用與時俱進的計算機網(wǎng)絡(luò)技術(shù)、數(shù)據(jù)庫技術(shù)、計算機圖形技術(shù)以及地理信息處理技術(shù), 它不僅能夠遠程進行數(shù)據(jù)的查詢,而且可以提供非常強大的圖表輸出從而實現(xiàn)遠程直接實現(xiàn)各類數(shù)據(jù)、統(tǒng)計、打印地圖等功能。GIS的總體設(shè)計地圖精度可達市級地圖比例尺1:500或1:1000,省級地圖比例尺為1:5000或1:10000,道路、行政區(qū)域、建筑物、水系、山川等能夠在地圖上進行圖層分層顯示,可判斷線路的方位和分析判斷區(qū)域,為用戶提供綜合統(tǒng)計分析和可靠的輔助決策,使管理人員的決策更有依據(jù)。
1.2.3發(fā)展性
GIS的開發(fā)工具通常采用的是可擴展性語言標記xml、面向?qū)ο蟮腃#、制作動態(tài)網(wǎng)頁的Apple 技術(shù)框架下的J2EE等,開發(fā)人員在應(yīng)用開發(fā)的過程中就會考慮GIS成功后的維護性擴展功能及與其他應(yīng)用系統(tǒng)的兼容、更新等的進一步發(fā)展情況,而恰好GIS具備這一優(yōu)點,因此GIS的可連接性和擴充性是非常有效的。
2基于ArcGIS的二次開發(fā)方法
2.1基于MO的二次開發(fā)
MO是一個ActiveX控件,因此其具備能夠無障礙嵌入至開發(fā)環(huán)境的優(yōu)點,而且可以很好地與可視化程序中的庫或者其他控件連接,例如在VB系統(tǒng)下的二次開發(fā)可以先激活工具箱,找到Map Object Map Control組件,然后開發(fā)人員即可通過編程語言實現(xiàn)在MO控件中顯現(xiàn)各種功能操作和顯現(xiàn)地圖。
2.2基于ArcMap應(yīng)用框架定制開發(fā)模式
由于ArcMap具備編輯、地圖分析、制圖等基本地圖的所有功能,因此可以利用它的應(yīng)用框架來定制開發(fā)模式。例如可以把ArcMap插入到其他的應(yīng)用軟件中,也可以將其他的OLE組件插入到ArcMap中協(xié)同作用,還可以通過宏模式來方便快捷系統(tǒng)的完成所需要的工作,使用ArcMap提供的控制工具設(shè)計目標界面推陳出新。
2.3基于ArcObjects單純開發(fā)模式
ArcObjects的一整套COM組件集是以Microsoft COM為技術(shù)基礎(chǔ)創(chuàng)建的,這個開發(fā)平臺也是ESRI公司ArcGIS系列中的應(yīng)用程序ArcScene、ArcCataiog和ArcMap三個應(yīng)用程序的開發(fā)平臺。
2.4基于ArcGIS Engine的二次開發(fā)
從組成上來說,ArcGIS Engine作為嵌入式GIS,是由一組核心的ArcGISobjects包組成的,是獨立存在的,因此能夠與各種編程接口無縫連接,而且在進行GIS應(yīng)用開發(fā)時徹底脫離開ArcGIS桌面平臺??梢杂脕碓谝粋€組織內(nèi)部建立應(yīng)用,其對象與使用平臺沒有關(guān)系,能為使用者提供特需的定制化的GIS功能。
通過對GIS二次開發(fā)多種方法的綜合研究,發(fā)現(xiàn)ArcGIS Engine為用戶提供針對性GIS功能的同時其開發(fā)方式相對來說具有簡單、快捷的特點,開發(fā)過程脫離GIS并且能在各種編程接口中運用,能簡單快速的生產(chǎn)出GIS產(chǎn)品。因此考慮到以上特點本人決定采用基于ArcGIS Engine的二次開發(fā)來對長春市市民智能輔助選房系統(tǒng)進行開發(fā)。
3ArcGIS Engine介紹
3.1 ArcGIS Engine的組成
(1)控件
控件能夠與應(yīng)用程序搭配使用,是組成用戶界面的一部分,一個內(nèi)容表控件和一個地圖控件可以達到在應(yīng)用中展示和交互式運用地圖的目的。目前主要用的控件有toolbarcontrol、pagelayout、mapcontral、toccontrol等[4]。
(2)工具條和工具
工具條即為GIS工具的集合,工具在應(yīng)用程序的界面上以工具條的方式展現(xiàn)出來,在應(yīng)用程序中用工具條來和地圖及地理信息進行互動??s放、平移、查詢點擊及各種選擇都為工具。開發(fā)人員可以根據(jù)調(diào)用豐富的常規(guī)的工具和工具條來簡化建立定制應(yīng)用過程,也可以根據(jù)自己的習慣創(chuàng)建自己定制的工具或者將選擇的工具拖放到定制應(yīng)用中來實現(xiàn)與地圖的交互作用。
(3)對象庫
對象庫包括geodatabase、GIS數(shù)據(jù)源和幾何圖形到制圖等各種不同類型的庫,是可以編程的ArcObject組件的集合。對于開發(fā)人員來講,所有的ArcGIS功能都能夠在ArcObject庫的支持下實現(xiàn),并能夠通過C#、C++、java等這樣的通用開發(fā)環(huán)境來訪問。對象庫是可編程AreObjects組件的集合,包括幾何圖形到制圖、GIS數(shù)據(jù)源和 geodatabase等一系列庫。在Windows,UNIX,和Linux平臺的開發(fā)環(huán)境下使用這些庫,程序員可以開發(fā)出從低級到高級的各種定制的應(yīng)用[5]。相同的GIS庫也是構(gòu)成AreGIS桌面軟件和ArcGISServer軟件的基礎(chǔ)。
3.2 ArcGIS Engine運行時選項
ArcGIS Engine運行的選項共有四種,這些附加的運行時選項提供的功能可以有效的為應(yīng)用程序增加附加的編程能力,但增加能力的同時這些選項也需要具備engine的運行時位置。
3.3 ArcGIS Engine可實現(xiàn)功能
ArcGIS Engine能實現(xiàn)的功能主要包括:顯示多個圖層組成的地圖、漫游和縮放地圖、查找地圖中的要素、顯示航片和遙感影像的柵格數(shù)據(jù)、繪制幾何要素、繪制描述性的文字、通過SQL表達式查詢要素、渲染要素、動態(tài)顯示實時數(shù)據(jù),或時間序列數(shù)據(jù)、地圖定位、幾何操作、維護幾何要素、創(chuàng)建和更新地理要素和屬性。
4智能輔助選房系統(tǒng)的實現(xiàn)
4.1設(shè)計需求分析
主要包括:
(1)建立長春市區(qū)的小區(qū)電子地圖,為購房者篩選直觀、準確的數(shù)據(jù)信息,也可讓用戶通過相應(yīng)的地理位置進行預(yù)覽對比。
(2)建立整個長春市區(qū)房源的地理信息系統(tǒng),為購房者提供準確、可靠,并隨時根據(jù)遙感影像圖的變化來動態(tài)更新數(shù)據(jù)庫。
(3)利用面向?qū)ο蟮腸#編程語言在VS軟件上結(jié)合ArcGIS Engine建立以長春市房源地理信息系統(tǒng)為基礎(chǔ)的智能選房系統(tǒng)。
通過對住房信息和消費者需求的分析進行總結(jié),認定智能選房系統(tǒng)的信息主要分為以下兩個方面:
(1)地理空間信息,即住房的空間位置信息,例如:小區(qū)位置、是否靠近公園、學校、等基礎(chǔ)設(shè)施。
(2)房屋屬性信息,即住房的屬性信息,例如:名稱、樓層、房屋價格等屬性信息。
4.2數(shù)據(jù)庫設(shè)計
4.2.1數(shù)據(jù)庫設(shè)計思路
數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計包括概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計和物理結(jié)構(gòu)設(shè)計三大部分。智能選房系統(tǒng)數(shù)據(jù)庫的設(shè)計以實現(xiàn)資源共享、異構(gòu)數(shù)據(jù)庫系統(tǒng)間數(shù)據(jù)庫的訪問為前提以數(shù)據(jù)的收集、匯總、更新為主線來動態(tài)滿足實際需要以統(tǒng)一管理數(shù)據(jù)為目的但不影響數(shù)據(jù)的共享最終建立一個完善的、實用性和通用性強的需要的自動化管理信息系統(tǒng)。
4.2.2數(shù)據(jù)元素
本系統(tǒng)的數(shù)據(jù)分為電子地圖數(shù)據(jù)和元素屬性數(shù)據(jù),所有操作都是以這些原始數(shù)據(jù)為基礎(chǔ)的,由于智能選房系統(tǒng)需要區(qū)分不同的信息,所以這些都需要用屬性表來說明。
系統(tǒng)中只包含了ArcGIS Engine擁有的shape文件,并且將這些文件全部裝入到地理數(shù)據(jù)庫中。電子地圖數(shù)據(jù)如下:
4.3數(shù)據(jù)庫的搭建
數(shù)據(jù)庫搭建選用ArcMap10.2軟件,利用軟件建立個人地理數(shù)據(jù)庫。啟動ArcMap10.2在合適的目錄下建立個人地理數(shù)據(jù)庫下的要素數(shù)據(jù)集,在建立的要素數(shù)據(jù)集下創(chuàng)建要素類并對要素類進行名稱、別名和要素類型屬性按數(shù)據(jù)庫的設(shè)計進行創(chuàng)建并按要求對創(chuàng)建要素的屬性進行編輯;按照以上創(chuàng)建要素類的方法再分別創(chuàng)建道路、學校等要素并對其屬性進行添加;加載長春市影像圖并分別對繪制好的要素進行屬性的添加、地圖整飾。
4.4系統(tǒng)實現(xiàn)
按照長春市智能輔助擇房系統(tǒng)的界面的設(shè)計,主界面的實現(xiàn)工作在Visual Studio軟件Visual C#模板Windows窗體應(yīng)用程序中添加相應(yīng)的控件,其中主要添加的控件有axTOCControl、axMapControl、ConboBox、MenuStrip、axToolbarcontrol等。具體實現(xiàn)步驟如下:
(1)啟動Visual Studio2012軟件,新建Windows窗體應(yīng)用程序。
(2)添加ArcGIS Windows Forms組件。
(3)選用控件。
(4)界面設(shè)計。
(5)添加控件功能。
(6)程序運行前先將以下軟件代碼輸入使用AO對象的前端。
4.5界面功能實現(xiàn)
(1)變量初始化
給變量一個初始值因為變量或?qū)ο笾皇锹暶?,而沒有初始化的時候,是不允許被使用的,在程序運行時會發(fā)生錯誤。
(2)地圖的操作
操作功能是對當前界面顯示地圖的一系列操作。地圖的操作中包括放大功能、縮小功能、移動功能、顯示選圖全圖功能、鷹眼功能以及鼠標在地圖文檔上可以觸發(fā)的事件。
①地圖放大:根據(jù)用戶需要,對當前打開的地圖進行放大顯示,以便查看地圖的局部。
②地圖縮小:根據(jù)用戶需要,將當前顯示較大的地圖文檔進行縮小查看。
③地圖移動:根據(jù)用戶的需要將想要查看但是未在當前窗口顯示的地圖進行移動,直到到當前窗口顯示的是想要查看的地圖。
④全圖功能:根據(jù)用戶需要讓放大、縮小或平移后的地圖全圖顯示在當前窗口。
(4)地圖的查詢
地圖的查詢包括三種功能分別是屬性查詢功能、空間查詢功能和清除查詢結(jié)果功能。
①屬性查詢功能:根據(jù)不同用戶對房屋屬性方面的不同要求篩選出滿足用戶需要的住房。
②空間查詢功能:根據(jù)用戶對住房空間位置方面的不同要求,可以實現(xiàn)將當前電子圖上得到不同位置進行篩選。
③清除查詢結(jié)果功能:每次進行屬性查詢和空間查詢都會顯示將查詢結(jié)果高亮顯示出來,下一次查詢結(jié)果可以將上一次的查詢結(jié)果進行替換,但是最后一次進行查詢的結(jié)果會一直高亮顯示,當需要清除所有查詢結(jié)果的時候就需要用到清除查詢結(jié)果功能。
5.結(jié)論
本文通過基于ArcGIS Engine的二次開發(fā),結(jié)合長春市小區(qū)信息,搭建了一套簡單化的智能選房軟件。該系統(tǒng)是基于組件GIS技術(shù)開發(fā)的獨立性系統(tǒng),系統(tǒng)的運行主要依靠兩方面,即長春市小區(qū)圖和智能選房系統(tǒng)。該系統(tǒng)為購房者提供了不同的操作功能,讓用戶更便捷直觀地對房源信息進行查看;此外,本次研究證明使用ArcGIS Engine二次開發(fā)的方法進行開發(fā)時可以實現(xiàn)一個具備常用功能并能夠脫離ArcGIS軟件而獨立運行的高效率的應(yīng)用程序。
6.參考文獻
[1]吳玲敏.基于GIS草場牧戶管理信息系統(tǒng)的研究[D].內(nèi)蒙古農(nóng)業(yè)大學.2009
[2]李璇.基于GIS的成都市房產(chǎn)信息管理系統(tǒng)設(shè)計與實現(xiàn)[D].成都理工大學,2015.
[3]王守一.地理信息系統(tǒng)[M].高等教育出版社,2004.
[4]閻波杰.ArcGis Engine地理信息系統(tǒng)的二次開發(fā)[D].西安科技大學,2006.
[5]孔繁弘.基于衛(wèi)星遙感的海山交通檢測與分析系統(tǒng)[D].大連海事大學.2009.
孫敏(通訊作者):女,1981年4月27日,吉林省磐石市,漢族,碩士,講師,研究方向:工程測繪與地理信息系統(tǒng)
大學生創(chuàng)新創(chuàng)業(yè)項目:基于GIS技術(shù)的長春市市民智能輔助選房系統(tǒng)的研究 202011437037
長春工程學院勘查與測繪工程學院 吉林長春 130021