Я пытаюсь сгенерировать координаты x, y, z, чтобы создать идеализированный ландшафт для использования в программном обеспечении и моделировании ГИС. Я новичок в Python, и это определенно покажет.
Для этого я хотел бы создать сетку из точек x, y, z через регулярные интервалы сетки. x представляет широту, y, долготу и z, высоту.
Я могу разбить пейзаж на несколько частей, которые затем можно соединить вместе:
- прямоугольники с постоянной высотой (z = постоянная)
- прямоугольники, где z зависит либо от x, либо от y. Например, наклон, где z увеличивается с увеличением x.
Я дошел до использования meshgrid, который создал серию массивов. Мне просто нужно извлечь каждую соответствующую позицию массива вместе в порядке экспорта данных X, Y, Z.
Я в конечном итоге сделаю это с гораздо большим набором данных, но приведенный ниже код рассчитан на 16 баллов.
тестовый прогон
import numpy as np
import matplotlib.pyplot as plt
создать координаты с интервалом 30 и начиная с x = 313000, y = 6220000, z постоянна на 15
sp=(30)
x=np.arange(313000, 313120, sp)
y=np.arange(6220000,6220120, sp)
z=np.repeat(15,4)
x_mesh, y_mesh, z_mesh=np.meshgrid(x,y,z)
показать точечный график сетки
plt.scatter(x_mesh, y_mesh, z_mesh)
plt.show
создать координаты из сетки
coords=???
print(coords)
экспорт координат в CSV-файл
import csv
with open('coords.csv','w') as f:
out = csv.writer(f, delimiter=',')
out.writerows(zip(*coords))
f.close()