Pythonは3Dマップの視覚化を実現します

参考までに、Pythonコードに基づく3Dマップの視覚化。具体的な内容は次のとおりです。

前書き

Pythonを使用して、マップを3Dで視覚化します。マップをマップとして使用すると、3次元空間の軌跡とポイントを視覚化することができます。

図書館

複数のライブラリを使用しています。

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.shape

elevation= 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 * nrows

plt.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 inrange(x):for j inrange(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:]iflen(r)==1:
 r ='0'+ r
 iflen(b)==1:
 b ='0'+ b
 iflen(g)==1:
 g ='0'+ g
 col ='#'+ r + b + g
 colall.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()

以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。

Recommended Posts

Pythonは3Dマップの視覚化を実現します
Pythonはオンラインマイクロブログデータの視覚化を実現します
Pythonは宇宙船戦争を実現します
Pythonは写真のステッチを実現します
Pythonはオンライン翻訳を実現します
Pythonは戦車戦を実現
Python3は飛行機戦争ゲームを実現します
Pythonはオンライン翻訳機能を実現します
Pythonはリンゴを食べるゲームを実現します
Pythonは推測ゲームを実現します
Pythonはフェイスサインインシステムを実現します
Pythonは短世界の流行マップです
Pythonは写真のバッチ命名を実現します
Pythonセグメンテーションシーケンス図視覚化プログラム
Pythonは名刺管理システムを実現
Pythonはエクスプレス価格クエリシステムを実現します
Pythonは画像認識カー機能を実現
Pythonはudp送信画像機能を実現します
Pythonはコンソール出力カラーフォントを実現します