中國縣級地圖(Stata制作) 一、引言 在經(jīng)濟學(xué)科學(xué)研究發(fā)展迅猛的時代背景下,地圖數(shù)據(jù)可視化在經(jīng)濟學(xué)研究過程和研究成果展示中的重要性是不言而喻的了。Stata 是經(jīng)濟學(xué)科研人員使用最多的軟件之一,它簡單的操作和較小的內(nèi)存占用吸引了大量的用戶。習(xí)慣 Stata 軟件的粉絲級用戶總是希望用 Stata 來做更多的數(shù)據(jù)處理工作,小編作為 Stata 的愛好者之一,同樣有挖掘 Stata 在數(shù)據(jù)處理中無所不能的、無所不包的美好愿望。今天,給大家?guī)淼氖鞘褂肧tata制作地圖。 已經(jīng)存在有不少的 Stata 作圖命令,但是往往由于Stata 地圖底圖數(shù)據(jù)的缺失,使 Stata 制作地圖的功能受到了很大的限制。今天的推送,能讓你在Stata上完成 GIS 軟件上制作成的任何地圖(小花之前也推送過 如何用 ArcGIS 軟件進行地圖數(shù)據(jù)可視化)。 而且在一般的地圖數(shù)據(jù)可視化上,小編認為 Stata 能做到比一般的 GIS 軟件(e.g. ArcGIS)更簡單。 下面就來開始制作你的 Stata 地圖吧。 二、數(shù)據(jù)準備 一、坐標數(shù)據(jù)準備 其實我們可以很形象的把地圖中的邊界想象成一個一個坐標點連接而成的線條。那么關(guān)鍵在于我們?nèi)绾潍@得這些構(gòu)成邊界的點坐標呢?地理信息學(xué)科已經(jīng)為我們提供了大量的 GIS 數(shù)據(jù)了,我們可以找到各個地區(qū)的 shapefile 和 dbf 文件。(點擊 “閱讀原文” 獲?。?/p> 在 Stata 中已經(jīng)有命令 shp2dta 幫助我們將shapefile 和 dbf 文件轉(zhuǎn)成 stata 所需的地圖坐標數(shù)據(jù)。比如,筆者有整個世界城市級別的 GIS 數(shù)據(jù)。
clear set more off cd c:\users\admin\desktop\Stata_map\ ssc install shp2dta, replace help shp2dta shp2dta using world_city_level, database(world_city_level_data) coordinates(world_city_level_co) 這樣你就可以看到兩個 dta 文件,world_city_level_data.dta 和 world_city_level_co.dta。其中,后面這個dta文件是坐標文件,包含_ID, _Y, _X。 三、畫圖 use world_city_level_co.dta , clear scatter _Y _X ,msize(vtiny) 同理,我們可以將中國縣級的 shapefile 轉(zhuǎn)成 stata 文件。 cd c:\users\admin\desktop\Stata_map\中國縣級數(shù)據(jù)\ shp2dta using china_county, database(china_county_data) coordinates(china_county_co) use china_county_co.dta scatter _Y _X ,msize(vtiny) 把 shapefile 和 dbf 中包含的 GIS 數(shù)據(jù)庫與 坐標文件 china_county_co.dta 合并 merge m:m _ID using china_county_data.dta /* 畫出廣東省的地圖 */ scatter _Y _X if NAME_1=="Guangdong",msize(vtiny) spmap face using Guangdong.dta , id(_ID) title("Stata展示暨南大學(xué)各校區(qū)位置圖") point(data("Jinan_Point.dta") xcoord(yc) ycoord(xc) fcolor(black) size(Large) legenda(off) legcount leglabel(暨南大學(xué)各校區(qū))) label(label(po_name) xcoord(yc) ycoord(xc)) fcolor(Oranges) legenda(off) /* 畫出暨南大學(xué)各校區(qū)的點圖 */ /* 畫出廣州市的地圖 */ scatter _Y _X if NAME_2=="Guangzhou",msize(small) 四、展示你的數(shù)據(jù) 假設(shè),我們現(xiàn)在需要展示每個縣的 showdata 變量的值,可以通過 spmap 命令實現(xiàn)(需安裝)。 use china_county_data.dta ,clear gen showdata = rnormal() format showdata %9.3g spmap showdata using "CHN_coordinates.dta", id(_ID) fcolor(Oranges) 這樣我們就把 showdata 數(shù)據(jù)在地圖上展示出來了。 其他地圖例子 1、中國大陸水系圖: 2、大陸主要水域圖 3、中國主要鐵路線圖 |
|