xiaoairen322的个人博客分享 http://blog.sciencenet.cn/u/xiaoairen322

博文

GDAL空间数据转换库中的一些应用(ogr2ogr)

已有 6581 次阅读 2019-5-14 22:12 |个人分类:GMT|系统分类:科研笔记

  如果说小米是手机界的万能之王,那么GDAL就是地学界的万源之王


    GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。

OGR是GDAL项目的一个分支,功能与GDAL类似,只不过它提供对矢量数据的支持。

有很多著名的GIS类产品都使用了GDAL/OGR库,包括ESRI的ARCGIS 9.3,Google Earth和跨平台的GRASS GIS系统。利用GDAL/OGR库,可以使基于Linux的地理空间数据管理系统提供对矢量和栅格文件数据的支持。

   最近由于想绘制一个区域的地形图及行政区划图,现有的数据也是通过https://gadm.org/download_world.html和https://gadm.org/download_country_v3.html  还有基础地理信息中心下发的中国矢量(shp)格式的图,所以要用gmt绘制图形必须得转化为gmt的格所以gmt中文社区提供一种方法 GDAL (ogr2ogr)

  安装GDAL(LIUNX )

  sudo apt-get install gdal-bin python-gdal

  安装毕  测试 

  ogr2ogr --version

显示版本即可,说明安装成功 

  后面我们来说一下 我们转换为gmt所能识别的格式

下面以下载所需要的shp 和 gpkg的数据为例 来讲解ogr2ogr的用法 

Usage: ogr2ogr [--help-general] [-skipfailures] [-append] [-update]

               [-select field_list] [-where restricted_where]

               [-progress] [-sql <sql statement>] [-dialect dialect]

               [-preserve_fid] [-fid FID]

               [-spat xmin ymin xmax ymax] [-geomfield field]

               [-a_srs srs_def] [-t_srs srs_def] [-s_srs srs_def]

               [-f format_name] [-overwrite] [[-dsco NAME=VALUE] ...]

               dst_datasource_name src_datasource_name

               [-lco NAME=VALUE] [-nln name] [-nlt type] [-dim 2|3|layer_dim] [layer [layer ...]]


Advanced options :

               [-gt n]

               [-clipsrc [xmin ymin xmax ymax]|WKT|datasource|spat_extent]

               [-clipsrcsql sql_statement] [-clipsrclayer layer]

               [-clipsrcwhere expression]

               [-clipdst [xmin ymin xmax ymax]|WKT|datasource]

               [-clipdstsql sql_statement] [-clipdstlayer layer]

               [-clipdstwhere expression]

               [-wrapdateline][-datelineoffset val]

               [[-simplify tolerance] | [-segmentize max_dist]]

               [-addfields]

               [-relaxedFieldNameMatch]

               [-fieldTypeToString All|(type1[,type2]*)] [-unsetFieldWidth]

               [-fieldmap identity | index1[,index2]*]

               [-splitlistfields] [-maxsubfields val]

               [-explodecollections] [-zfield field_name]

               [-gcp pixel line easting northing [elevation]]* [-order n | -tps]


以gpkg为例  转换为gmt 

 ogr2ogr -f GMT gadm3_CHN.gmt gadm36_CHN.gpkg


解释一下 

 #ogr2ogr  为GDAL的一个转化模块

 #-f     为强制转换选项

 #gadm36_CHN.gmt 为转换后的文件

 #gadm36_CHN。gpkg 为待转换的文件


转换后的数据格式如下



shp格式n也一样  一定要注意文件的顺序 否则会报错 ,有时候灵感来了 几天未解决的几秒钟就解决了。很神奇


感谢gmt中文社区 



https://wap.sciencenet.cn/blog-3387053-1179036.html

上一篇:关于GNSS工程控制网投影变形的一些事
下一篇:关于 envi 与sarscape的安装一些
收藏 IP: 222.82.86.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-30 22:49

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部