日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python绘制三维地形_Python的地形三维可视化Matplotlib和gdal使用实例

發(fā)布時(shí)間:2025/3/20 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python绘制三维地形_Python的地形三维可视化Matplotlib和gdal使用实例 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我是以Python開門的,我還是覺得Python也可以進(jìn)行地形三維可視化,當(dāng)然這里需要借助第三方庫,so,我就來介紹:Python一個(gè)很重要可視化插件,Matplotlib。

Matplotlib是Python最著名的繪圖庫,它提供了一整套友好的命令,十分適合交互式地進(jìn)行制圖。而且也可以方便地將它作為繪圖控件,嵌入GUI應(yīng)用程序中。你會發(fā)現(xiàn)Matplotlib和matlab相似,但是你知道m(xù)atlab強(qiáng)大是很強(qiáng)大,但是安裝包就有7G,一下就讓我失去玩弄他的興趣。

Matplotlib的二維圖形非常成熟,可以做各種各樣的報(bào)表,比如:

好吧,額,....... Matplotlib當(dāng)然也可以做3維數(shù)據(jù)。首先準(zhǔn)備了一份樣例,珠穆朗姆峰周圍地勢的dem數(shù)據(jù),我在arcsense進(jìn)行拉伸顯示,初步看看效果:

講這份數(shù)據(jù),輸入編寫好的相關(guān)路徑,然后經(jīng)過簡單的三維渲染:

Matplotlib只是一個(gè)可視化包,不能直接識別柵格數(shù)據(jù),所以這邊還用到另外一個(gè)包---gdal,開源柵格空間數(shù)據(jù)轉(zhuǎn)換庫,他的本體竟然還是c++,也開放了一個(gè)Python框架,這算是向Python投誠嘛?

好吧,開源一下用Matplotlib和gdal包進(jìn)行地形三維可視化的小腳本:

# -*- coding: gbk -*-

from mpl_toolkits.mplot3d import Axes3D

from Matplotlib import cbook

from Matplotlib import cm

from Matplotlib.colors import LightSource

import Matplotlib.pyplot as plt

import numpy as np

from osgeo import gdal

gdal.AllRegister()

filePath = u"E:\桌面\dem實(shí)驗(yàn)/Himalaya.tif" #輸入你的dem數(shù)據(jù)

dataset = gdal.Open(filePath)

adfGeoTransform = dataset.GetGeoTransform()

band = dataset.GetRasterBand(1) #用gdal去讀寫你的數(shù)據(jù),當(dāng)然dem只有一個(gè)波段

nrows = dataset.RasterXSize

ncols = dataset.RasterYSize #這兩個(gè)行就是讀取數(shù)據(jù)的行列數(shù)

Xmin = adfGeoTransform[0] #你的數(shù)據(jù)的平面四至

Ymin = adfGeoTransform[3]

Xmax = adfGeoTransform[0] + nrows * adfGeoTransform[1] + ncols * adfGeoTransform[2]

Ymax = adfGeoTransform[3] + nrows * adfGeoTransform[4] + ncols * adfGeoTransform[5]

x = np.linspace(Xmin,Xmax, ncols)

y = np.linspace(Ymin,Ymax, nrows)

X,Y = np.meshgrid(x, y)

Z = band.ReadAsArray(0, 0,nrows, ncols) #這一段就是講數(shù)據(jù)的x,y,z化作numpy矩陣

region = np.s_[10:400,10:400]

X, Y, Z = X[region], Y[region],Z[region]

fig, ax = plt.subplots(subplot_kw=dict(projection='3d'), figsize=(12,10))

ls = LightSource(270, 20) #設(shè)置你可視化數(shù)據(jù)的色帶

rgb = ls.shade(Z, cmap=cm.gist_earth, vert_exag=0.1, blend_mode='soft')

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, facecolors=rgb,

linewidth=0, antialiased=False, shade=False)

plt.show() #最后渲染出你好看的三維圖吧

