Hi!!!
Im writing an algorithm in Python to extract Z coordinate of an DEM for a pair
of X,Y coordinates. Im using GDAL. The algorithm works correctly by extracting
the Z coordinate from the DEM.
Z = 1872 limiar = 0.00001
COORD_X = []
COORD_Y = []
for i in range(size):
print()
print()
print()
X = Xcp + (Z - Zcp) * (((m11 * xf[i]) + (m21 * yf[i]) - (m31 * focal)) / ((m13
* xf[i]) + (m23 * yf[i]) - (m33 * focal)))
Y = Ycp + (Z - Zcp) * (((m12 * xf[i]) + (m22 * yf[i]) - (m32 * focal)) / ((m13
* xf[i]) + (m23 * yf[i]) - (m33 * focal)))
rasterx = int((X - gt[0]) / gt[1])
rastery = int((Y - gt[3]) / gt[5])
Z_dem = float(layer.GetRasterBand(1).ReadAsArray(rasterx, rastery, 1, 1))
a = abs(Z_dem - Z)
Until this part of the algorithm everything works properly. In sequence I need
to enter a condition to compare the result of the variable "a" with variable
"limiar" and when I enter the conditional in the algorithm and try to execute,
the python returns an error in line referring to "Z_dem".
if (a < limiar):
COORD_X.append(X)
COORD_Y.append(Y)
else:
Z = Z_dem
Error on Python:
File "C:/Users/cesar/OneDrive/Projeto_RGB/Monorestituicao_v01.py", line 106, in
Z_dem = float(layer.GetRasterBand(1).ReadAsArray(rasterx, rastery, 1, 1))
TypeError: float() argument must be a string or a number, not 'NoneType'
I don't understand this error because the value on "Z_dem" is a float and not
"NoneType".
Can someone assist please?
Kind Regards.
César de Paula
Enviado do Outlook<http://aka.ms/weboutlook>
_______________________________________________
gdal-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/gdal-dev