大家好,我现在需要绘制中国地级行政区的等值图(choropleth maps),网上有很多教程教授如何在stata上完成这一任务,大体不出“先用--shp2dta-- 将shp 和 dbf文件转成stata能够读取的.dta文件,在和需要分析的数据merge起来”这一思路,我用上的数据跑了一遍,大体也没有问题,但是现在问题出在中国找不到合适的,地级市级别的shp文件
美国shp转成.dta文件后的内容: (下载地址: )
---------------------------------------------------------------------------------------------------------
storage display value
variable name type format label variable label
---------------------------------------------------------------------------------------------------------
OBJECTID int %10.0g OBJECTID
STATE str2 %9s STATE
NAME str20 %20s NAME
FIPS str2 %9s FIPS
LON float %9.0g LON
LAT float %9.0g LAT
Shape_Leng float %9.0g Shape_Leng
Shape_Area float %9.0g Shape_Area
id byte %12.0g
---------------------------------------------------------------------------------------------------------
可以看到包括了州名,经纬度,还有生成的id
我在论坛上找到了标注 最新地级市shp文件的帖子(https://bbs.pinggu.org/thread-3956363-1-1.html?mobile=no),发现里面的若干shp文件用--shp2dta--转换后和上图的变量很不一样,比较类似一个是
---------------------------------------------------------------------------------------------------------
storage display value
variable name type format label variable label
---------------------------------------------------------------------------------------------------------
AREA double %10.0g AREA
PERIMETER double %10.0g PERIMETER
BOU2_4M_ int %10.0g BOU2_4M_
BOU2_4M_ID int %10.0g BOU2_4M_ID
ADCODE93 long %10.0g ADCODE93
ADCODE99 long %10.0g ADCODE99
NAME str16 %16s NAME
id int %12.0g
---------------------------------------------------------------------------------------------------------
AREA PERIME~R BOU2_4M_ BOU2_4~D ADCODE93 ADCODE99 NAME id |
|----------------------------------------------------------------------------------------|
1. | 54.447 68.489 2 23 230000 230000 黑龙江省 1 |
2. | 129.113 129.933 3 15 150000 150000 内蒙古自治区 2 |
3. | 175.591 84.905 4 65 650000 650000 新疆维吾尔自治区 3 |
4. | 21.315 41.186 5 22 220000 220000 吉林省 4 |
5. | 15.603 38.379 6 21 210000 210000 辽宁省 5 |
+----------------------------------------------------------------------------------------+
没有经纬度,没有label, 而且有的省份有好几个观察值,有的只有一个。这种情况怎么处理,有没有适合 --shp2dta-- 和--spmap-- 使用的 shp文件??