1999~2024年上市公司子公司经纬度及其所处的省市区县数据

今天给大家分享一份 1999~2024 年上市公司子公司经纬度及其所处的省市区县数据。由 RStata 数据中心处理得到(原始数据来源:国泰安数据库、天眼查,经纬度由高德地图地理编码得到)。

这份数据在「上市公司子公司工商注册信息匹配结果」的基础上,进一步通过高德地图接口对子公司的注册地/名称进行地理编码,补全了经纬度,并根据经纬度和 2021 年区县行政区划矢量数据地理计算得到其所属的省、市、县及对应代码,方便大家直接在空间维度上展开分析。

上市公司子公司工商注册信息匹配结果:

1999~2023 年上市公司子公司工商注册信息匹配结果:https://rstata.duanshu.com/#/brief/course/3cb9288f5d57488e942fa9cb33f287e5

这里展示的是截止 2023 年的数据链接,由于 2024 年工商注册信息不全,所以匹配结果就不再分享了,没有匹配上注册地址的企业是使用企业名称直接解析经纬度得到的(准确度会差一些)。

数据来源与处理方法

数据的处理流程可以概括为「导入合并 → 工商信息匹配 → 地理编码 → 省市区县匹配」四步,核心代码位于 code/ 文件夹(Stata 编写):

  1. 导入与合并原始子公司表:从国泰安导出的两份 Excel 子公司情况表(FN_Fn061、FN_Fn0611)被读入并纵向合并,从「统计截止日期」中提取出年份,去除缺失年份的观测。
  2. 与工商注册信息匹配:以「企业名称」为键,将子公司与 1949~2025 年工商企业注册信息进行名称匹配(匹配前会剔除”股份有限””有限责任””有限公司””公司””省/市/区/县”等干扰词以提高命中率),得到每条子公司的工商注册属性。
  3. 地理编码补全经纬度:对缺失经纬度的子公司,将「注册地 + 子公司名称」组合为地址,调用高德地图接口解析出经纬度(该步由 R 语言完成,相关方法可参考下方课程),再根据经纬度反查得到所属省、市、县的名称与代码。
  4. 合并输出面板:将历史已有经纬度、补充经纬度与工商匹配结果按 zgsid 合并,输出为最终的 1999~2024 年面板数据。

数据概览

为了方便大家使用,我把数据汇总成了上市公司子公司—年份层面的面板数据,时间跨度为 1999~2024 年,覆盖全国各省市区县。

  • 观测值数量:1,378,040 条
  • 变量数量:29 个
  • 地理层级:全国 → 省 → 市 → 县(含经纬度与行政区代码)
  • 数据预览如下:

数据包含的 29 个变量可大致分为四类:

  • 标识类:zgsid(子公司观测值编号)、证券代码、年份、统计截止日期、子公司名称
  • 持股与财务类:直接持股、间接持股、注册资本(万元)、总资产(万元)、营业收入(万元)、净利润(万元)、归属于母公司所有者的净利润(万元)、期末总投资额(万元)、币种、是否退出
  • 注册信息类:经营范围、注册地、国家区域名称、区域标识、设立方式、注册成立时间
  • 地理类:经度、纬度、省、省代码、市、市代码、县、县代码(省/市/县及代码均根据经纬度判断得到)

这份数据的价值在于把「上市公司子公司」与「精确地理坐标 + 行政区划」对应起来,因此可作为空间分析的基础底表:例如研究上市公司子公司的地理集聚与扩张路径、刻画子公司规模与业绩的地域差异,或作为地理基础变量与夜间灯光、污染、专利、政府采购、土地出让等区域/POI 数据按经纬度或省市区县进行匹配合并(RStata 已基于该底表产出多份衍生匹配数据)。

图表展示

下图展示了 1999~2024 年各省份上市公司子公司的数量分布(基于省份级着色地图):

下图展示了 1999~2024 年每年上市公司子公司数量的时间趋势:

下面这张是 2024 年上市公司子公司的地理分布图(按省份着色):

