跳转到主要内容

读取和转换KMS的网格。

项目描述

kmsgrid 是一个小工具,它使您能够轻松地处理KMS/DTU为转换库TrLib (KMSTrans)制作的多种数据网格。

使用kmsgrid

kmsgrid 既是Python模块也是命令行实用程序。

命令行

kmsgrid 命令行实用程序包括两个子实用程序:“info”和“translate”。

$ kmsgrid --help
usage: kmsgrid [-h] {translate,info,help} ...

Read binary grid files from trlib.

optional arguments:
  -h, --help            show this help message and exit

Subcommands:
  Valid subcommands

  {translate,info,help}
                        additional help

Info

info子命令用于获取关于网格的信息。可以查询单个点的信息,也可以查询整个文件的信息。

$ kmsgrid info --help
usage: kmsgrid info [-h] [--datum] [--mode] [--point I J] grid

positional arguments:
  grid         Binary grid file.

optional arguments:
  -h, --help   show this help message and exit
  --point I J  Value(s) at a grid index (I,J). Prints values from all
               dimensions of the grid.

获取3D网格的信息

$ kmsgrid info nkgrf03vel.01
      filename:  nkgrf03vel.01
    dimensions:  3
        latmin:  53.0
        latmax:  73.0
        lonmin:  3.0
        lonmax:  40.0
   data[0].min:  -0.96
   data[0].max:  1.75
  data[0].mean:  0.204704
   data[1].min:  -1.65
   data[1].max:  0.86
  data[1].mean:  -0.194318
   data[2].min:  -0.72
   data[2].max:  9.97
  data[2].mean:  2.34521
          dlat:  0.0833333333333
          dlon:  0.166666666667
          nlat:  241
          nlon:  223
         datum:  ITRF19yy/20yy
          mode:  KMSGrid
     tabletype:  3D

索引55,12的单个网格单元格中的值

$ kmsgrid info Geoids2013\nkgrf03vel.01 --point 55 12
0.649999976158 -0.200000002980 -0.720000028610

Translate

translate子命令与gdal_translate类似,它可以将一个格式转换为另一个格式。实际上,在幕后,它使用GDAL将KMS网格转换为更常见的格式。只有GDAL格式的小子集可以与kmsgrid一起使用。

$ kmsgrid translate --help
usage: kmsgrid translate [-h] [--driver DRIVER]
                         [--creation_options CREATION_OPTIONS]
                         grid out dimensions [dimensions ...]

positional arguments:
  grid                  Binary grid file.
  out                   Name of output grid file
  dimensions            List of dimensions in output grid, e.g. "1 2"

optional arguments:
  -h, --help            show this help message and exit
  --driver DRIVER, -d DRIVER
                        Output format. Currently supports: GTiff, GTX, NTv2
  --creation_options CREATION_OPTIONS, -co CREATION_OPTIONS
                        Additional GDAL creation options. Must be formatted
                        as "PARAM1=foo PARAM2=bar".

将DVR90地球椭球网格转换为GTX格式

$ kmsgrid translate --driver=GTX dvr90g2013.01 dvr90.gtx 1

将NKG速度模型转换为两个网格,一个用于NTv2格式的水平部分,另一个用于GTX格式的垂直部分

使用kmsgrid translate –driver=NTv2 nkgrf03vel.01 nkgrf03vel_xy.gsb 1 2 和kmsgrid translate –driver=GTX nkgrf03vel.01 nkgrf03vel_z.gtx 3进行转换

API

这是一个简单的示例,展示了API的用法

from kmsgrid import KMSGrid

# print some useful info
grid = KMSGrid('dvr90g.2013.01')
print('Dimensions of grid: {0}'.format(grid.dims))
print('Datum of grid: {0}'.format(grid.datum))
print('Bounding boix of grid: [{0}, {1}, {2}, {3}'.format(
    grid.lonmix, grid.latmin, grid.lonmax, grid.latmax))

# convert grid to a TIFF file
grid.export(filename='dvr90.tif', dimensions=1)

安装

从GitHub克隆仓库,并在本地仓库文件夹中运行以下命令

$ python setup.py install

或者,可以使用pip从Python包索引中安装kmsgrid

pip install kmsgrid

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码发行版

此版本没有提供源代码发行版文件。请参阅生成发行版存档的教程。

构建发行版

kmsgrid-1.1.0-py2.py3-none-any.whl (10.3 kB 查看哈希值)

上传时间 Python 2 Python 3

支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页