#srtm数据格式.hgt读取

转载自https://librenepal.com/article/reading-srtm-data-with-python/

#python读取

import os
import json
import numpy as npSAMPLES = 1201  # Change this to 3601 for SRTM1
HGTDIR = 'hgt'  # All 'hgt' files will be kept here uncompresseddef get_elevation(lon, lat):hgt_file = get_file_name(lon, lat)if hgt_file:return read_elevation_from_file(hgt_file, lon, lat)# Treat it as data void as in SRTM documentation# if file is absentreturn -32768def read_elevation_from_file(hgt_file, lon, lat):with open(hgt_file, 'rb') as hgt_data:# HGT is 16bit signed integer(i2) - big endian(>)elevations = np.fromfile(hgt_data, np.dtype('>i2'), SAMPLES*SAMPLES)\.reshape((SAMPLES, SAMPLES))lat_row = int(round((lat - int(lat)) * (SAMPLES - 1), 0))lon_row = int(round((lon - int(lon)) * (SAMPLES - 1), 0))return elevations[SAMPLES - 1 - lat_row, lon_row].astype(int)def get_file_name(lon, lat):"""Returns filename such as N27E086.hgt, concatenatedwith HGTDIR where these 'hgt' files are kept"""if lat >= 0:ns = 'N'elif lat < 0:ns = 'S'if lon >= 0:ew = 'E'elif lon < 0:ew = 'W'hgt_file = "%(ns)s%(lat)02d%(ew)s%(lon)03d.hgt" % {'lat': abs(lat), 'lon': abs(lon), 'ns': ns, 'ew': ew}hgt_file_path = os.path.join(HGTDIR, hgt_file)if os.path.isfile(hgt_file_path):return hgt_file_pathelse:return None# Mt. Everest
print get_elevation(86.925278, 27.988056)
# Kanchanjunga
print get_elevation(88.146667, 27.7025)

#gdal读取

gdallocationinfo.exe N27E088.hgt -wgs84 88.2123 27.1115

srtm数据格式.hgt读取相关推荐

  1. SRTM DEM hgt格式转成GRID格式的问题解决

    SRTM数据主要是由美国太空总署(NASA)和国防部国家测绘局(NIMA)联合测量的,SRTM的全称是Shuttle Radar Topography Mission,即航天飞机雷达地形测绘使命.获取 ...

  2. Java实现栅格数据格式文件读取及加法操作

    问题: 现在有两个包含栅格数据的txt文件dem1.txt.dem2.txt,要实现对两个文件的读取,并且将两个文件中的数据对应相加,输出结果.文件格式如下: 步骤: 1.通过InputStream读 ...

  3. python读取大智慧数据_大智慧365权息数据格式及读取过程步骤记录

    准备工作 1.十六进制查看软件 UltraEdit 2.查看数据格式 00000000h: 32 C8 43 FF DE 83 CC FF FF FF FF FF 53 48 35 30 ; 2菴迌 ...

  4. Python使用技巧:使用Python处理SRTM(.hgt)文件

    数据类型 航天飞机雷达地形任务(SRTM),顾名思义,是一个研究任务,产生一个通用的免费数字高程模型.SRTM以.hgt为结尾,文件的名字解释了hgt文件的范围.比如,文件名字为N30E11,表示范围 ...

  5. TensorFlow数据读取机制:文件队列 tf.train.slice_input_producer和 tf.data.Dataset机制

    TensorFlow数据读取机制:文件队列 tf.train.slice_input_producer和tf.data.Dataset机制 之前写了一篇博客,关于<Tensorflow生成自己的 ...

  6. Spark学习笔记:数据读取和保存

    spark所支持的文件格式 1.文本文件 在 Spark 中读写文本文件很容易. 当我们将一个文本文件读取为 RDD 时,输入的每一行 都会成为 RDD 的 一个元素. 也可以将多个完整的文本文件一次 ...

  7. modbus连续读取时数据不正确_使用MODBUS协议与传感器、工控屏对接时碰到的问题...

    当控制器作为可编程逻辑器件用于工控系统时,其需要与各种不同的传感器对接, 同时需要与工控屏对接,以提供人机界面与用户进行交互: 对接的传感器功能多种多样, 有检测环境的温.湿度.二氧化碳.光照等的传感 ...

  8. envi栅格TIF数据进行分割_常用水文气象数据读取及其可视化(二进制、HDF5、NetCDF)以GLDAS、MODIS、GSMaP为例...

    " 地学.水文.气象领域的自然科学数据通常以netcdf.hdf.二进制等方式存储,比如温度.降水.蒸发数据等:学会这些数据格式的读取和可视化是进行地学统计分析计算的关键,python提供了 ...

  9. WFDB软件包简介——ECG数据在Matlab下的读取/显示方法

    转载自 http://pfyu.bokee.com/6946657.html ECG数据在Matlab下的读取/显示方法 WFDB软件包包含两大组件: 1.WFDB库,支持心电信号读取及分析: 2.W ...

最新文章

  1. PHP会话控制考察点
  2. 程序从高版本降到2.0,数据集报错 TypedTableBase
  3. C++ 可变索引模板 和 template template
  4. RocketMQ 一行代码造成大量消息发送失败
  5. The best programmers are the quickest to Google
  6. iframe 实现网页本页显示
  7. matconvnet 在 win7 64 位下的安装
  8. 修改centos7的MAC地址
  9. 捕捉异常_Python通过try....except...else捕捉和处理异常
  10. 智和网管平台SugarNMS政府部门综合网管
  11. SQL right()函数
  12. 设计字体打包_设计师都在用的艺术字体素材
  13. 【presto 】presto 新版本升级详情
  14. Outlook2019版本的收发邮件设定
  15. MySQL学习分享之存储过程
  16. 小米盒子 android 动画特效,电视超人app下载
  17. struts2.x自定义类型转换
  18. 微软6年来首次推出新Windows系统,Windows11正式发布!
  19. 5G时代新型基础设施十大应用场景
  20. Eclipse开启代码提示

热门文章

  1. vbs获取html内容,VBS获取网页内容
  2. Problem F: 尖兵
  3. Win32K里的死循环
  4. PS(2018)更换启动界面
  5. httpClient的get请求 请求头gzip和deflate的乱码解决方案
  6. Codeforces 891E Lust 生成函数
  7. 恒星物联-河道水系监测系统方案 水质监测
  8. itext生成打印(操作PDF)
  9. 那些让人睡不着觉的bug,你有没有遭遇过?
  10. 解决:RecyclerView只显示一行数据