查看: 1402|回复: 0

OpenStreetMap开源高精度海岸线数据介绍

[复制链接]
发表于 2023-7-28 05:59:35 | 显示全部楼层 |阅读模式
OpenStreetMap

OpenStreetMap(简称OSM)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。由于大众参与的持续修正以及采用了更加可靠的数据源,OSM的海岸线精度和分辨率比GMT开源岸线GSHHG更高。

German FOSSGIS小组(https://www.fossgis.de/) 已经从OSM海岸线中制作了shapefile格式的文件,下载地址为https://osmdata.openstreetmap.de/data/land-polygons.html。注意下载WGS-84投影的Large polygons not split版本,文件大小约600M。下载后可以利用开源GIS软件QGIS软件快速打开数据集,并导出感兴趣的区域为文本格式,从而可以使用别的绘图软件进行绘图(如GMT)。
使用QGIS提取区域shp

下面是基本的数据选取和导出步骤。

•读入全球的shp文件•缩放到目标区域•toggle edit•Edit-Split feature,绘制一条线分割出目标区域•Select feature•save selected feature as shp
shp转文本格式或者kml

保证已经安装GMT,然后命令行:

ogr2ogr-fOGR_GMTsy.gmtsy.shpgmtgmt2kmlsy.gmt-Wthick,white-Fl >sy.kml
使用GMT导出GSHHG海岸线

GMT可以绘制地图,也可以导出岸线数据,并基于岸线进行空间分析。下面是简单的岸线导出、绘图和转换代码。

ps=example_border.psgmt psbasemap  -JM4.5i -K -Bag `gmt gmtinfo sy.gmt -I0.000001`> $psgmt pscoast -M -W1 -Df -R >cn.txt # -Df means full resolutiongmt psxy -R -J cn.txt -W0.4p,red -O -K>> $psgmt psxy -R -J sy.gmt -W0.8p,black -O>> $psgmt gmt2kml cn.txt  -Wthick,white -Fl >cn.kml效果

白线为GSHHG岸线,红线为OSM岸线。表明OSM更为准确,在一些对岸线精度较高的场景中可以使用OSM。

其他参考:https://docs.generic-mapping-tools.org/dev/gallery/ex51.html#example-51QGIS:https://www.qgis.org/en/site/
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

快速回复 返回顶部 返回列表