经管之家(原人大经济论坛)

文章正文
发布时间:2024-06-27 15:29

    大家好,我现在需要绘制中国地级行政区的等值图(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文件??