1
쉬운 질문이지만 유감 스럽지만 파이썬에서는 새로운 기능이므로 동일한 도움이 필요합니다.파이썬 : 통계 특성을 추출하기 위해 포인트 X, Y, Z를 그리드
나의 데이터는 포인트 형식으로되어 있습니다 : X, Y, Z. 여기서 X와 Y는 좌표이고, z는 값입니다.
내 문제는 : 0.5m x 0.5m (또는 1m x 1)의 래스터 (TIF 또는 ASCII)를 만듭니다. 각 픽셀의 값은 Z의 avarage입니다. 포인트가없는 경우 pixel-i 값은 NAN 일 필요가있다. 내가 공부하고 구현할 수있는 몇 가지 코드에 대한 도움말은 정말 기뻐요
의 도움에 미리
감사합니다, 정말 필요합니다. 나는 그들이 떨어질 경우 인덱스가 X, Y는, 순서 Z 점을 알고하는 방법을 이해하는 문제가이 점에서
from osgeo import gdal, osr, ogr
import math, numpy
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as ml
import matplotlib.delaunay
tiff = 'test.tif'
gridSize = 0.5
# my area boundary
xmax, xmin = 640000.06, 636999.83
ymax, ymin = 6070000.3, 6066999.86
# number of row and columns
nx = int(math.ceil(abs(xmax - xmin)/gridSize))
ny = int(math.ceil(abs(ymax - ymin)/gridSize))
# Plot the points
plt.scatter(x,y,c=z)
plt.axis([xmin, xmax, ymin, ymax])
plt.colorbar()
plt.show()
# Generate a regular grid.
xi = np.linspace(xmin, xmax, nx)
yi = np.linspace(ymin, ymax, ny)
xi, yi = np.meshgrid(xi, yi)
:
내가 공부하고 코드를 작성했습니다. 첫 번째 아이디어는 메쉬 그리드에 인덱스를 지정하고 포인트를 표시하는 것입니다. 그런 다음 픽셀 내부의 점에 대한 평균을 구할 수 있습니다. 픽셀 빈 (현재 점이없는 경우)은 NAN입니다.하지만 내 데이터를 처리하는 것이 올바른 방법인지는 모르겠다. 그 후
내가 GDAL 통해 TIFF 형식으로 저장하려면 다음 코드를 작성target_ds = gdal.GetDriverByName('GTiff').Create(tiff, nx,ny, 1, gdal.GDT_Byte) #gdal.GDT_Int32
target_ds.SetGeoTransform((xmin, gridSize, 0,ymax, 0, -gridSize,))
if EPSG == None:
proj = osr.SpatialReference()
proj.ImportFromEPSG(EPSG)
# Make the target raster have the same projection as the source
target_ds.SetProjection(proj.ExportToWkt())
else:
# Source has no projection (needs GDAL >= 1.7.0 to work)
target_ds.SetProjection('LOCAL_CS["arbitrary"]')
target_ds.GetRasterBand(1).WriteArray(numpy.zeros((ny,nx)))
target_ds = None
정말 감사 모든 도움
친애하는 Jan-Philip, 재생 해 주셔서 감사합니다. 내가 공부할 때 예를 물어보고 파이썬에 대한 나의 기본적인 지식을 향상시킬 수 있을까요? 할 수 있으면 감사합니다. –
이 답변으로 문제를 해결할 수 있다면 적어도 upvote를 부여하는 것이 좋습니다. –
나는 할 것입니다! :디 –