最后是蝦神的話:GDAL在python里面的安裝,屬于灰常糾結(jié)的事情,運(yùn)氣好(人品好)可能一下就成功,運(yùn)氣不好,可能死活就裝不上……如果遇上死活裝不上的,可以考慮用MinGW自己進(jìn)行編譯。

如果不想用gdal來實(shí)現(xiàn)以上效果,可以考慮用arcpy的RasterToNumpy來把tif文件讀成矩陣,也可以實(shí)現(xiàn)。

總結(jié)

以上就是本文關(guān)于Python的地形三維可視化Matplotlib和gdal使用實(shí)例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

總結(jié)

以上是生活随笔為你收集整理的python绘制三维地形_Python的地形三维可视化Matplotlib和gdal使用实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩在线国产精品 | 色哟哟免费在线观看 | 超碰.com| 木下凛凛子av一区二区三区 | 国产黄色av片 | 亚洲乱码中文字幕久久孕妇黑人 | 91爱啪 | 古装做爰无遮挡三级聊斋艳谭 | 欧美国产在线观看 | 精品乱码久久久久久中文字幕 | 自拍偷拍视频在线观看 | 五月天婷婷久久 | 久久久亚洲成人 | 欧洲xxxxx | 免费观看毛片网站 | 国产中文字幕免费 | 国产在线超碰 | 91久久久久 | 自拍偷拍2019 | 精品国产午夜福利在线观看 | 亚洲欧洲日本在线 | 亚洲精品欧美激情 | 国产成人精品123区免费视频 | 日韩精美视频 | 亚洲精品动漫在线观看 | 亚洲成人av电影网站 | 中文字幕一区二区三 | 中文字幕在线观看高清 | 欧美日韩国产精品一区二区三区 | 波多野吉衣一二三区乱码 | 久久久久久久成人 | 国产高清在线精品 | 久久福利在线 | 少妇无码一区二区三区 | 加勒比一区二区 | 啦啦啦视频在线观看 | 成人黄色三级 | 人人干超碰| 67194少妇在线观看 | ,午夜性刺激免费看视频 | 亚洲美女高潮久久久 | 黄色三及 | 天堂久久一区 | 无码精品一区二区三区在线播放 | 啪啪影音 | 亚洲一区二区三区免费 | 日日夜夜拍 | 欧美一级淫片免费 | 动漫av网站 | 亚欧美| 国产日本在线 | 久久毛片| 日韩一级影视 | 精品小视频在线观看 | 暖暖av| 无码一区二区三区 | 国产人妻大战黑人20p | 亚洲熟女乱色一区二区三区 | 久久久精品国产sm调教 | 欧美性大战久久久久久久 | 色妞ww精品视频7777 | 91成人免费在线观看视频 | 青青青在线视频免费观看 | 亚洲乱亚洲乱 | 亚洲无码乱码精品国产 | 天天干天天做天天操 | 欧美日日日 | 成人97 | 91观看视频 | 丰满熟女一区二区三区 | 天天爽天天爽 | 日本在线免费观看 | 91久久国产综合久久91精品网站 | www.com日本| 夜久久 | 在线观看欧美一区二区三区 | 少妇欧美激情一区二区三区 | 国产中文字幕第一页 | 精品国产高清在线观看 | 黄色美女免费网站 | 中文字幕亚洲视频 | 久久久久久人妻一区二区三区 | 久久久夜夜 | 久久福利视频网 | 男女扒开双腿猛进入爽爽免费 | 亚洲成a人片77777精品 | 成人免费看 | 波多野结衣一区二区三区 | 曰本无码人妻丰满熟妇啪啪 | 国产精品av一区二区 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 国产成人精品a视频 | 久免费一级suv好看的国产 | 亚洲做受高潮 | 精品无码国产一区二区三区av | 91伦理视频 | 国产小视频在线观看免费 | 日韩aaaaa| 国产一区二区视频免费在线观看 |