基于Google地圖房地產(chǎn)評估行業(yè)數(shù)據(jù)庫系統(tǒng)的研究與開發(fā)
肖 陽 張 飛
(作者單位:江蘇蘇地仁合土地房地產(chǎn)評估咨詢有限公司)
摘要:針對國內(nèi)房地產(chǎn)評估行業(yè)缺少獨有行業(yè)數(shù)據(jù)庫的現(xiàn)狀,為有效管理評估項目、出具準確的評估報告及縮短出具報告的時間周期,本文探討應(yīng)用Google地圖應(yīng)用程序編程接口技術(shù)建立評估行業(yè)數(shù)據(jù)庫查詢管理系統(tǒng),系統(tǒng)服務(wù)器端基于Apache+PHP+MySQL架構(gòu),操作簡便,調(diào)試及維護方便。
關(guān)鍵字:Google地圖應(yīng)用程序編程接口技術(shù) 評估 數(shù)據(jù)庫
正文
目前,計算機技術(shù)已經(jīng)在各個行業(yè)中得到了廣泛的應(yīng)用,在評估工作中,筆者借助計算機軟件,試探性的建設(shè)評估行業(yè)數(shù)據(jù)庫查詢管理系統(tǒng),以達到直觀、方便的查詢及了解評估項目、期望使用者能夠全局把握市場、為準確預(yù)測市場變化提供幫助。
第一,系統(tǒng)的設(shè)計
(一)設(shè)計思路
1、將評估單位所擁有的信息(比如項目的名稱、位置、價格等)輸入并建立數(shù)據(jù)庫,形成管理系統(tǒng)的基礎(chǔ)。運用數(shù)據(jù)庫語言,設(shè)置常用查詢條件。
數(shù)據(jù)庫我們采用MySQL,MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司,是一個真正的多用戶,多線程數(shù)據(jù)庫服務(wù)器。我們選用PHPMyAdmin可視化的數(shù)據(jù)庫管理工具對數(shù)據(jù)庫進行增加、刪除記錄等操作。
2、運用超文本標記語言及Google地圖應(yīng)用程序編程接口技術(shù),在網(wǎng)頁上嵌入Google地圖,再結(jié)合PHP等編程語言將查詢的結(jié)果呈現(xiàn)在Google電子地圖上。
Google地圖應(yīng)用程序編程接口技術(shù)是Google公司為開發(fā)者提供的地圖應(yīng)用程序編程接口技術(shù)。它允許開發(fā)者在不必建立自己的地圖服務(wù)器的情況下,將Google地圖數(shù)據(jù)嵌入到網(wǎng)頁之中,從而實現(xiàn)嵌入 Google的地圖服務(wù)應(yīng)用,并借助Google的地圖數(shù)據(jù)為用戶提供位置服務(wù),結(jié)合估價行業(yè)實際的需求,對評估項目及信息實現(xiàn)有效、直觀的管理。
HTML為超文本標記語言,編輯頁面使用的WWW描述語言。
PHP是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,執(zhí)行效率高,功能強大,而且支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。
3、采用OpenFlashChart報表組件,把查詢的結(jié)果形成圖表,能夠直觀的了解目標數(shù)據(jù)的走勢。
(二)系統(tǒng)主體設(shè)計
系統(tǒng)主體架構(gòu)為瀏覽器/服務(wù)器架構(gòu),數(shù)據(jù)庫和應(yīng)用程序代碼均安裝于服務(wù)器端,便于集中管理,服務(wù)器端為Apache+PHP+MySQL。
對于服務(wù)器端,我們采用AppServ軟件,軟件作者將一些資源整合成單一的安裝程序,以方便操作者快速架設(shè)服務(wù)器,AppServ所包含的軟件有:Apache、Apache Monitor、PHP、MySQL等。
Apache是世界有名的網(wǎng)站服務(wù)器軟件。它可以運行在幾乎所有的計算機平臺上,其優(yōu)點為簡單、速度快、性能穩(wěn)定,并可做代理服務(wù)器來使用。
第二、系統(tǒng)功能及實現(xiàn)
(一)基礎(chǔ)條件的完備
1、基礎(chǔ)數(shù)據(jù)庫的建立。
首先,數(shù)據(jù)庫的數(shù)據(jù)來源有兩種,一是從各個渠道收集的不動產(chǎn)成交信息,經(jīng)過核實之后可以作為估價報告的比較案例使用;二是評估公司日常的評估報告,前提是評估結(jié)果符合正常的市場價值。
根據(jù)數(shù)據(jù)的來源,基礎(chǔ)數(shù)據(jù)庫將建有評估信息表及案例信息表,兩種表根據(jù)不動產(chǎn)的類型分為房地產(chǎn)信息表和土地信息表,評估信息表主要字段包括序號、估價報告編號、估價時點、物業(yè)類型、物業(yè)名稱、物業(yè)地址、所在板塊、面積、評估單價、總價、估價人員等;案例信息表主要字段包括序號、交易日期、物業(yè)類型、物業(yè)名稱、物業(yè)地址、所在板塊、成交單價、成交總價等。
另外,對于基礎(chǔ)數(shù)據(jù)數(shù)據(jù)量較大、行業(yè)內(nèi)普遍缺少相應(yīng)的數(shù)據(jù)錄入人員的狀況,可采用PHPmyadmin將數(shù)據(jù)整體導(dǎo)入MySQL數(shù)據(jù)庫中。
2、加載Google地圖
為使Google地圖加載到網(wǎng)頁上,需先申請一個Google地圖的密匙(http: //www.google.com/apis/maps/signup.html),在頁面提示的網(wǎng)址文本框內(nèi)輸入服務(wù)器所在的網(wǎng)址并確認 Google的約束條款后,Google會直接顯示一個分配的密匙,該密匙由字母數(shù)字組成與Google帳戶和服務(wù)網(wǎng)址相關(guān)。
在編輯的網(wǎng)頁文件內(nèi)加入以下代碼:<script src=http://ditu.google.cn/maps?file =api&v=2&key=******&sensor=true_or_false"
type=”text/javascript “></script>
http://ditu.google.cn/maps?file=api&v=2&key=abcdefg網(wǎng)址指向包含使用Google地圖應(yīng)用程序編程接口所需所有符號和定義的JavaScript文件的位置。必須包含指向此網(wǎng)址的script標簽,使用注冊API時收到的密鑰(即key=******)。同時,要使地圖在網(wǎng)頁上顯示,必須為其留出位置,通常通過創(chuàng)建名為div的元素,并在瀏覽器的文檔對象模型中獲取此元素的引用執(zhí)行此操作。如:
<div id= map_canvas style= width 500px height 300px ></div>
div名為map_canvas,地圖的尺寸使用樣式屬性設(shè)置,地圖會自動使用容器尺寸調(diào)整自身的尺寸。以上步驟即實現(xiàn)了在網(wǎng)頁中Google地圖的加載。
(二)詳細參數(shù)的設(shè)置
Google地圖應(yīng)用程序編程接口由Javascript 構(gòu)成,可以在向用戶提供信息的同時,使用API顯示地圖圖片。
1、地圖主要參數(shù)
地圖初始設(shè)置參數(shù)如下(以南京市為例):
1.1 map.setCenter(new GLatLng(32.042559,118.778172), 13);
初始化是通過地圖的setCenter()方法完成。setCenter()方法要求有GLatLng坐標和縮放級別,而且必須先發(fā)送此方法,然后再在地圖上執(zhí)行其他任何操作,包括設(shè)置地圖本身的其他任何屬性。
2.2 map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
可以用addControl()向地圖添加控件,第一條語句是將 Google 地圖上顯示的平移/縮放控件添加到地圖中,第二條語句是提供切換“地圖”與“衛(wèi)星”這兩種類型的功能。
此外,可以采用Google地圖應(yīng)用程序編程接口技術(shù)提供的其他方法在地圖上放置其他的控件。
2、在地圖中疊加數(shù)據(jù)層
在我們創(chuàng)建的MySQL數(shù)據(jù)庫中,采用PHP查詢語句,篩選符合查詢條件的記錄,再將這些記錄反映到上面加載的地圖上。
Google地圖應(yīng)用程序編程接口的腳本語言為Javascript,本系統(tǒng)應(yīng)用的為PHP和MySQL數(shù)據(jù)庫,需將從服務(wù)器端數(shù)據(jù)庫中列出的記錄內(nèi)容通過PHP和Javascript混合編碼。
2.1篩選符合條件的記錄
首先,采用PHP語句鏈接到目標數(shù)據(jù)庫,語句如下:
MySQL_connect(<address>, <username>, <password>);
在這里,<address>是MySQL服務(wù)軟件在其上運行的計算機的IP地址或主機名(如果這與運行網(wǎng)站服務(wù)軟件的計算機是同一臺,可以使用"localhost"),<username>和<password>是用來連接到MySQL服務(wù)器的用戶名及口令。
其次,選擇目標數(shù)據(jù)庫,語句如下:
MySQL_select_db(database_name);
采用PHP函數(shù)MySQL_select_db()選擇需要進行操作的數(shù)據(jù)庫(database_name是數(shù)據(jù)庫的名字)。
再次,對當前活動的數(shù)據(jù)庫進行查詢操作。
在PHP中,MySQL_query()向與指定的連接標識符關(guān)聯(lián)的服務(wù)器中的當前活動數(shù)據(jù)庫發(fā)送查詢命令。比如,
語句:MySQL_query ("select * from table_name where name='金輪大廈'");
在確定連接數(shù)據(jù)庫之后,運用MySQL_query()函數(shù)在table_name數(shù)據(jù)表中篩選字段name為金輪大廈的記錄。
這里,可以根據(jù)字段進行精確篩選,比如可以篩選數(shù)據(jù)庫中金輪大廈的記錄;也可以進行模糊篩選,比如可以篩選出漢中路的記錄。
語句:MySQL_query ("select * from table_name where address like '漢中路'");
2.2將篩選的記錄疊加在地圖上
Google地圖應(yīng)用程序編程接口技術(shù)引進了疊加層的概念,疊加層是地圖上綁定到經(jīng)度/緯度坐標的對象,會隨著拖動或縮放地圖而移動,疊加層用于反映“添加”到地圖上以指明點、線或區(qū)域的對象。
標記是GMarker類型的對象,并且可以利用GIcon類型的對象來自定義圖標。可以使用 GMap2.addOverlay()方法向地圖添加疊加層。
語句:map.addOverlay(new GMarker(point));
這樣,就將一個篩選出來的記錄作為疊加層疊加在地圖上。
2.3創(chuàng)建信息窗口顯示點的信息
調(diào)用openInfoWindow方法,并向其傳遞位置和要顯示的DOM元素。
語句:map.openInfoWindow (point,document.createTextNode());
至此,MySQL數(shù)據(jù)庫篩選出來的記錄反映到了地圖上,可以直觀得管理評估項目、整理了解價格信息。
(三)統(tǒng)計功能的實現(xiàn)
我們可以采用OpenFlashChart報表組件對我們篩選出來的數(shù)據(jù)形成報表分析圖形,比如可以在基礎(chǔ)數(shù)據(jù)庫篩選出玄武區(qū)2010.1.1至2010.7.1住宅物業(yè)的價格信息,采用報表組件形成管家橋板塊商業(yè)物業(yè)在此時間段的價格走勢圖。
第三,評估行業(yè)應(yīng)該具備的其他數(shù)據(jù)庫
只有基礎(chǔ)數(shù)據(jù)庫對于評估單位的發(fā)展是不夠的,筆者覺得評估單位應(yīng)該具備法律法規(guī)數(shù)據(jù)庫、估價參數(shù)數(shù)據(jù)庫、典型報告數(shù)據(jù)庫及客戶信息數(shù)據(jù)庫等,以供操作者查詢使用。
1、 法律法規(guī)數(shù)據(jù)庫
可收集與不動產(chǎn)評估相關(guān)的法律法規(guī),形成數(shù)據(jù)庫,主要字段包括序號、名稱、文件號、發(fā)布單位、發(fā)布時間、關(guān)鍵字等。
2、估價參數(shù)數(shù)據(jù)庫
估價參數(shù)包括還原利率、基準地價資料、土地開發(fā)程度等,由于地區(qū)不同,估價參數(shù)也不盡相同,因此可按區(qū)域結(jié)合估價經(jīng)驗,收集估價參數(shù),估價參數(shù)數(shù)據(jù)庫數(shù)據(jù)表主要字段包括序號、參數(shù)名稱、所屬地區(qū)、參數(shù)值等。
3、典型報告數(shù)據(jù)庫
典型報告系評估單位日常工作中完成的典型評估報告,根據(jù)不同的估價目的、不同的估價類型,可以選取1-2個典型的報告,填充進數(shù)據(jù)庫,以備查調(diào)。
4、客戶信息數(shù)據(jù)庫
客戶信息數(shù)據(jù)庫是由日常的評估業(yè)務(wù)中,接觸的客戶信息,匯集成數(shù)據(jù)庫,方便以后調(diào)用查看,亦可在節(jié)日或生日時發(fā)送祝福短信,以便維護客戶關(guān)系。
第四,系統(tǒng)的應(yīng)用
基于以上思路,筆者試著搭建查詢管理系統(tǒng),總體界面如圖,首先選擇查詢的目標數(shù)據(jù)庫,查詢方式分為條件查詢及關(guān)鍵字查詢,查詢結(jié)果出現(xiàn)在地圖的右側(cè),點擊某一結(jié)果(項目),其相應(yīng)的位置會呈現(xiàn)在地圖上,項目信息會呈現(xiàn)在彈出的信息窗口上。另外,搜索的結(jié)果也可導(dǎo)出到excel文件,以滿足統(tǒng)計及分析的需要。
|
圖1 系統(tǒng)主頁面展示
圖2 項目統(tǒng)計頁面展示
圖3 價格走勢頁面展示
圖4 導(dǎo)出execl文件頁面展示
第五,結(jié)論
評估行業(yè)數(shù)據(jù)庫查詢管理系統(tǒng)采用的Google地圖應(yīng)用程序編程接口可通過各種方法向地圖中添加內(nèi)容,能夠滿足直觀反映位置信息的需求,與國內(nèi)使用較多的 ESRI的ArcIMS和ArcSDE美國MapInfo公司的MapXtreme和SpatialWare等商業(yè)WebGIS軟件相比,無需用戶另外收集地理數(shù)據(jù),而且可自由發(fā)布。結(jié)合OpenFlashChart報表組件,可以完成簡單的數(shù)據(jù)統(tǒng)計分析。值得注意的是,本文提到的關(guān)于創(chuàng)建評估行業(yè)數(shù)據(jù)庫查詢管理系統(tǒng)所需的軟件均為開源免費軟件,有效的降低了開發(fā)成本。
當然,也可以采用其他的地圖應(yīng)用程序編程接口技術(shù)進行開發(fā),本文旨在闡述筆者關(guān)于創(chuàng)建評估行業(yè)數(shù)據(jù)庫查詢管理系統(tǒng)的思路,不足之處,敬請斧正。