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
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
目前的 CN-border 数据中只有单纯的线段数据,没有每个线段对应的元信息(比如属于哪个省的边界)。
@liuzhumei 曾经提供给我一套更完整的中国边界数据(目测包含国界、省界、市界和区界),数据大小为 90 MB。以下是她提供的笔记:
中国行政区划数据集
本数据集原始来源为 全国地理信息资源目录服务系统,比例尺为1:100万,数据整体现势性为2015年。经过数据集要素的提取、合并及格式转化(详情见博文),集成为DCW数据格式???,包括:
国界数据(含已定国界、未定国界、海岸线)
国界及省界数据
单独省界数据
九段线数据
数据下载
https://github.com/gmt-china/china-geospatial-data ??
数据使用
数据使用方法类似原DCW数据使用规则,通过
-R
或coast
模块的-E
选项,指定区域代码,调用绘图。基本使用方法
???????????????????
由于DCW-China?数据只提供省级以上行政区划边界,社区另外提供同源OGR/GMT格式的市县级行政区划、行政地名、各级公路/铁路、湖泊水系等数据。
县级行政区域提取
BOUA.gmt中的基本单位是三级行政区,即市辖区、县级市、县、自治县等行政区域。可利用
convert
模块,通过名称(Name
属性)或行政区划代码(Pac
属性)筛选,提取数据:地级行政区域提取
6位区划代码的3~4位表示地级市、自治州等,可据此提取隶属同一地级行政区的区域范围。GMT6.1.0版本尚未完成多空间要素合并功能,因此利用
ogr2ogr
完成多边形的合并(Union)操作。结果如下:
行政区划名称等属性信息提取
BOUA.gmt数据中带有省名、区划代码、区(县)名、面积、区域中心坐标等属性信息。可通过
ogr2ogr
中的SQL语句查询,转化为CSV格式后利用text
模块画出。如上图中添加武汉市各区名称,代码及结果如下: