高 潔,朱 駿,陳 樂
(浙江水利水電學(xué)院,杭州 310018)
新聞是人民生產(chǎn)生活過程中必不可少的信盧要素,對(duì)國家和社會(huì)的穩(wěn)定與發(fā)展、重大突發(fā)事件的決斷起著重要作用。如今,科學(xué)技術(shù)日新月異,互聯(lián)網(wǎng)技術(shù)得到空前發(fā)展,數(shù)據(jù)新聞已逐漸成為一種不可替代的報(bào)道手段。
2019 年12 底,疫情突然爆發(fā),2020 年1 月20 日,丁香園疫情地圖上線,以可視化手段進(jìn)行疫情信盧呈現(xiàn)與表達(dá),借助圖表、地圖等視覺手段,一方面充分滿足了“讀圖時(shí)代”受眾的信盧需求,另一方面更加實(shí)時(shí)地、直觀地展現(xiàn)信盧數(shù)據(jù)[1]。
丁香園疫情地圖是一次非常成功的數(shù)據(jù)新聞報(bào)道,同時(shí)也給數(shù)據(jù)新聞報(bào)道提供了更多的可能性。為此,本研究采用WebGIS(網(wǎng)絡(luò)地理信盧系統(tǒng))技術(shù),建立了新聞信盧數(shù)據(jù)庫,開發(fā)出集新聞信盧采集、存儲(chǔ)、管理、查詢及共享的地理信盧系統(tǒng)平臺(tái),從而實(shí)現(xiàn)新聞的動(dòng)態(tài)可視化表達(dá),增強(qiáng)新聞的可讀性。
地理信盧系統(tǒng)(Geographic I nformation System,GIS),是由計(jì)算機(jī)硬件、軟件和不同方法組成的計(jì)算機(jī)系統(tǒng),主要任務(wù)是采集、存儲(chǔ)、管理、檢索、分析和描述空間物體的定位分布及與之相關(guān)的屬性數(shù)據(jù),并回答用戶問題[2]。GIS 以地理空間數(shù)據(jù)為基礎(chǔ),采用地理模型方法,建立地理空間坐標(biāo),將地理對(duì)象及其屬性,按坐標(biāo)位置輸入到計(jì)算機(jī)中存儲(chǔ)管理和分析處理,探究地理特征和因果關(guān)系,并以地圖為基本載體輸出結(jié)果[2]。
在目前的大多數(shù)新聞中,地理位置即新聞發(fā)生地的信盧并不夠突出,但實(shí)際上,新聞事件的地理位置也會(huì)對(duì)用戶的閱讀產(chǎn)生影響。比如說,當(dāng)某地發(fā)生重大災(zāi)害或具有較大影響力社會(huì)新聞的時(shí)候,用戶的關(guān)注點(diǎn)將會(huì)鎖定該地區(qū),并期待獲得后續(xù)。利用GIS 技術(shù)將坐標(biāo)位置以地圖的方式展現(xiàn)出來,則是一種更佳的方式來突出事件發(fā)生地的重要性。
WebGIS 是GIS 技術(shù)與Internet 的結(jié)合體,是傳統(tǒng)地理信盧系統(tǒng)在網(wǎng)絡(luò)上的延伸和發(fā)展,將HTTP 標(biāo)準(zhǔn)的應(yīng)用體系嵌入到GIS 中,在Internet 環(huán)境下管理和發(fā)布空間信盧,實(shí)現(xiàn)提高地理信盧使用效率的目的,使地理信盧的價(jià)值得以充分體現(xiàn)[3]。
該平臺(tái)開發(fā)使用了Web 前端開發(fā)技術(shù),開發(fā)模式為敏捷開發(fā),頁面設(shè)計(jì)使用最新的HTML5+CSS3+JavaScript,前端頁面搭建使用Vue+Element-UI+ECharts,事件交互采用了Axios,服務(wù)器語言選擇了Node.js,后端服務(wù)選擇的是Koa2,提升平臺(tái)的性能。同時(shí),平臺(tái)在數(shù)據(jù)獲取方面采用的是Python 爬蟲建立數(shù)據(jù)庫,前后端數(shù)據(jù)交換方面采用了JSON 數(shù)據(jù)交換格式,使得平臺(tái)更富有表現(xiàn)力和更健壯。平臺(tái)的主要技術(shù)框架如圖1 所示,并對(duì)其中一些技術(shù)展開敘述。
圖1 主要技術(shù)框架
1.3.1 開發(fā)模式敏捷開發(fā)
敏捷開發(fā)是一種軟件開發(fā)的流程,強(qiáng)調(diào)快速反應(yīng)、快速迭代和價(jià)值驅(qū)動(dòng),其簡化了開發(fā)過程,將程序員從冗余的文檔編寫中解放出來[4]。隨著Web 應(yīng)用的不斷發(fā)展,敏捷開發(fā)的思想也不斷被認(rèn)可,本文采用敏捷開發(fā),將項(xiàng)目構(gòu)建切分成多個(gè)子項(xiàng)目,通過協(xié)作完成項(xiàng)目的開發(fā),提高開發(fā)速率。
1.3.2 語言基礎(chǔ)HTML5+CSS3+JavaScript
HTML(Hypertext Markup Language),即超文本標(biāo)記語言,是一種用來定義內(nèi)容結(jié)構(gòu)的標(biāo)記語言,面向Web 應(yīng)用程序,功能更強(qiáng)大,并且很大程度上解決了跨瀏覽器問題[5]。CSS(Cascading Style Sheets,級(jí)聯(lián)樣式表)是一種為結(jié)構(gòu)化文檔添加樣式的計(jì)算機(jī)語言[6],用于設(shè)計(jì)風(fēng)格和布局。JavaScript(簡稱JS)技術(shù)是專門用于Web 前端設(shè)計(jì)的解釋型動(dòng)態(tài)腳本語言,可以在網(wǎng)頁上實(shí)現(xiàn)更復(fù)雜的功能[7]。
本研究使用HTML5、CSS3 代碼技術(shù),構(gòu)建面向用戶共享信盧資源的新聞信盧系統(tǒng)界面,通過JavaScript語言來實(shí)現(xiàn)新聞信盧系統(tǒng)與用戶的交互,提升用戶的體驗(yàn)感,豐富新聞傳播的多樣性。
1.3.3 頁面搭建Vue+Element-UI+ECharts
本文通過Vue+Element-UI+ECharts 進(jìn)行圖形界面的搭建。Vue 是一個(gè)構(gòu)建用戶界面的框架,該開發(fā)框架是一個(gè)輕量級(jí)的MVVM(Model-View-View Model),Element-UI 是一個(gè)為Vue 而生的UI 框架,是現(xiàn)階段和Vue 配合做項(xiàng)目開發(fā)的一個(gè)較好的UI 框架[8]。ECharts 是一個(gè)使用JavaScript 實(shí)現(xiàn)的開源可視化庫,提供了非常炫酷的圖形界面,尤其是地圖,甚至可以個(gè)性化定制圖表[9]。
1.3.4 服務(wù)器語言Node.js
Node.js 是一個(gè)開源和跨平臺(tái)的JavaScript 運(yùn)行時(shí)環(huán)境。其幾乎是任何類型項(xiàng)目的流行工具。簡單地說,Node.js 就是運(yùn)行在服務(wù)端的JavaScript,性能非常好。Node.js 具有獨(dú)特的優(yōu)勢,因?yàn)闉闉g覽器編寫JavaScript的前端開發(fā)者現(xiàn)在無須學(xué)習(xí)完全不同的語言,就可以編寫除客戶端代碼之外的服務(wù)器端代碼,同時(shí)npm 幫助Node.js 生態(tài)系統(tǒng)蓬勃發(fā)展,托管超過上百萬個(gè)開源包,可供開發(fā)者自由使用。
1.3.5 數(shù)據(jù)交換格式JSON
JSON(JavaScript Object Notation,JS 對(duì)象簡譜)是一種輕量級(jí)的、基于文本的和開放的數(shù)據(jù)交換格式,也最受歡迎的、使用最廣泛的數(shù)據(jù)交換格式之一,在Web開發(fā)領(lǐng)域有著舉足輕重的地位。GeoJSON 是用JSON的語法表達(dá)和存儲(chǔ)地理數(shù)據(jù),可以說是JSON 的子集。GeoJSON 對(duì)象可以表示幾何信盧、要素或者要素集合,支持Point、LineString、Polygon、MultiPoint、Multi Line String、MultiPolygon 和GeometryCollection 7 種幾何類型。GeoJSON 里的特征包含1 個(gè)幾何對(duì)象和其他屬性,特征集合表示一系列特征。
需求分析在軟件開發(fā)的過程中具有極其重要的作用,其分析內(nèi)容包括所開發(fā)軟件的定義及功能范圍。本新聞信盧系統(tǒng)依托WebGIS 技術(shù),以地圖的形式呈現(xiàn)新聞,通過對(duì)各類新聞在地圖中的可視化呈現(xiàn),展現(xiàn)全國、全天候和全領(lǐng)域的新聞內(nèi)容。同時(shí)在底圖的基礎(chǔ)上,創(chuàng)建專題圖層,用以表達(dá)具有重要影響力的新聞,如地震、泥石流、洪水和航空航天等。
根據(jù)平臺(tái)的設(shè)計(jì),主要包括3 部分的數(shù)據(jù):新聞數(shù)據(jù)、地圖數(shù)據(jù)和圖標(biāo)數(shù)據(jù)。
本新聞信盧系統(tǒng)完成的功能包括新聞地圖呈現(xiàn)、交互式地圖時(shí)間軸、重大事件專題呈現(xiàn)與推送、歷史回顧和搜索新聞5 大功能。
新聞地圖呈現(xiàn)即通過鼠標(biāo)滑動(dòng)到地圖的某一省份時(shí)能夠高亮顯示,點(diǎn)擊地圖的某一省份,可跳轉(zhuǎn)顯示出當(dāng)天該省份所有的新聞。地圖的行政劃分最低至省市級(jí)。
交互式地圖時(shí)間軸,即采用交互技術(shù),當(dāng)用戶在前端界面拖動(dòng)時(shí)間軸時(shí)地圖能夠相應(yīng)地前進(jìn)或后退到光標(biāo)停止的當(dāng)天,最多為15 d,并在地圖上顯示截至當(dāng)天24:00 所有的新聞和由新聞帶來的地圖要素。
重大事件專題呈現(xiàn)與推送,即在底圖之上創(chuàng)建的重大事件提示圖層,該圖層主要分為4 大事件:地質(zhì)災(zāi)害、疫情要聞、航天要聞和社會(huì)新聞。若當(dāng)天有發(fā)生4大事件的其中之一,即可在該圖層顯示出事件對(duì)應(yīng)的新聞符號(hào)。
歷史回顧,即滑動(dòng)時(shí)間軸滑塊即可在歷史回顧對(duì)話框中彈出滑塊停止當(dāng)日的重大事件。
搜索新聞,通過提交搜索框中的內(nèi)容來查詢數(shù)據(jù)庫中是否有相關(guān)數(shù)據(jù),并反饋到地圖中。
根據(jù)新聞可視化工作的需求,要求平臺(tái)具有友好性、可靠性和可擴(kuò)充性。
友好性:平臺(tái)界面應(yīng)該簡潔、清晰,突出顯示地圖內(nèi)容,對(duì)于絕大部分群眾易于上手。
可靠性:平臺(tái)能夠持續(xù)提供服務(wù),具有一定健壯性,能夠識(shí)別一些簡單的錯(cuò)誤并進(jìn)行處理。同時(shí),開發(fā)人員應(yīng)進(jìn)行經(jīng)常性管理,發(fā)生重大問題時(shí),開發(fā)人員也能主動(dòng)介入解決問題。
可擴(kuò)充性:隨著平臺(tái)使用的深入,許多功能需要更新或增加,要求平臺(tái)滿足用戶需求,即平臺(tái)較高的可擴(kuò)充性[10]。
新聞是新聞平臺(tái)最基本的內(nèi)容。本課題新聞素材均采自國內(nèi)權(quán)威背書的各大央媒、省市級(jí)黨媒,包括人民日?qǐng)?bào)、新華社、央視新聞和新華日?qǐng)?bào)等多家媒體,內(nèi)容真實(shí)。
由于本平臺(tái)利用ECharts 繪制地圖,只有GeoJSON 數(shù)據(jù)才能滿足開發(fā)需求,所有GeoJSON 數(shù)據(jù)均來源于阿里云提供的地圖選擇器(http://datav.aliyun.com/portal/school/atlas/area_selector),行政區(qū)劃為地市級(jí)。
重大事件提示圖標(biāo)是重大事件提示圖層的關(guān)鍵要素,也是本平臺(tái)的一大創(chuàng)新所在。本文的圖標(biāo)均來自阿里巴巴矢量圖標(biāo)庫,經(jīng)篩選后,本平臺(tái)針對(duì)新聞素材的4 大分類(社會(huì)新聞、疫情要聞、航天要聞和地質(zhì)災(zāi)害),選擇4 個(gè)矢量圖標(biāo)與之對(duì)應(yīng),并通過Photoshop 軟件進(jìn)行符號(hào)的針對(duì)新聞?lì)愋偷亩ㄏ蛟O(shè)計(jì)。
目前,數(shù)據(jù)庫得到非常廣泛的應(yīng)用,現(xiàn)在互聯(lián)網(wǎng)上 主 流 的 數(shù) 據(jù) 庫 有MySQL、Oracle、SQLServer、Post-greSQL 和MongoDB。MySQL 數(shù)據(jù)庫具有眾多優(yōu)點(diǎn),占用內(nèi)存較小、開發(fā)成本相對(duì)較低和運(yùn)行速度相對(duì)較快,且其對(duì)應(yīng)的源碼免費(fèi)[11],因此MySQL 數(shù)據(jù)庫作為首要的選擇。
網(wǎng)絡(luò)爬蟲技術(shù)的出現(xiàn)使得人工搜索整理新聞得到解放,大大提高了新聞的采集速度[12],本平臺(tái)主要是利用Python 爬蟲新聞網(wǎng)站中的新聞數(shù)據(jù)并存入MySQL數(shù)據(jù)庫中。在爬蟲獲取網(wǎng)站新聞信盧時(shí),主要獲取的內(nèi)容是新聞標(biāo)題、新聞日期及新聞發(fā)生地,同時(shí)獲取新聞關(guān)鍵字來分析新聞?lì)悇e,包括地質(zhì)災(zāi)害、疫情要聞、航天要聞和社會(huì)新聞。其中獲取新聞發(fā)生地后要轉(zhuǎn)換為經(jīng)緯度進(jìn)行保存,以便后續(xù)在地圖上顯示。
本新聞信盧系統(tǒng)的設(shè)計(jì)與開發(fā)必須兼顧多方面,遵循規(guī)范性原則、先進(jìn)性原則、安全性原則和真實(shí)性原則。
規(guī)范性原則。所開發(fā)平臺(tái)必須符合行業(yè)規(guī)范、法律規(guī)范,保證系統(tǒng)具有良好的兼容性。
先進(jìn)性原則。所開發(fā)平臺(tái)采用的技術(shù)是較為前沿的應(yīng)用,開發(fā)設(shè)計(jì)方案也緊跟熱點(diǎn),短時(shí)間內(nèi)不會(huì)落后。
安全性原則。平臺(tái)開發(fā)應(yīng)當(dāng)注意保護(hù)用戶隱私[13],正確使用GIS 的空間屬性,避免隱私泄露和國土資源信盧泄露。
真實(shí)性原則。平臺(tái)所推送新聞必須經(jīng)過篩選,保證新聞的真實(shí)性是任何新聞平臺(tái)在發(fā)布新聞時(shí)義不容辭的責(zé)任。
B/S 架構(gòu)(Browser/Server,瀏覽器/服務(wù)器架構(gòu))是一種網(wǎng)絡(luò)架構(gòu)模式,其只需要安裝一個(gè)瀏覽器和數(shù)據(jù)庫,就可以讓瀏覽器通過Web Server 同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用[14]。B/S 架構(gòu)工作原理如圖2 所示。
圖2 B/S 架構(gòu)工作原理
本平臺(tái)直接利用ECharts 獲取后臺(tái)GeoJSON 數(shù)據(jù)繪制地圖。
交互式地圖時(shí)間軸功能的實(shí)現(xiàn)主要基于Element-UI 框架中的el-sider 自定義的range 組件,需要注意對(duì)時(shí)間進(jìn)行格式化,同時(shí)獲取后臺(tái)的地圖矢量數(shù)據(jù)及數(shù)據(jù)庫中的數(shù)據(jù),隨著時(shí)間的變化,地圖及其內(nèi)容也在不斷更新。
部分關(guān)鍵代碼如圖3、圖4 所示。
圖3 代碼(一)
圖4 代碼(二)
重大事件專題呈現(xiàn)與推薦功能是本平臺(tái)的特色所在,主要表現(xiàn)在重大事件的地圖可視化呈現(xiàn)和推薦框新聞推送。通過鏈接數(shù)據(jù)庫,獲取到新聞?lì)悇e,對(duì)應(yīng)不同的圖標(biāo)在地圖上展示。
歷史回顧功能主要表現(xiàn)在拖動(dòng)時(shí)間軸滑塊時(shí),在歷史回顧框中出現(xiàn)滑塊停留日期對(duì)應(yīng)的重大事件。本功能聯(lián)合時(shí)間軸功能,隨著時(shí)間軸滑塊的拖動(dòng),獲取時(shí)間軸的時(shí)間并在數(shù)據(jù)庫中匹配到對(duì)應(yīng)的新聞詞條,在歷史回顧模塊顯示當(dāng)天的重大事件。
搜索新聞功能主要是通過鏈接數(shù)據(jù)庫,在搜索框中輸入關(guān)鍵字查詢數(shù)據(jù)庫進(jìn)行模糊搜索來實(shí)現(xiàn),使用正則匹配方法,檢測字符串String 中是否含有與RegExpObject 匹配的文本,并將查詢的結(jié)果渲染展現(xiàn)在頁面上。
搭建地理信盧新聞平臺(tái),以地圖的形式呈現(xiàn)新聞,助力新聞的可視化表達(dá),為用戶提供更清晰的新聞表達(dá)和更有趣的視覺體驗(yàn)。地理信盧與新聞的結(jié)合是媒介融合的一次新嘗試。在萬物皆媒的互聯(lián)網(wǎng)時(shí)代,WebGIS 技術(shù)為GIS 的跨界發(fā)展提供了新的可能。本文對(duì)WebGIS 與新聞可視化交互平臺(tái)的嘗試,只是在看到趨勢后拋磚引玉的案例存在。未來,WebGIS 與新聞的融合或?qū)⒃桨l(fā)深入。
針對(duì)上文提出的平臺(tái)開發(fā)不足,結(jié)合目前行業(yè)現(xiàn)狀,本文提出未來開發(fā)可以完善的3 個(gè)方向。
1)發(fā)揮GIS 優(yōu)勢,優(yōu)化專題功能。未來的平臺(tái)開發(fā)過程中可以通過引入如MapObjects、MapX 和GeoMap等GIS 組件、插件的方式,為平臺(tái)添加GIS 功能,更好發(fā)揮GIS 優(yōu)勢[15-16]。但在引用的過程中需要注意開發(fā)平臺(tái)的兼容性。
2)利用已有算法完善新聞事件地理位置信盧的獲取。由于開發(fā)人員技術(shù)的局限性,目前僅是依靠新聞標(biāo)題中的地名來判定新聞事件的發(fā)生地,且行政區(qū)劃為地市級(jí),如此一來所獲取的新聞非常有限。為了保證新聞的豐富性,平臺(tái)在后期應(yīng)該學(xué)習(xí)相關(guān)新聞事件發(fā)生地抽取算法,展示更多新聞在地圖上。
3)引入新媒體技術(shù),提高用戶滿意度。僅依靠JavaScript 技術(shù)和GIS 技術(shù)難以滿足互聯(lián)網(wǎng)時(shí)代的用戶需求。著名新聞學(xué)教授彭蘭在對(duì)新媒體用戶進(jìn)行研究后提出,新媒體用戶具有節(jié)點(diǎn)化、媒介化和賽博格化發(fā)展的特征。為了滿足用戶需求,平臺(tái)在開發(fā)過程中應(yīng)當(dāng)積極引入新媒體技術(shù),豐富平臺(tái)功能和交互設(shè)計(jì),提高用戶的使用滿意度[17-18]。