Объект 'str' не вызывается из-за близости GDAL - PullRequest
0 голосов
/ 17 марта 2020

Я очень плохо знаком с библиотекой GDAL (пробую ее на сегодняшний день на самом деле), и мне трудно понять, что я делаю здесь неправильно. Я пытаюсь выполнить функцию 'близости' из GDAL, но продолжаю получать сообщение об ошибке '' str 'объект не вызывается ”. Может кто-нибудь указать мне, что я делаю не так.

import os
from osgeo import gdal, osr
gdal_proximity = "C:\\anaconda3\\envs\\geo_py37\\Scripts\\gdal_proximity.py"


proximityInput = gdal.Open(folderPath + os.sep + "proximity_input.tif")
outputTemplate = gdal.Open(folderPath + os.sep + "output_template.tif")

######## Raster properties based on 'outputTemplate' ################
projection = outputTemplate.GetProjection()
ncols = outputTemplate.RasterXSize
nrows = outputTemplate.RasterYSize
bandCount = outputTemplate.RasterCount
upx, xres, xskew, upy, yskew, yres = outputTemplate.GetGeoTransform()
#####################################################################

driver = gdal.GetDriverByName('Gtiff')
proximityOutput = driver.Create(folderPath + os.sep + "proximity_output.tif", ncols, nrows, bandCount, gdal.GDT_Float32)
proximityOutput.SetGeoTransform([upx, xres, xskew, upy, yskew, yres])
proximityOutputPrj = distanceRaster.SetProjection(projection)

gdal_proximity (proximityInput, proximityOutputPrj)

Traceback:

Traceback (most recent call last):
  File "C:/Users/antoi/.PyCharmCE2019.3/config/scratches/Radial_Linear_Mean.py", line 22, in <module>
    gdal_proximity(proximityInput, proximityOutputPrj)
TypeError: 'str' object is not callable

1 Ответ

0 голосов
/ 17 марта 2020

в третьей строке кода, которую вы установили (перезаписать) gdal_proximity в качестве следующей строки

gdal_proximity = "C:\\anaconda3\\envs\\geo_py37\\Scripts\\gdal_proximity.py"

Затем вы пытаетесь вызвать ее как функцию.

gdal_proximity (proximityInput, proximityOutputPrj)

, которая вызывает вашу ошибку, потому что она не функция, а строка, поэтому не вызывается как функция.

...