Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

包含完整信息的 CN-border 数据 #41

Open
seisman opened this issue Jun 18, 2021 · 0 comments
Open

包含完整信息的 CN-border 数据 #41

seisman opened this issue Jun 18, 2021 · 0 comments

Comments

@seisman
Copy link
Member

seisman commented Jun 18, 2021

目前的 CN-border 数据中只有单纯的线段数据,没有每个线段对应的元信息(比如属于哪个省的边界)。

@liuzhumei 曾经提供给我一套更完整的中国边界数据(目测包含国界、省界、市界和区界),数据大小为 90 MB。以下是她提供的笔记:

中国行政区划数据集

​ 本数据集原始来源为 全国地理信息资源目录服务系统,比例尺为1:100万,数据整体现势性为2015年。经过数据集要素的提取、合并及格式转化(详情见博文),集成为DCW数据格式???,包括:

  • 国界数据(含已定国界、未定国界、海岸线)

  • 国界及省界数据

  • 单独省界数据

  • 九段线数据

数据下载

https://github.com/gmt-china/china-geospatial-data ??

数据使用

数据使用方法类似原DCW数据使用规则,通过-Rcoast模块的-E选项,指定区域代码,调用绘图。

基本使用方法

???????????????????

由于DCW-China?数据只提供省级以上行政区划边界,社区另外提供同源OGR/GMT格式的市县级行政区划、行政地名、各级公路/铁路、湖泊水系等数据。

  • 市县级行政区划数据集 BOUA.gmt

县级行政区域提取

BOUA.gmt中的基本单位是三级行政区,即市辖区、县级市、县、自治县等行政区域。可利用convert模块,通过名称(Name属性)或行政区划代码(Pac属性)筛选,提取数据:

REM 提取武汉市武昌区边界
gmt begin
  gmt convert -S"Pac=420106" BOUA.gmt | gmt plot -Ba
gmt end

image

地级行政区域提取

6位区划代码的3~4位表示地级市、自治州等,可据此提取隶属同一地级行政区的区域范围。GMT6.1.0版本尚未完成多空间要素合并功能,因此利用ogr2ogr完成多边形的合并(Union)操作。

gmt begin
  REM 提取武汉市(PAC码以4201开头)边界
  REM sql语句中第一个%为转义符
  ogr2ogr -where "Pac like '4201%%'" wuhan.gmt BOUA.gmt

  REM 绘制武汉市区域(含各区边界)
    gmt plot wuhan.gmt -Wblue -Ba

    REM 利用ST_UNION函数合并各区
    ogr2ogr wuhan_union.gmt wuhan.gmt -dialect sqlite -sql "select ST_UNION(gcol,gcol) from (select ST_Collect(geometry) As gcol from wuhan)"

    REM 只绘制武汉市市界
    gmt plot wuhan_union.gmt -Wred
gmt end

结果如下:

image

行政区划名称等属性信息提取

BOUA.gmt数据中带有省名、区划代码、区(县)名、面积、区域中心坐标等属性信息。可通过ogr2ogr中的SQL语句查询,转化为CSV格式后利用text模块画出。如上图中添加武汉市各区名称,代码及结果如下:

gmt begin

  REM 上例中wuhan.gmt绘制各区边界
  gmt plot wuhan.gmt -Wblue -Ba

  REM 提取各区中心坐标及区县名称,利用text标记
  ogr2ogr -f CSV -sql "select Longitude, Latitude, Cou_Name from wuhan" wuhan.csv wuhan.gmt
    gmt text -F+f10p,STHeiti-Regular--GB-EUC-H wuhan.csv

gmt end

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant