python实现DEM数据的阴影生成的方法
作者:林木声 发布时间:2023-11-09 11:17:25
标签:python,DEM,阴影
相关的依赖库在我的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
来源:https://www.cnblogs.com/wylwyl/p/10270803.html
0
投稿
猜你喜欢
- 举例如下,一个服务器端的form 代码自动被解释成客户端代码:服务器端代码: &l
- 依赖环境本篇文章所依赖的python 环境如下:计算机网络应用体系结构,一般有以下几种:C/S架构: 也称为客户端/客户端架构。P2P架构:
- “/xxxxx”应用程序中的服务器错误。 -------------------------------------------------
- 具体代码和说明如下:upload.asp<form action=http://<%= Request.&n
- 古巴比伦王颁布了汉摩拉比法典,刻在黑色的玄武岩,距今已经三千七百多年,你在橱窗前…熟悉吧?没错,这就是周董的爱在西元前歌词。前不久工作不是很
- Pywin32是一个Python库,为python提供访问Windows API的扩展,提供了齐全的windows常量、接口、线程以及COM
- ChainMap是Python collections模块中的一个成员,它用来将多个map组合到一起。Chain是链条的意思,字面意思就是把
- 开发环境:Pycharm 2018.3 + Anaconda3(5.3.0) + Python 3.7.1 + Numpy 1.15.4在此
- eval() 和 exec() 函数都属于 Python 的内置函数,由于这两个函数在功能和用法方面都有相似之处,所以将它们放到一节进行介绍
- PHP simplexml_load_string() 函数实例转换形式良好的 XML 字符串为 SimpleXMLElement 对象,然
- 假设需要打包的模块文件名为my.py,打包模块需要新建的一个脚本setip.py,然后在脚本下输入如下的内容:from disut
- 目录一、前言二、方法1、代码2、运行一、前言SpringBoot作为后端开发框架,有强大且方便的处理能力。但是作为一个结合数据分析+前台展示
- 效果图实例代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit
- 由于javascript是一种无类型语言,所以一个数组的元素可以具有任意的数据类型,同一个数组的不同元素可以具有不同的类型,数组的元素设置可
- 例如这样一个字符串 Python,它就是几个字符:P,y,t,h,o,n,排列起来。这种排列是非常严格的,不仅仅是字符本身,而且还有顺序,换
- 需要在两个文件中实现:首先,在talker.asp(在线名单)中做如下处理:<%p1=trim(application("v
- 公司服务器的mysql和redis连接都需要有跳板机,网上有很多python ssh远程连接mysql的,那天我研究了下,利用sshtunn
- insert into(列名) select 列名 from 表名 where 条件 --不创建表,只复制表数据 select 列名 int
- with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能(2.5 版本中要通过 from __future__ impo
- 前言夏天是用来告别的季节,因为毕业总在七月。那么七月之前的季节是用来干嘛的呢?当然是用来做毕业设计的啦今天还是写一些从简单到难的毕业设计或者