处理代码

下面列出几段关键的处理代码(code/ 文件夹,Stata 编写)。

1. 导入并合并原始子公司表、提取年份:

*- 读取两份子公司情况表并合并
import excel using "上市公司子公司情况表214615838/FN_Fn061.xlsx", clear
save data1, replace
import excel using "上市公司子公司情况表214615838/FN_Fn0611.xlsx", clear
save data2, replace

use data1, clear
append using data2
drop in 1

*- 从统计截止日期中提取年份
gen 年份 = substr(统计截止日期, 1, 4)
destring 年份, replace force
drop if mi(年份)

2. 地理编码补全经纬度并反查省市区县:

*- 对缺失经纬度的子公司,根据注册地与名称组合地址进行地理编码(高德地图)
use 1999~2024年上市公司子公司工商注册信息匹配结果.dta, clear
keep if mi(经度)
keep zgsid 子公司名称 注册地
replace 注册地 = "" if 注册地 == "None"
gen address = 注册地 + 子公司名称
egen addid = group(address)
save 待解析经纬度, replace

*- 使用 R 语言调用高德地图接口得到经纬度,并反查省市区县
use medium_data, clear
joinby addid using "经纬度解析结果.dta"
keep zgsid 经度 纬度 省 省代码 市 市代码 县 县代码
save 补充经纬度, replace

*- 合并历史经纬度、补充经纬度与匹配结果,得到最终面板
use 1999~2024年上市公司子公司工商注册信息匹配结果.dta, clear
drop newgcid - 网址
merge 1:m zgsid using 全部经纬度信息
save "1999~2024年上市公司子公司经纬度及其所处的省市区县数据", replace

3. 绘制地图 + 散点(主图与右下角小地图框格分别处理):

*- WGS84 经纬度转 Albers 投影,与底图坐标系统一
geo2xy 纬度 经度, gen(lat lon) projection(albers, 6378137 298.257223563 25 47 0 105) replace

*- 主图与右下角小地图框格分开处理:先保留全部点,再选出落入框格的点缩放平移后追加
gen class = "main"
save "code/temp_points.dta", replace

use "code/temp_points.dta", clear
keep if inrange(lon, 120000, 1766004.1) & inrange(lat, 320000, 2557786.0)
replace lon = lon * 0.5 + 2100000
replace lat = lat * 0.5 + 1665139
replace class = "smallbox"
append using "code/temp_points.dta"

*- 一次性绘制:主图用原始坐标,小地图框格内用缩放后的坐标
spmap ... point(data("code/temp_points.dta") x(lon) y(lat) ...)

附件中也提供了该数据的处理代码供参考:

数据引用格式

由于该数据包含较多 RStata 处理的内容,在研究中使用该数据请使用清晰的方式注明数据来源于 RStata 或者 RStata 数据中心,并使用如下格式引用:

RStata 数据中心: 1999~2024年上市公司子公司经纬度及其所处的省市区县数据. 2026. https://tidyfriday.cn/rsdb2/

英文文献可以使用下面的格式引用:

RStata Data Center: Geographic Coordinates (Latitude/Longitude) and Provincial–Municipal–County Locations of Subsidiaries of Listed Companies, 1999–2024. 2026. https://tidyfriday.cn/rsdb2/

关联课程/数据推荐

2013~2024 年上市公司子公司与政府采购数据匹配结果:https://rstata.duanshu.com/#/course/2d649c18a9f84d7a92c5e64a251dc163

使用 R 语言进行地理编码:地址解析经纬度、坐标转换 & 根据经纬度判断所处的省市区县:https://rstata.duanshu.com/#/course/6f8633b486ed49e398c486d0d9f0f59a

使用 Stata 进行地理编码:地址解析经纬度、坐标转换 & 根据经纬度判断所处的省市区县:https://rstata.duanshu.com/#/course/537300af1a9947edb758789785c600f3

点击这里跳转到 RStata 短书平台获取附件:1999~2024年上市公司子公司经纬度及其所处的省市区县数据

评论