In [1]:
from osgeo import gdal
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import tflearn
import random
import time
from zipfile import ZipFile
import io
In [11]:
driver = gdal.GetDriverByName('GTiff')
#filename = "Strassenlaerm_Nacht.tif"
filename = "Strassenlaerm_Tag.tif"
dataset = gdal.Open(filename)
band = dataset.GetRasterBand(1)
cols = dataset.RasterXSize
rows = dataset.RasterYSize
transform = dataset.GetGeoTransform()
xOrigin = transform[0]
yOrigin = transform[3]
pixelWidth = transform[1]
pixelHeight = -transform[5]
data = band.ReadAsArray(0, 0, cols, rows)
print("{} {}".format(cols, rows))
In [3]:
# nico1, piero, nico2, violett
points_list = [(610370.68, 267213.20), (622109.64,258681.51), (609535.50,266231.44), (611425.14, 266458.84)]
for point in points_list:
col = int((point[0] - xOrigin) / pixelWidth)
row = int((yOrigin - point[1] ) / pixelHeight)
print(row,col, data[row][col])
In [20]:
def colorMap(arr, size=12):
arr = np.asarray(arr)
fig = plt.figure(figsize=(size,size))
ax = fig.add_subplot(111)
ax.set_title('Strassenlärm')
plt.imshow(arr)
ax.set_aspect('equal')
plt.colorbar(orientation='vertical')
plt.show()
pixels = []
for row in range(2000, 7000):
pixels.append([data[row][col] for col in range(11000, 18000)])
colorMap(pixels)
In [8]:
num_pix = 5
for point in points_list:
for num_pix in range(1, 20, 2):
print(num_pix)
matrix = []
for x in range(-num_pix, num_pix+1):
line = []
for y in range(-num_pix, num_pix+1):
col = int((point[0] - xOrigin) / pixelWidth) + y
row = int((yOrigin - point[1] ) / pixelHeight) + x
line.append(data[row][col])
matrix.append(np.asarray(line))
matrix = np.asarray(matrix)
colorMap(matrix, 4)
filtered = matrix.ravel()
filtered = filtered[np.where(filtered < 127)]
print(np.min(filtered))
print(np.mean(filtered))
print("---------------")
print()
In [ ]: