基于python代码的3D地图可视化

  • 介绍
  • 结果
  • 代码

介绍

使用Python对地图进行3D可视化。以地图为地图,可以在三维空间对轨迹、点进行可视化。

我们使用了多个库:

  1. gdal;
    主要是用于读取地图信息,这个库在GIS中很常用,使用C++代码编写的,如果安装不了需要在pypi里面找一下对应的资源。
  2. opencv;
    很常用的图像处理库。
  3. matplotlib;
    常用的可视化库

结果

废话不多说直接上结果:

代码

直接上代码,代码很简单。

from osgeo import gdal
import cv2
gdal.UseExceptions()ds = gdal.Open('E:/Pythoncode/读取地理信息/无标题.tif')
bandg = ds.GetRasterBand(1)
elevationg = bandg.ReadAsArray()bandr = ds.GetRasterBand(2)
elevationr = bandr.ReadAsArray()bandb = ds.GetRasterBand(3)
elevationb = bandb.ReadAsArray()import matplotlib.pyplot as plt
nrows, ncols = elevationr.shapeelevation= cv2.merge([elevationg,elevationr,elevationb])#
# I'm making the assumption that the image isn't rotated/skewed/etc.
# This is not the correct method in general, but let's ignore that for now
# If dxdy or dydx aren't 0, then this will be incorrect
x0, dx, dxdy, y0, dydx, dy = ds.GetGeoTransform()x1 = x0 + dx * ncols
y1 = y0 + dy * nrowsplt.imshow(elevation, cmap='gist_earth', extent=[x0, x1, y1, y0])
plt.show()from PIL import Image
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig = plt.figure()
ax = Axes3D(fig)img = Image.open('E:/Pythoncode/读取地理信息/无标题.tif')
xx=[]
yy=[]
colall=[]
x = img.size[0]
y = img.size[1]
for i in range(x):for j in range(y):r = hex(img.getpixel((i, j))[0])[2:]b = hex(img.getpixel((i, j))[1])[2:]g = hex(img.getpixel((i, j))[2])[2:]if len(r) == 1:r = '0' + rif len(b) == 1:b = '0' + bif len(g) == 1:g = '0' + gcol = '#' + r + b + gcolall.append(col)xx.append(x0 + dx * i)yy.append(y0 + dy * j)# col = '#FF00FF'
ax.scatter(xx, yy, 5, c=colall, alpha=0.5)
plt.show()

基于python代码的3D地图可视化相关推荐

  1. 30行python代码设计_30行Python代码实现3D数据可视化

    原标题:30行Python代码实现3D数据可视化 作者:潮汐 来源:Python技术 欢迎来到 编程教室~ 我们之前的文章中有讲解过不少 Matplotlib 的用法,比如: 之前我们基本都是用它来绘 ...

  2. plot参数详解python_30行Python代码实现3D数据可视化

    作者:潮汐 来源:Python技术 欢迎来到编程教室~ 我们之前的文章中有讲解过不少 Matplotlib 的用法,比如: 完成这50个Matplotlib代码,你也能画出优秀的图表 25个常用Mat ...

  3. 基于Python的直播平台数据分析可视化系统

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 随着移动互联网和5G的快速发展,视频直播行业呈现出丰富多元的内容形态,覆盖更多的场景和受众,视频成为 ...

  4. 基于python+django的图书馆借阅可视化管理系统#毕业设计

    开发环境 项目编号:py235基于python+django的图书馆借阅可视化管理系统#毕业设计 开发语言:Python python框架:django 软件版本:python3.7/python3. ...

  5. 毕业设计-基于Python爬虫的疫情数据可视化系统

    基于Python爬虫的疫情数据可视化系统 采用ECharts+Flask+Requests架构: 源码加3105088663

  6. python批量图像处理_基于python代码批量处理图片resize

    出差做PPT,要放一些图片上去,原图太大必须resize,十几张图片懒得一一处理了,最近正好在学python,最好的学习方式就是使用,于是写了一个批量处理图片resize的代码,在写的过程中,熟悉了p ...

  7. NLP之Chatgpt:基于openai框架通过调用API接口实现Chatgpt的吊炸天功能的图文教程(基于python代码实现)、案例应用之详细攻略

    NLP之Chatgpt:基于openai框架通过调用API接口实现Chatgpt的吊炸天功能的图文教程(基于python代码实现).案例应用之详细攻略 导读:2023年1月30日版本更新,以下是最新消 ...

  8. 【计算机专业毕设之基于python的nba爬虫数据可视化分析系统】

    [计算机专业毕设之基于python的nba爬虫数据可视化分析系统-哔哩哔哩https://b23.tv/BijZd9L 爬虫+Django+数据分析可视化

  9. 【计算机毕设之基于python的股票价格智能预测可视化系统-哔哩哔哩】 https://b23.tv/Rlgmbas

    [计算机毕设之基于python的股票价格智能预测可视化系统-哔哩哔哩] https://b23.tv/Rlgmbas https://b23.tv/Rlgmbas

  10. 【Python】基于Python的机器学习回归:可视化、预测及预测结果保存(附代码)

    目录 0 一个交互性的软件 0 大无语事件 1 简介 2 数据 3 代码 4 效果 5 关于数据获取 0 一个交互性的软件 基于相关需求,我使用python封装了一个交互性机器学习回归软件,现已依托单 ...

最新文章

  1. 台湾民众浙江奉化“过大年” 感知大陆新农村建设
  2. Git和Repo管理使用简要介绍
  3. java socket编程(转)
  4. 与fastboot相关的知识
  5. 19个神经元控制自动驾驶汽车,MIT等虫脑启发新研究登Nature子刊
  6. Android笔记 android 7.0 动态申请权限
  7. mysql中语句块当事务,MySQL事务与隔离级别
  8. 庆国庆,Power BI 统一报表门户横空出世,指南请收
  9. 计算机桌面变成立体,win7系统将桌面变成立体桌面的两种方法介绍
  10. docker快速搭建数据库测试环境
  11. Bailian2790 迷宫【DFS】
  12. 使用ssh远程重装centos
  13. JS实现类似打字的特效,JS实现打字效果
  14. SDK “iphoneos“ cannot be located
  15. VUE常用问题hack修改
  16. MT6753和MT6737 4G和以太网同时使用问题,测试记录
  17. 5.2.6UART寄存器编程(下)
  18. 第1章第17节:如何使用备注功能对内容进行注释补充 [PowerPoint精美幻灯片实战教程]
  19. 自训练和协同训练简述
  20. Hexo接入Google adsense广告

热门文章

  1. svg的学习笔记《一》:如何使用svg sprite
  2. 5款知名bug管理工具
  3. css的语义---Cascading Style Sheet
  4. win7+linux双系统安装
  5. WIN7、WIN8、WIN10家庭组共享
  6. 【C】C语言文件(包括:文件各种读写方式)
  7. hadoopsnappy解压_Hadoop的Snappy安装配置
  8. 计算机怎么更换硬盘,如何更换电脑新硬盘无需重装系统_换硬盘不重装系统方法...
  9. c语言小蜜蜂编程题,C语言经典题目“小蜜蜂“代码.docx
  10. 单片机C语言中关键词code的作用