python实现DEM数据的阴影生成的方法


Posted in Python onJuly 23, 2019

相关的依赖库在我的github网站上

首先贴出代码:

import solar
from gradient import *
from shadows import *
import numpy as np

import matplotlib.pyplot as plt # plt 用于显示图片
import matplotlib.image as mpimg # mpimg 用于读取图片


# dem
import srtm
if __name__ == '__main__':

  
  '''
  # 另一种从网上直接下载DEM数据
  geo_elevation_data = srtm.get_data()
  image = geo_elevation_data.get_image((500, 500), (45, 46), (13, 14), 300)
  # the image s a standard PIL object, you can save or show it:
  image.show()

  image = np.asarray(image)

  print(image.shape)

  '''

  # 读入高程信息
  filename = 'dempyrenees.asc'
  dem = np.loadtxt(filename,skiprows=6,delimiter=' ')

  # 高程信息的维度
  # print(dem)
  print(dem.shape)

  # 定义一个光线向量
  # 第一个表示和竖直方向的夹角,第二个表示由东向西照射
  sv = normal_vector(45, 270)

  # 生成阴影
  shadow = project_shadows(dem=dem,sun_vector=sv,dx=30)
  print(shadow[1,:])
  print(shadow.shape)

  # 显示dem和shadow图像
  plt.figure()
  plt.subplot(1,2,1)
  plt.imshow(dem,cmap='gray') # 显示灰度图像
  plt.axis('off') # 不显示坐标轴

  plt.subplot(1,2,2)
  plt.imshow(shadow,cmap='gray')
  plt.axis('off')

  plt.show()

生成的结果如下:左边是DEM数据,右边是shadow

python实现DEM数据的阴影生成的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python2.x与Python3.x的区别
Jan 14 Python
使用python实现tcp自动重连
Jul 02 Python
Python异步操作MySQL示例【使用aiomysql】
May 16 Python
Django Admin中增加导出CSV功能过程解析
Sep 04 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
Feb 05 Python
Django通过json格式收集主机信息
May 29 Python
keras分类模型中的输入数据与标签的维度实例
Jul 03 Python
python实现从ftp上下载文件的实例方法
Jul 19 Python
如何使用PyCharm引入需要使用的包的方法
Sep 22 Python
python分布式爬虫中消息队列知识点详解
Nov 26 Python
Python 转移文件至云对象存储的方法
Feb 07 Python
Pygame游戏开发之太空射击实战敌人精灵篇
Aug 05 Python
Django REST framework 如何实现内置访问频率控制
Jul 23 #Python
详解pandas中MultiIndex和对象实际索引不一致问题
Jul 23 #Python
python视频按帧截取图片工具
Jul 23 #Python
python如何实现从视频中提取每秒图片
Oct 22 #Python
详解Django 时间与时区设置问题
Jul 23 #Python
利用python-pypcap抓取带VLAN标签的数据包方法
Jul 23 #Python
python 抓包保存为pcap文件并解析的实例
Jul 23 #Python
You might like
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
PHP最常用的ini函数分析 针对PHP.ini配置文件
2010/04/22 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
Yii2语言国际化的配置教程
2018/08/19 PHP
window.name代替cookie的实现代码
2010/11/28 Javascript
深入document.write()与HTML4.01的非成对标签的详解
2013/05/08 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
Node.js实现的简易网页抓取功能示例
2014/12/05 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
Javascript 链式作用域详细介绍
2017/02/23 Javascript
vue引入jq插件的实例讲解
2017/09/12 Javascript
vue2.0 常用的 UI 库实例讲解
2017/12/12 Javascript
使用axios实现上传图片进度条功能
2017/12/21 Javascript
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
小程序如何构建骨架屏
2019/05/29 Javascript
Python中random模块用法实例分析
2015/05/19 Python
Python多线程爬虫简单示例
2016/03/04 Python
一个基于flask的web应用诞生(1)
2017/04/11 Python
实例讲解python中的协程
2018/10/08 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
2018/10/29 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
Css3实现无缝滚动防抖
2020/09/14 HTML / CSS
HTML5中indexedDB 数据库的使用实例
2017/05/11 HTML / CSS
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
优秀教师感人事迹材料
2014/05/04 职场文书
2015年财务部工作总结
2015/04/10 职场文书
工作证明书
2015/06/15 职场文书
学籍证明模板
2015/06/18 职场文书
大学三好学生主要事迹范文
2015/11/03 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
关于拾金不昧的感谢信(五篇)
2019/10/18 职场文书
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android