Вопросы с тегами [gdal]

1

голосов
2

ответ
369

Просмотры

Вызов и исполняемым и получать заданы параметры его STDOUT более эффективно в Python Script

Я пишу скрипт, который принимает долготу и широту и запускает их через исполняемый под названием gdallocationinfo. Исполняемый имеет широту и долготу в качестве аргументов и возвращает его STDOUT в качестве значения для этой координаты. Я читал о подпроцессов и мне было интересно, если это наиболее эффективный способ осуществить это, если я хочу, чтобы запустить много точек. Это, кажется, принимает очень много времени. Защиту gdalgetpointdata (долгота, широта): Учеб = subprocess.Popen ([ "gdallocationinfo",. "C: \ Users \ Data \ поп", "- WGS84", "- valonly", формат "{0}" (долгота) , "{0}". формат (широта)], стандартный вывод = subprocess.PIPE, оболочки = True) (вне, ERR) = Proc. общаться () возвращает Int (уходит) Есть ли лучший способ вызвать этот исполняемый файл без того, чтобы сделать новый суб-процесс каждый раз, когда я запускаю свою функцию? Есть ли что-то я мог бы сделать, чтобы ускорить его? Как примечание стороны, я знаю, что если вы запустите исполняемый файл из командной строки, он будет продолжать принимать STDIN и давать в STDOUT Выходы, пока не скажет, что бросить ()
Grant
0

голосов
0

ответ
3

Просмотры

Can I enable PointField in django without admin on windows?

Я использую мой настольный ПК (Windows 10) в моей среде разработки. Мне нужно добавить географические координаты к одному из моих таблиц. PostgreSQL имеет тип точки, и, кажется, что Джанго эквивалентная модель PointField Я пробовал: от django.contrib.gis.db.models импорта PointField ... класс ... место = PointField (пустой = True) и я получаю следующее сообщение об ошибке сообщение: django.core.exceptions.ImproperlyConfigured: не удалось найти библиотеку GDAL (пробовал "gdal202", "gdal201", "gdal20", "gdal111", "gdal110", "gdal19"). Установлен ли GDAL? Если да, то попробуйте установить GDAL_LIBRARY_PATH в настройках. Кажется, мне нужно установить библиотеку GDAL библиотеку. Так что я попытался пип установить библиотеку GDAL --user, и я получил следующее сообщение об ошибке: ошибка: Microsoft Visual C ++ 14,0 требуется. Получить его "
Granny Aching
1

голосов
1

ответ
117

Просмотры

BASH: с помощью gdal_warp сливаться TIFs с использованием списка

Я хочу, чтобы объединить все мозаики в базе данных у меня есть, которая включает в себя несколько каталогов. Я пытался это сделать, но моя последняя мозаику «mergedM.tif» это просто мозаика из последнего пункта в моем списке (mosaic_list). Как получить gdal_warp объединить все элементы в моем списке? Это мой BASH сценарий, по какой-то причине окончательной мозаики «mergedM.tif» только показывает последний пункт в моем mosaic_list. BasePath = / дом / роза / Desktop / б # Сменить это как верхнего уровня директории CD $ BasePath dir_list = $ (Ls -d -1 $ PWD / **) список #create каталогов для г в $ dir_list сделать х = $ ( $ я базовое) mosaic_list = $ BasePath / $ х / $ список x.tif #create из TIFs включая текстовый файл эхо $ mosaic_list >> mosaiclist.txt сделано gdalwarp -of GTiff -s_srs EPSG: 2193 -t_srs EPSG: 2193 -dstnodata - 9999 $ mosaic_list mergedM. TIF #creates мозаика из выбранных файлов (должно делать) эхо для моего $ mosaic_list был это; /home/rose/Desktop/b/0900Rich/0900Rich.tif /home/rose/Desktop/b/0900Takaka/0900Takaka.tif /home/rose/Desktop/b/1000StArn/1000StArn.tif / дома / розы / Desktop / б /1000TakaHWS/1000TakaHWS.tif /home/rose/Desktop/b/1100AorereVPost/1100AorereVPost.tif
Rose
1

голосов
0

ответ
253

Просмотры

gdalUtils в R не ссылки на rgdal установки

Я в настоящее время работает R 3.4.4 через Rstudio на системе окон. У меня есть код, который я успешно провел несколько месяцев назад, но теперь, кажется, мои gdalUtils не может соединиться с моим rgdal установки. Любая функция, которую я называю получает следующее сообщение об ошибке: Возможно, сломано установка `gdal` на«C: / PROGRA ~ 2 / GDAL /»Ошибка в as.Date.default (unlist (версия)): не знает, как преобразовать` unlist (версия) `класс«`date`» Я попытался найти для GDAL установки внутри rgdal пакета и получить ту же ошибку. Я также попытался удалить и переустановить все безрезультатно. Любой совет будет принят во внимание!
ame0707
1

голосов
0

ответ
130

Просмотры

shell_exec (python3 $ CMD) отлично работает с PHP оболочки прямой выполнить, но не будет работать с сервера Apache

Привет У меня есть кусок кода, который выполнить команду python3 из PHP файла:... Shell_exec ( 'python3 /var/www/html/PlantDiseaseSystem/src/lib/py/riskcalc.py' $ riskValue [0] '' $ riskValue [1] '' $ riskValue [2] '' $ riskValue [3])....; Он работает так же хорошо и дать мне правильный результат. Но когда я запускаю тот же файл PHP с сервера Apache с помощью Javascript Отправить запрос, он не будет работать! Я проверил мой apache2 журнал ошибок и показывает сообщение ниже: Traceback (самый последний вызов последнего): Файл «/var/www/html/PlantDiseaseSystem/src/lib/py/riskcalc.py», строка 10, в с OSGeo импорта файла библиотеки GDAL "/usr/lib/python3/dist-packages/osgeo/__init__.py", строка 21, в _gdal = swig_import_helper () Файл "/usr/lib/python3/dist-packages/osgeo/__init__.py", строка 17 , в swig_import_helper _mod = imp.load_module (» _gdal», ∥f∥p, путь к файлу, описание) Файл "/usr/lib/python3.5/imp.py", строка 242, в load_module возвратного load_dynamic (имя, имя файла, файла) Файл«/usr/lib/python3.5/ imp.py», строка 342, в load_dynamic возврата _load (спецификации) ImportError: /usr/lib/python3/dist-packages/osgeo/_gdal.cpython-35m-x86_64-linux-gnu.so не определено символ: VSICurlClearCache кажется мне у меня импорт неприятности библиотеки, как же я мог сделать это просто отлично от скорлупы? Я использую Ubuntu 16.04. Спасибо! неопределенный символ: VSICurlClearCache Мне кажется, у меня импортировать неприятности библиотека, как же я мог сделать это просто отлично от скорлупы? Я использую Ubuntu 16.04. Спасибо! неопределенный символ: VSICurlClearCache Мне кажется, у меня импортировать неприятности библиотека, как же я мог сделать это просто отлично от скорлупы? Я использую Ubuntu 16.04. Спасибо!
MaxG
1

голосов
0

ответ
147

Просмотры

Может No Longer нагрузки rgdal

Я обновил свой GDAL 2.2.2 на Ubuntu и теперь rgdal терпит неудачу в R. Я получаю это сообщение, когда я пытаюсь загрузить rgdal (я также пытался обновить rgdal, но не работает). Ошибка в ГЭТ (метод, Envir = дома): базы данных ленивых нагрузки «/home/R/x86_64-pc-linux-gnu-library/3.3/rgdal/R/rgdal.rdb» поврежден Дополнительно: Предупредительные сообщения: 1 В .registerS3method (плавник [я, 1], плавники [я, 2], плавники [я, 3], плавники [я, 4],: перезапуск прерванной оценки обещания 2: Get (метод, Envir = дома): перезапуске прерванного оценки обещание 3: в ГЭТ (метод, ENVIR = дома): внутренняя ошибка -3 в R_decompress1 ошибка: пакет или нагрузки имен Сбой «rgdal» Любые идеи о том, как это исправить?
user13317
1

голосов
0

ответ
57

Просмотры

Использование локально загруженное колесо в зависимости для пакета

Я разработал пакет, который зависит от GDAL. Проблема заключается в том, что установка GDAL на Windows, может быть сложно, поэтому для того, чтобы смягчить проблемы и обеспечить мобильность, я хотел бы использовать неофициальные двоичный Кристофа Gohlke как библиотеку GDAL зависимости для моего пакета. Бинарный приходит как колесо, которое не может быть легко загружены программно. Так что мой вопрос: Есть ли способ загрузить колесо локально, и включить его в качестве зависимости в моем построено распределении колеса, когда я упаковать мой код? Или есть какая-либо конвенция или другие проблемы, которые запрещали бы такой подход? Я пытался прибегая к помощи широко, но я ничего сжатого, который бы ответить на мой вопрос не нашел.
Val
1

голосов
0

ответ
134

Просмотры

Установка rgdal зависимостей на локальном RedHat

Я должен установить rgdal пакет на R (это другой вопрос, который я писал раньше о rgdal и это родственный вопрос, который он не работает для RedHat), поэтому я должен установить некоторые зависимости перед установкой rgdal. если вы проверяете Депо CRAN здесь вы заметите, что GDAL и proj.4 являются одними из необходимых пакетов для построения rgdal от источника. зная, что я нахожусь в ОС Linux (Redhat 6) и мой локальный сервер (не подключен к интернету лишь некоторые RedHat хранилищ, которые не содержат все пакеты RedHat). Я скачал эти пакеты, и я использовал ни установить, чтобы установить их: Например, это то, что я получил, когда я установил бы GDAL: Разрешение зависимости -> Запуск проверка транзакции ---> Пакет gdal.x86_64 0: 1.8.1-1. el6 будет установлен -> Обработка зависимостей: libcfitsio.so.0 () (64bit) для пакета: GDAL-1.8.1-1.el6. x86_64 уже не хватает требует от libcap.so.1 () (64bit) каждый пакет из этих ниже зависимостей требуется одинаковое количество пакета, в свою очередь. что означает, мне нужно установить как 100 пакетов manully. Я стрегглинга с этой проблемой, как 3-х дней, и теперь я не знаю, как это исправить
Carole
1

голосов
0

ответ
51

Просмотры

gdal_array ошибка импорта Red Hat Linux

У меня установлен GDAL 2.2.4 и работает питона 3.5 на Red Hat EL (7.3) кластера. Я могу импортировать GDAL и OSGeo в Python, но я получаю сообщение об ошибке импорта, которая выглядит следующим образом, когда я пытаюсь импортировать gdal_array: импорт библиотека GDAL импорта OSGeo импорт OSR из OSGeo импорта gdal_array TraceBack (самый последний вызов последнего): Файл «», строка 1, в файле "/.local/lib/python3.5/site-packages/osgeo/gdal_array.py", строка 28, в _gdal_array = swig_import_helper () Файл «/.local/lib/python3.5/site- пакеты / OSGeo / gdal_array.py "строка 24, в swig_import_helper _mod = imp.load_module ( '_ gdal_array', ∥f∥p, путь к файлу, описание) Файл" /opt/anaconda3-4.2.0/lib/python3.5/imp.py », строка 242, в load_module возвратного load_dynamic (имя, имя файла, файла) файл "/opt/anaconda3-4.2.0/lib/python3.5/imp.py", строка 342, в load_dynamic возврата _load (спецификация) ImportError: /.local/lib/python3.5/site-packages/osgeo/_gdal_array.cpython-35m-x86_64-linux-gnu.so: неопределенный символ: _ZdlPvm Я установил GDAL к моему локальному пользователю счет с помощью Anaconda (и попытались пип тоже). Некоторая другая информация: НКА версия [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]. Я не уверен, что вызывает ошибку. Кто-нибудь имел подобную проблему?
Chris G
1

голосов
0

ответ
114

Просмотры

Стек нескольких изображений Landsat

Я хотел бы стек около 700 Landsat изображений в определенном формате в качестве входных данных для YATSM непрерывного обнаружения изменений и алгоритма классификации (CCDC). Я пытаюсь использовать этот Баш скрипт 4_stack_TIFF.sh. В этом сценарии, укладка делается с помощью этого файла landsat_stack.py. Я получаю две ошибки: во-первых это связано с отсутствием нагрузки batch_landsat модуля модуля. Я мог бы найти это разделяемые repositiries Вторая связана с landsat_stack.py, я получаю следующее: Штабелеры до степени: TraceBack (самый последний вызов последнего): Файл «./landsat_stack.py», строка 936, в sys.exit (основной ()) Файл "./landsat_stack.py", строка 920, в главном UTM, резюме, fformat, creation_opts)) Файл "./landsat_stack.py", строка 757, в landsat_stack печати ( '\ Таппер слева: {ULX} , {улы}»формат (ULX = степень [0], улы = степени [1])) Ошибка типа:. 'NoneType' объект не subscriptable Готово! Вопросы: Есть ли кто-то, кто использовал YATSM и столкнулся с таким же вопросом в Landsat предварительной обработки данных? если не; Можете ли вы предложить мне решение, используя Rasterio или Rio? Формат: 8 группы изображений: Группа 1 SR (SR * 10000) Группа 2 SR (SR * 10000) Группа 3 SR (SR * 10000) Группа 4 SR (SR * 10000) Группа 5 SR (SR * 10000) Группа 7 SR ( SR * 10000) Группа 6 Тепловая Яркость (С * 100) Fmask 0 - очистить земли 1 - чистая вода 2 - облако 3 - снег 4 - тень 255 - NoData
mlateb
1

голосов
0

ответ
521

Просмотры

Ошибка на R пакет «eixport» установка: требуется C ++ 11 или более поздней версии на MacOS

Я устанавливаю R пакет eixporton Macos High Sierra, но ошибки, образуемый на GDAL и C ++ 11 следующим образом: проверка GDAL: связывание с --libs только ... нет проверки GDAL: связывание с --libs и --dep- ЛИЭС ... нет В файле включены из gdal_test.cpp: 1: В файл из /usr/local/Cellar/gdal/2.3.1_1/include/gdal.h:45: /usr/local/Cellar/gdal/2.3 .1_1 / включить / cpl_port.h: 187: 6: ошибка: Должен иметь C ++ 11 или более поздней версии. Я попытался установить на LibC ++, но не смог добиться успеха.
1

голосов
0

ответ
235

Просмотры

NotImplementedError: Wrong number or type of arguments for overloaded function 'CoordinateTransformation_TransformPoint'

в то время как я загрузить созданный образ, чтобы создать .kml файл через Джанго я получил сообщение об ошибке, и я не в состоянии решить ошибку на моей веб-странице: Неверный номер или тип аргументов для перегруженной функции «CoordinateTransformation_TransformPoint». Возможный C / C ++ прототипы: OSRCoordinateTransformationShadow :: TransformPoint (двойная [3]) OSRCoordinateTransformationShadow :: TransformPoint (двойная [3], двойная, двойная, двойная) и эта ошибка на терминале: Внутренняя ошибка сервера: / Traceback (самый последний вызов последний): Файл "/usr/local/lib/python3.6/dist-packages/django/core/handlers/exception.py", строка 35, во внутренней реакции = get_response (запрос) Файл «/ USR / местные / Библиотека /python3.6/dist-packages/django/core/handlers/base.py», строка 128, в ответ _get_response = self.process_exception_by_middleware (е, TransformPoint (поплавок (j.replace ( "]", ""). Заменить ( "[", ""). Сплит ( " ") [0]), поплавок (j.replace ("]", "") .Надеть ( "[", ""). сплит ( "") [1])) Файл "/usr/lib/python3/dist-packages/osgeo/osr.py", строка 927, в обратном TransformPoint _osr. CoordinateTransformation_TransformPoint (я, * арг) NotImplementedError: Неправильный номер или тип аргументов для перегруженной функции «CoordinateTransformation_TransformPoint». Возможный C / C ++ прототипов: OSRCoordinateTransformationShadow :: TransformPoint (двойной [3]) OSRCoordinateTransformationShadow :: TransformPoint (двойные [3], двойные, двойные, двойной) Сначала я думал, что эта проблема, как проблема библиотеки GDAL (как указано в https: // списки .osgeo.org / pipermail / GDAL-DEV / 2015-февраль / 041051. HTML), но обновление библиотеки GDAL не помог мне. Пожалуйста, помогите мне в сортировке этой проблемы.
vikas bansal
1

голосов
0

ответ
62

Просмотры

“gdalconst_wrap” dll missing or unreadable when trying to open a shapefile with GDAL/OGR

I'm having quite the strange issue by trying to use Gdal in C#. Here is my code, using the NuGet of GDAL in Visual Studio : // Launch the Gdal Configuration + loading of drivers before everything GdalConfiguration.ConfigureGdal(); GdalConfiguration.ConfigureOgr(); Gdal.AllRegister(); // Try to load the shapefile with "pathOfShapefile" being the string containing the path of the file DataSource test = Ogr.Open(ConfigurationManager.AppSettings["pathOfShapefile"], GdalConst.GA_Update); Sadly, I get an exception when running this piece of code. It tells me that it cannot load the DLL named "gdalconst_wrap". Yet, the DLL is in its rightful place in the Debug folders. However, if I take it out of its specialized folder (bin/Debug/gdal/x64) to put it into the root of the Debug folder (bin/Debug), I get a new exception, telling me that there has been an "attempt to read or to write in protected memory". I tried with the x86 version of the DLL, or with other versions found online on the official GDAL websites; sadly, that changes nothing. So far, I've found a couple of threads on several forums of people seeming to have a similar problem; but nobody ever answered them, apparently. For myself, I'm quite stuck and would be very grateful for some help. -- EDIT -- Apparently, the problem seems to be linked with the Gdal constant "GA_Update". From what I gather, the "Open" function of Ogr require an instruction as to how the file should be opened : in read only, or in update mode. For this, it requires an object of type "int", which is part of the constants that Gdal uses as a second argument for the function. I used the constant "GA_Update" to indicate that I wanted to possibly edit the file (as indicated in the tutorial from the GDAL websites on how to open a file). The constant is an "int", but its "int" value seemed to be read from the "gdalconst_wrap.dll". If I replace the last line of the code by DataSource test = Ogr.Open(ConfigurationManager.AppSettings["pathOfShapefile"], 0); The exception do not happen anymore, and the code seems to run. This works for any "int" value proposed as a second argument of the function, as far as I've tried. However, I do not know what is the effect of the choosen int value, and how the open function interprets it. I'll edit a second time if I find more about it. I thus believe that something is wrong in the reading of the constant value in "gdalconst_wrap.dll", and that the NuGet package "GDAL" might put it in the wrong place to begin with.
Gwynbleidd
1

голосов
0

ответ
92

Просмотры

Получить вертикальное (г) разрешение растрового файла DEM (с использованием GDAL и питон)?

Я хотел бы найти вертикальную (г) разрешение на DEM (цифровой модели рельефа) растра. Используя GDAL, можно легко найти й и у разрешения и пиксели ширину: дем = gdal.Open ( «DEMraster50.tif») #DEM представляет собой прямоугольный TIF Ncol = dem.RasterXSize #number столбцов (он же число клеток вдоль х ось) nrow = dem.RasterYSize #number строк (ака количество ячеек вдоль оси у) ULX, pixelwidthx, xskew, улы, yskew, pixelheighty = dem.GetGeoTransform () разрешение #get и координировать информацию (по какой-то причине порядок наклон, а также размер пикселя переворачивается по оси у ?!) Я также можно найти минимальное и максимальное значения (Z высоты в метрах): srcband = dem.GetRasterBand (1) #get первую группу (с) данные о высоте Zmin, Zmax , zmean, zstdv = srcband.GetStatistics (правда, Истинная) Статистика #get для этой группы (автоматически игнорирует значения нан) Но то, что я хочу, это эквивалент Nrows и ширину пикселя в направлении г. Это возможно? Если да, то как? Спасибо! EDIT: У меня есть дерьмовая камера извините, но это может помочь. Я ищу nlay и толщины г.
Takver
1

голосов
1

ответ
80

Просмотры

Оцифровка GeoTIFF с использованием geomesa-accumulo

Я пытаюсь глотать данные GEOTIFF с использованием geomesa-accumulo но получаю следующее сообщение об ошибке: ВНИМАНИЕ: Не удалось загрузить родные LIBS GDAL. Это не проблема, если вам не нужно использовать GDAL плагинов: они не будут включены. java.lang.UnsatisfiedLinkError: нет gdaljni в java.library.path Я попытался следующие команды экспорта LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: /usr/lib/libgdal.so экспорт LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / USR / Lib / экспорт LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: /usr/lib/jni/libgdaljni.so экспорт LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: /home/test/Project/2.0.2-geomesa/geotools/ После добавления этого, я проверил, все ли правильно в путь к библиотеке, с помощью следующей команды Java -XshowSettings: свойства Я создал gdal.jar файл после компиляции GDAL-2.3.0 исходного файла, который я добавил в java.library.path, я также добавил ' geotoolsinjava.library.path. Myjava.library.path` выглядит, как показано ниже java.library.path = /usr/lib/jni/libgdaljni.so / USR / Lib / /usr/lib/libgdal.so / USR / Java / пакеты / Библиотека / amd64 / USR / lib64 / lib64 / Библиотека / USR / Библиотека / USR / местные / Библиотека / GDAL /home/test/Project/2.0.2-geomesa/geotools/ Пожалуйста, помогите мне решить предупреждение, которое показано на рисунке. Буду признателен за любую оказанную помощь. UPDATE Как предложил @Emilio, я пытался добавить / USR / Библиотека / JNI / вместе с предыдущими командами. Мои обновленные команды следующим образом. экспорт LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / USR / Библиотека / JNI / экспорт LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / USR / Lib / экспорт LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: /home/test/Project/2.0.2-geomesa/geotools/ экспорт LD_LIBRARY_PATH = $ LD_LIBRARY_PATH : /usr/lib/libgdal.so экспорт LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / USR / Lib / экспорт LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: /usr/lib/jni/libgdaljni.so экспорт LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / USR / местные / Библиотека / GDAL и мой обновленный java.library.path как показано ниже. java.library.path = / USR / Библиотека / JNI / / USR / Библиотека / /home/test/Project/2.0.2-geomesa/geotools/ /usr/lib/libgdal.so / USR / Библиотека / / USR / Библиотека /jni/libgdaljni.so / USR / / Библиотека / GDAL / USR / Java / пакеты / Библиотека / amd64 / USR / lib64 / lib64 / Библиотека / USR / Lib Теперь я получаю новое сообщение об ошибке, как локальная Native нагрузки библиотеки не удалось. java.lang.UnsatisfiedLinkError: нет gdalalljni в java.library.path Nov 13, 2018 11:11:51 PM it.geosolutions.imageio.gdalframework.GDALUtilities loadGDAL ВНИМАНИЕ: Не удалось загрузить нативную LIBS GDAL. Это не проблема, если вам не нужно использовать плагины GDAL: они не будут включены. java.lang.UnsatisfiedLinkError: org.gdal.gdal.gdalJNI.AllRegister () V Там до сих пор нет ошибки, указанные в файле журнала geomesa.
Lal
1

голосов
0

ответ
42

Просмотры

Пакетное преобразование нескольких файлов .GML к таблицам SQL PostGIS с использованием ogr2ogr

У меня есть папка с 150 .gml файлов мне нужно загрузить на мой PostGIS / базы данных Postgres. После того, как первый GML загружен, остальные будут добавляться к нему, чтобы сформировать единую таблицу. Однако я не знаю, как сделать ogr2ogr итерацию каждого файла ... В настоящее время мне приходится загружать / добавлять каждый CML induvidually. Мой код для преобразования первого GML: ogr2ogr -update -append -f "PostgreSQL" PG: "хост = локальный порт = 5432 DBName = пользователь TestDB = пароль администратора = пароль" -lco SCHEMA = test_schema «D: \ путь к папке \ File1.gml "-Прогресс -lco ПЕРЕЗАПИСАТЬ = YES, и мой код для добавления каждого последующего GML к первому: ogr2ogr -update -append -f "PostgreSQL" PG:" хост = локальный порт = 5432 имя_бд = TESTDB пользователь = пароль администратора = пароль active_schema = test_schema» "D: \ путь к папке \ File2.gml"
Theo F
1

голосов
1

ответ
55

Просмотры

GDALWarp возвращается NULL без установки ошибки

GDALWarpDestName возвращается NULL без установки ошибки я пытаюсь ресэмплировать несколько растр (в TIF) грубое разрешение, в то время как gdalwarp работает результат нулевой четкость resam (INDS): gdal.Open (INDS) (shotname, расширение) = os.path. splitext (os.path.basename (INDS)) # получить имя файла и расширение outDs = shotname + '_ 232_ave' + расширение #RESULT TIF из RESAMPLE gdal.Warp (outDs, INDS, формат = 'GTiff', XRES = +232,03572204, yRes = 232.03572204, resampleAlg = gdal.GRA_Average), если __name__ == '__main__': файлы = os.listdir (путь) для файла в файлах: INDS = файл # вход TIF resam (INDS) ожидаемый результат должен быть Resample всех файлов в течение путь к каталогу с разрешением XRES * yRes, то есть +232,03572204.
Xue
1

голосов
0

ответ
56

Просмотры

Проблема установки пакета GDAL | Python 2

Я использую анаконды с Python 2.7.15 [[MSC v.1500 64 бит (AMD64)] на win32] Существует также анаконда с Python 3.6.5 [MSC v.1900 64 бит (AMD64)] на win32] работает на моем компьютере вместе с ArcGIS Pro на Python 2.7.15 я попытался установить пакет GDAL. Когда я бегу: от OSGeo импорта GDAL я получаю сообщение об ошибке: ImportError: DLL нагрузки не удалось: Указанный модуль не может быть найден. Кто-нибудь есть хорошая идея?
Oz1988
1

голосов
1

ответ
56

Просмотры

Использование Python конвертировать шейп в GEOTIFF

У меня есть файл .shp, и я хотел бы, чтобы преобразовать его в GEOTIFF. Мой файл форма состоит из большого многоугольника с большим количеством полигонов внутри. Я использую следующий код, но выход TIF состоит только из большого многоугольника. от OSGeo импорта Огрский, тип данных GDAL импорта подпроцесс InputVector = Shapefile OutputImage = имя_выходного_файла gdalformat = 'GTiff' = gdal.GDT_Byte burnVal = 1 Shapefile = ogr.Open (InputVector) Shapefile_layer = Shapefile.GetLayer () Выход = gdal.GetDriverByName (gdalformat) .Create (OutputImage, RasterXSize, RasterYSize, 1, тип данных, опции = [ 'КОМПРЕСС = DEFLATE']) Output.SetProjection (проекции) Output.SetGeoTransform (геокоординат) Диапазон = Output.GetRasterBand (1) Band.SetNoDataValue (0) GDAL .RasterizeLayer (выход, [1], Shapefile_layer, burn_values ​​= [burnVal]) subprocess.call (»
Remote Senser
1

голосов
0

ответ
13

Просмотры

Как обновить конкретные растровые плитки, которые являются частью очень большой базовой карты, охватывающей несколько стран, используя gdal2tiles.py или rasterio?

Я заранее сослужил базовую карту, охватывающую в нескольких странах, использующий gdal2tiles.py и он работает как шарм. Но я не знаю, как обновить только конкретные плитки, когда есть обновление данных для позволяет сказать, что 1/3 базовой карты. Поэтому у меня есть два вопроса: 1) Как обновить конкретные плитки на несколько уровней масштабирования для предварительной оказанной базовой карты? 2) Можно ли динамически визуализации растровых фрагментов (от спутниковых изображений) во время запроса? Любой вид помощи ценится я уже пытался вынести только конкретные плитки для обновленных данных, но в конечном итоге нарушение общих фрагментов между двумя различными наборами данных (например, два Landsat плитки).
Gokul
1

голосов
1

ответ
1.2k

Просмотры

Растеризации векторного слоя с использованием GDAL LIB в Python

Я пытаюсь растеризации векторного слоя, используя объяснение найденного в растрирования в GDAL слоя. Я хотел бы создать растровый слой из DEM, который содержит данные конкретного поля вектора. (Поле называется «Index»). Чтобы сделать это, я использую, эээ = gdal.RasterizeLayer (target_ds, (3,2,1), source_layer, burn_values ​​= (0,0,0), опции = [ "ATTRIBUTE = Index"]) Но результат является растровые со всеми нулями. Я уверен, что это проблема с параметрами, но я не понимаю, что случилось с ними, или, как это исправить. Любое предложение?
user1978209
1

голосов
2

ответ
4.9k

Просмотры

переустановка GDAL библиотека для Python 2.7

Я пытаюсь установить библиотеку GDAL для Python 2.7 и я следовал различным доступным инструкциям, такие как http://pythongisandstuff.wordpress.com/2011/07/07/installing-gdal-and-ogr-for-python-on-windows / # комментарий-181 к сожалению, я не был успешным до сих пор и сталкиваются с множеством трудностей. Я хотел бы удалил все установленные файлы и повторно установить библиотеку библиотеки GDAL еще раз. Честно говоря, я боюсь, что я могу удалить что-то по ошибке поэтому я хотел бы иметь ваше руководство, чтобы помочь мне, какие шаги нужно сделать, чтобы удалить установку и начать с нуля.
user2355306
1

голосов
1

ответ
70

Просмотры

вставки нулей между элементами вектора с высокой производительностью и скоростью (предпочтительно использовать STL)

Я экстрагирую растровые данные в GeoTiff изображения, используя RasterIO библиотеки GDAL. Так как изображение, показанное на OpenGL должно иметь ширину и высоту, как кратное 4, я использовал этот код после извлечения данных. первый блок переключателя оценивает остальные RasterXSize (ширина), разделенный на 4, и, например, если он равен 1, то это означает, что следует добавить 3 колонки что означает, что мы должны добавить 3 нулей в конце каждой строки. Это делается с помощью кода: для (INT I = 1; я GetRasterXSize (); RasterYSize = poDataset -> GetRasterYSize (); RasterCount = poDataset -> GetRasterCount (); CPLErr ошибка = CE_None; GDALRasterBand * poRasterBand; poRasterBand = poDataset - > GetRasterBand (1); ETYPE = poRasterBand -> GetRasterDataType (); BytesPerPixel = GDALGetDataTypeSize (ETYPE) / 8; depthOfPixel = RasterCount * BytesPerPixel; pRasterData.resize (RasterXSize * RasterYSize * RasterCount * BytesPerPixel); Ошибка = poDataset -> RasterIO (GF_Read, 0,0, RasterXSize, RasterYSize, & pRasterData [0], RasterXSize, RasterYSize, ETYPE, RasterCount, 0,0,0,0); INT modRasterXSize = RasterXSize% 4; переключатель (modRasterXSize) {случай 1: {для (INT I = 1; я
sepideh
1

голосов
1

ответ
327

Просмотры

Перепроецировать от GDAL GDALAutoCreateWarpedVRT в C

Я хочу, чтобы повторно проецировать HDF из UTM (WGS84) для синусоидального (WGS84), поэтому я стараюсь использовать GDALAutoCreateWarpedVRT, чтобы закончил. Код ниже: hSrcDS = (GDALDataset *) GDALOpen ( "HJ1ACCD1.hdf", GA_ReadOnly); Const символ * pszSrcWKT = NULL; символ * pszDstWKT = NULL; // pszSrcWKT = ProjectionStr; pszSrcWKT = GDALGetProjectionRef (hSrcDS); CPLAssert (pszSrcWKT = NULL && StrLen (pszSrcWKT)> 0!); OGRSpatialReference oSRS; oSRS.SetSinusoidal (0,0,0); oSRS.SetWellKnownGeogCS ( "WGS84"); oSRS.exportToWkt (& pszDstWKT); GDALWarpOptions * psWarpOptions = GDALCreateWarpOptions (); psWarpOptions-> dfWarpMemoryLimit = 500 * 1024 * 1024; hDstDS = (GDALDataset *) (* GDALDataset) GDALAutoCreateWarpedVRT (hSrcDS, pszSrcWKT, pszDstWKT, GRA_Bilinear, 20, psWarpOptions); GDALDriver * poDriverTiff; poDriverTiff = GetGDALDriverManager () -> GetDriverByName (»
Rwatermoon
1

голосов
1

ответ
228

Просмотры

Лучший DTYPE для создания больших массивов с NumPy

Я ищу для хранения значений пикселей из спутниковых изображений в массив. Я использую np.empty ((image_width, image_length), и она работала для небольших подмножеств изображения, но при использовании его на все изображение (3858 х 3743) код заканчивается очень быстро, и все, что я получаю массив нули. Я загрузить значения изображения в массив с помощью цикла и открытия изображения с GDAL IMG = gdal.Open (os.path.join (Fn + формат "\ {0}". (Fname))) ReadAsArray. () но когда я включаю печати img_array я в конечном итоге только с нулями. Я попробовал почти каждый DTYPE, что я мог бы найти в документации Numpy, но получаю тот же результат. есть NumPy не удалось загрузить это множество значений или есть способ оптимизации массив? Я работаю с 8-битными изображениями в формате TIFF, которые содержат значения NDVI (десятичные). Спасибо
Dzinic
1

голосов
1

ответ
452

Просмотры

Python GDAL Информация о проекции

Я использую скрипт gdal_polygonize питона для polygonize растрового изображения и сохранять многоугольники в базе данных Postgres. До сих пор все работало нормально. gdal_polygonize.py abia.tif -f PostgreSQL PG "имя_бд = хост = порт 'abiaDB' '127.0.0.1' = '5434' пользователь = 'Postgres' пароль = '****'" mylayer После сохранения данных в базы данных экспортировать его оттуда как GeoJSON файл, который я хочу, чтобы отобразить с Leaflat. Поэтому Leaflat работает только с проекцией EPSG: 4326. Поэтому я использовал proj4.js плагин, который делает преобразование от Гаусса-Крюгера зона 4 EPSG: 31468 проекции. Так что я должен определить исходную проекцию Мануалы в коде так: proj4.defs ( 'EPSG: 31468', «+ проектируемый = tmerc + lat_0 = 0 + lon_0 = 12 + к = 1 + x_0 = 4500000 + y_0 = 0 + ellps = Bessel + towgs84 = 598.1,73.7,418.2,0.202,0.045, -2,455, 6.7 + ед = т + no_defs'); L.Proj.geoJson (данные, { 'pointToLayer': функция (функция, LatLng) {вернуть L.marker (LatLng) .bindPopup (feature.properties.name);}}) AddTo (карта);. Есть ли способ, что я могу сказать, сценарий питона, что он также должен хранить информацию проекционной в базе данных. Моя цель состоит в том, что визуализация является более автоматизированной, поэтому, когда есть другой образ, с другой проекцией он должен получить информацию проекционной из базы данных. Есть ли способ, что я могу сказать, функцию gdal_polygonize, что она должна хранить информацию в дополнительной строке или что-то подобное? Polygonize Java gdal.AllRegister (); ogr.RegisterAll (); арг = gdal.GeneralCmdLineProcessor (арг); // Открыть исходный файл Dataset hDataset = gdal.Open (арг [0], gdalconstConstants.GA_ReadOnly); Группа rasterBand = hDataset.GetRasterBand (1); Группа maskBand = rasterBand.GetMaskBand (); драйвер Driver = ogr.GetDriverByName ( "Память"); Источник данных DataSource = driver.CreateDataSource ( "MEM"); SpatialReference СГД = NULL; если СГД = новый SpatialReference (hDataset.GetProjectionRef ()) (hDataset.GetProjectionRef () IsEmpty (!).); Слой outputLayer = dataSource.CreateLayer ( "mylayer", SRS); FieldDefn field_def = новый FieldDefn ( "Д", ogr.OFTInteger); outputLayer.CreateField (field_def); gdal.Polygonize (rasterBand, maskBand, outputLayer, 0, новый вектор (), новый TermProgressCallback ()); // Преобразование DataSource dataDest = driver.CreateDataSource ( "mem2"); // Создать назначения проекции SpatialReference Dst = новый SpatialReference (); dst.ImportFromEPSG (4326); CoordinateTransformation кт = CoordinateTransformation. CreateCoordinateTransformation (SRS, DST); // Запись данных в базу данных DataSource dataSourceDb = ogr.Open ( "PG: DBNAME = хост = порт 'abiaDB' '127.0.0.1' = '5434' пользователь = пароль 'Postgres' = '****'", 1) ; dataSourceDb.CopyLayer (outputLayer, "mylayer");
user2644964
1

голосов
1

ответ
942

Просмотры

GDAL ReadAsArray () сохраняет не возвращаются None

Я не могу остановить метод ReadAsArray () из не возвращаются None. Я не понимаю, почему, потому что я написал его в точно такой же был другой сценарий, который работает просто отлично. Я хочу отметить, что рано у меня есть gdal.UseExceptions () включены. Это, кажется, кто-то общая проблема с поиском, но я не нашел решение, которое делает его работу, это очень странно, что я делаю одно и то же в существующем сценарии, который работает просто найти. Я использовал этот файл в других сценариях, так что я знаю, что он не поврежден. Кроме того, загружая другое изображение в него приводит к той же проблеме. Кто-нибудь знает, что происходит? Это сценарий, в настоящее время: импорт GDAL из GDAL импорта Open, GetDriverByName Защиту qa_mask (in_qa_band, in_cols, in_rows, in_geotransform, mask_tiff): qa_np = in_qa_band.ReadAsArray (0, 0, in_cols, @type in_nir_band GDALRasterBand @param in_colour_band GDAL объект полосы, представляющий данные цветного изображения. @type: in_colour_band GDALRasterBand @param in_rows Количество строк в обоих входных групп. @type: in_rows INT @param in_cols Количество столбцов в обоих входных групп. @type: in_cols Int @param in_geotransform Географического преобразования, чтобы быть применен к выходному изображению. @type in_geotransform Tuple (как возвращаемый GetGeoTransform ()) @param out_tiff Путь к нужному выходу .tif файла. @type: out_tiff Строки (должно закончиться «.tif») @param тип_данного Типа данных выходного изображения. Допустимые значения gdal.UInt16 и gdal.Float32. Значение по умолчанию равно gdal.Float32 @type тип_данных GDALDataType @return Нет «»» # Прочитать входные группы, как Numpy массивов. np_nir = in_nir_band.ReadAsArray (0, 0, in_cols, in_rows) np_colour = in_colour_band.ReadAsArray (0, 0, in_cols, in_rows) # Преобразование Np массивов в 32-бит с плавающей точкой, чтобы убедиться, что разделение будет происходить должным образом. np_nir_as32 = np_nir.astype (np.float32) np_colour_as32 = np_colour.astype (np.float32) # Вычислить формулу NDVI. числитель = вычитать (np_nir_as32, np_colour_as32) знаменатель = добавить (np_nir_as32, np_colour_as32) результат = деление (числитель, знаменатель) # убирайте вне границ областей результата [результата == -0] = -99 # Инициализировать драйвер GEOTIFF. GeoTIFF = GetDriverByName ( 'GTiff') # Если требуемый выход является Int16, отображают область [-1,1] к [0,255], создать Int16 GeoTIFF с одной группой и # записать содержимое расчета int16 NDVI к нему. В противном случае создайте float32 GeoTIFF с одной группой и # записать содержимое расчета float32 NDVI к нему. если data_type == gdal.GDT_UInt16: ndvi_int8 = умножить ((результат + 1), (2 ** 7 - 1)) = выход geotiff.Create (out_tiff, in_cols, in_rows, 1, gdal.GDT_Byte) output_band = output.GetRasterBand (1) output_band.SetNoDataValue (-99) output_band.WriteArray (ndvi_int8) Элиф тип_данных == gdal.GDT_Float32: выход = geotiff.Create (out_tiff, in_cols, in_rows, 1, gdal.GDT_Float32) output_band = output.GetRasterBand (1) output_band.SetNoDataValue (-99) output_band.WriteArray (результат) еще:. поднять ValueError ( 'Неверный тип выходных данных Допустимые типы GDAL. UInt16 или gdal.Float32 '.) # Установить географическое преобразование в качестве входных данных. output.SetGeoTransform (in_geotransform) возвращает None # Открыть NIR изображение и получить его только группу. nir_tiff = Open (r'D: \ landsat_data \ 20160621_fort_mac \ nir.tif ') nir_band = nir_tiff.GetRasterBand (1) # Открыть красное изображение и получить его только группу. red_tiff = Open (r'D: \ landsat_data \ 20160621_fort_mac \ red.tif ') red_band = red_tiff.GetRasterBand (1) # Получить строки и COLS от одного из изображений (как всегда должны быть одинаковыми) строк, перевалы, геокоординат = nir_tiff.RasterYSize, nir_tiff.RasterXSize, nir_tiff.GetGeoTransform () #print (геокоординаты) # Установить выход для 16-разрядного целого числа без знака (0-255) # out_tiff_int16 = r'NDVI_INT16.tif»# Установите выход для 32-бит с плавающей точкой (от -1 до 1) out_tiff_float32 = r'D:
wfgeo
1

голосов
2

ответ
545

Просмотры

C # GDAL чтения Mssql пространственные к GeoJSON

Gdal.AllRegister (); // 为了 支持 中文 路径, 请 添加 下面 这句 代码 OSGeo.GDAL.Gdal.SetConfigOption ( "GDAL_FILENAME_IS_UTF8", "NO"); // 为了 使 属性 表 字段 支持 中文, 请 Размещение 下面 这句 OSGeo.GDAL.Gdal.SetConfigOption ( "SHAPE_ENCODING", ""); Ogr.RegisterAll (); OSGeo.OGR.Driver outDriver = Ogr.GetDriverByName ( "GeoJSON"); OSGeo.OGR.DataSource outDataSource = outDriver.CreateDataSource ( "aaa.geojson", NULL); DataSource pnn3 = Ogr.Open ( "MSSQL: сервер = 192.168.1.9,1433; базы данных = KS_DataBase; UID = са; PWD = са", 0); OSGeo.OGR.Layer слой = pnn3.ExecuteSQL ( "выберите * из KS_HXStation", NULL, ""); OSGeo.OGR.Feature е; layer.ResetReading (); Я не знаю, как сделать MSSQL пространственной передачи данных GeoJSON есть.
dlsyaim
1

голосов
2

ответ
548

Просмотры

Ошибка при открытии файла библиотеки GDAL Java

Я пытаюсь загрузить файл с GEOTIFF библиотеки GDAL API (Java). Вот мой тестовый код. общественного класса App {государственной статической силы основных (String [] арг) {gdal.AllRegister (); Набор данных набора данных = gdal.Open ( "output.tif"); }} Но у меня есть исключение ошибок в потоке «основного» java.lang.UnsatisfiedLinkError: org.gdal.gdal.gdalJNI.Dataset_SWIGUpcast (J), Дж при org.gdal.gdal.gdalJNI.Dataset_SWIGUpcast (нативный метод) на org.gdal .gdal.Dataset. (Dataset.java:20) в org.gdal.gdal.gdal.Open (gdal.java:585) в org.gdaltest.projection.App.main (App.java:18) Я с использованием Maven проект, поэтому я добавил GDAL зависимость org.gdal GDAL 2.1.0 Я использую Windows 10 и установлен GDAL 2.1.0. Я уже установить переменную окружения GDAL_DATA и каталог библиотеки GDAL в пути. Я что-то пропустил?
1

голосов
1

ответ
918

Просмотры

Python - Написать растр с GDAL

Я хочу написать растр с GDAL внутри функции. Защиту WriteRaster (InputArray, ВыходнойФайл, NROWS, Ncols, XULCorner, YULCorner, Cellsize, wkt_projection): драйвер = gdal.GetDriverByName ( "GTiff") набора данных = driver.Create ( "% s", NROWS, Ncols, 1, gdal.GDT_Float32 % (ВыходнойФайл)) dataset.SetGeoTransform ((XULCorner, Cellsize, 0, YULCorner, 0, -Cellsize)) dataset.SetProjection (wkt_projection) dataset.GetRasterBand (1) .WriteArray (InputArray) dataset.FlushCache () возвращают None я получаю эта ошибка: неподдерживаемый тип операнда (ов) для%: «ИНТ» и «ул» Я думал, что я мог бы определить имя выходного файла таким образом. Почему бы и нет? Спасибо за помощь!!!
Lerchengott
1

голосов
1

ответ
66

Просмотры

не GDAL работа с колбой (на апаше + mod_wsgi)

Я использую GDAL в сценарии питона, который работает флягу (на апаш + mod_wsgi). При запуске сервера я получаю эту ошибку: ImportError: /usr/bin/anaconda/lib/python2.7/site-packages/osgeo/../../.././libcurl.so.4: неопределенный символ: SSLv2_client_method ошибка генерирует при импорте GDAL на: от OSGeo импорта GDAL вещь, что при выполнении этой команды (импортируя GDAL) из консоли одного и того же интерпретатора, он работает нормально ... но он не будет работать при запуске тот же сценарий, как WSGI демон. мой файл WSGI выглядит следующим образом: ServerName ____________ WSGIDaemonProcess aurapi пользователь = АВТ группа = АВТ нить = 5 питон-путь = / USR / бен / Анаконда / Библиотека / python2.7 / сайт-пакеты питон-дом = / USR / бен / анаконда / бен WSGIScriptAlias ​​/ / вар / API / aurapi / aurapi. WSGI WSGIProcessGroup aurapi WSGIApplicationGroup% {GLOBAL} WSGIScriptReloading На Требуют все предоставлено ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log в сочетании это происходит только с GDAL, все остальные библиотеки прекрасно работают. заранее спасибо!
luckyshonway
1

голосов
1

ответ
276

Просмотры

Связывание GDAL с R на OSX / MAC - не может открыть / исследовать h4 файлы в R

Я как-то перепутались с GDAL установить на моем MacBook. Ранее код работал, чтобы открыть и управлять H4 файлы (.hdf) в R. И тот же код работает на моем рабочем столе. Однако сейчас, код работает на моем рабочем столе, а не мой ноутбук. Тот же код. Те же данные. Я подозреваю, что это что-то делать с попытками установить GDAL для поддержки питона через Конда. Теперь, если я бегу gdalinfo на файл HDF в командной строке Bash - он читает файл просто отлично. Однако, если я запускаю этот код в R - с помощью функции GDALutils get_subdatasets (): get_subdatasets ( "MOD09GA.A2016199.h09v05.006.2016201065406.hdf") возвращает ошибку: ОШИБКА 4: `данные / week6 / MODIS / отражательная / 17_july_2016 /MOD09GA.A2016199.h09v05.006.2016201065406.hdf»не распознается как поддерживаемый формат файла. gdalinfo не удалось - не удалось открыть «данные / week6 / MODIS / отражательной / 17_july_2016 / MOD09GA. A2016199.h09v05.006.2016201065406.hdf. Ошибка в split1 [[1]]: нижний индекс вне границ В дополнение: Предупреждение Сообщение: запуск команды « "/usr/local/Cellar/gdal/1.11.5_3/bin/gdalinfo"«Данные / week6 / MODIS / отражательная / 17_july_2016 /MOD09GA.A2016199.h09v05.006.2016201065406.hdf «'имел статус 1` `` так же с помощью другого пакета - rgdal я запустить функцию, gdalinfo () Предупреждение сообщение: команда работает»/usr/local/Cellar/gdal/1.11. 5_3 / бен / gdalinfo»„данные / week6 / MODIS / отражательная / 17_july_2016 / MOD09GA.A2016199.h09v05.006.2016201065406.hdf“» имел статус 1 Я понимаю, что это две разные пакеты и связанные с ними функции. Я нашел этот пост: https://gis.stackexchange.com/questions/199647/hdf-files-in-gdal-throwing-an-error-in-r-gdalinfo но код gdal_chooseInstallation (hasDrivers = с (» Используйте cfitsio вместо устаревшего доморощенного / наука / cfitsio Внимание: Используйте cfitsio вместо устаревшего доморощенного / наука / cfitsio Внимание: Используйте cfitsio вместо устаревшего доморощенного / наука / cfitsio Внимание: Используйте cfitsio вместо устаревшего доморощенного / Наука / cfitsio Предупреждение: Используйте cfitsio вместо устаревшего доморощенного / наука / cfitsio Предупреждение: Используйте cfitsio вместо устаревшего доморощенного / наука / cfitsio Внимание: Используйте cfitsio вместо устаревшего доморощенного / наука / cfitsio Внимание: Используйте cfitsio вместо устаревшего доморощенного / наука / cfitsio Внимание: Использование cfitsio вместо осуждаются доморощенный / наука / cfitsio ==> Использование Homebrew-при условии компилятора Фортрана. Это может быть изменено путем установки переменной окружения FC. ==> Загрузка http://download.osgeo.org/gdal/2.2.1/gdal-2.2.1.tar.gz Уже скачали: /Users/leah-su/Library/Caches/Homebrew/gdal2-2.2.1 , с использованием библиотеки JasPer из / USR / местные. проверка jp2_encode_uuid в -ljasper ... не настроить: не взломана JasPer версии не найден, GeoJP2 отключена. настроить: ошибка: openjpeg.h не найден в /usr/local/include/openjpeg-2.0 или /usr/local/include/openjpeg-2.1 Если сообщение об этой проблеме, пожалуйста, сделать это на (не Homebrew / варку или Homebrew / ядра): https://github.com/osgeo/homebrew-osgeo4mac/issues Эти открытые вопросы могут также помочь: заварить установить OSGeo / osgeo4mac / gdal2-MrSID терпит неудачу https://github.com/OSGeo/homebrew-osgeo4mac/issues/250 Failed строить gdal2 с общими флагами https://github.com/OSGeo/homebrew-osgeo4mac/issues/245 не удается обновить gdal2 на OS X 10.12.6 https://github.com/OSGeo/homebrew-osgeo4mac/issues/252 Пожалуйста, добавить опцию --without-pdfium в gdal2 формулу https://github.com/OSGeo/homebrew-osgeo4mac/issues/220 Использование osgeo4mac»
L Wasser
1

голосов
1

ответ
346

Просмотры

Python-GDAL написать GeoTiff с двоичным цветом и NaN

Я генерации простой два класса (двоичный) GeoTIFF из Numpy массива с 3 значений: 1, 2, и NaN. Я хотел, чтобы отобразить GeoTIFF с различными цветами, чтобы я использовал таблицу цветов. Тем не менее, таблица цветов поддерживает только байт или UInt16 тип данных, который будет конвертировать NaN в нули. Есть ли способ, чтобы написать двоичный GeoTIFF, включая NaN с цветами? Благодарю. имя файла = 'test.tif' DS = gdal.Open (имя файла, gdal.GA_ReadOnly) выходной_файл = 'classify.tif' водитель = gdal.GetDriverByName ( "GTiff") OutData = driver.Create (выходной_файл, перевалы, строки, 1, gdal.GDT_Byte) outdata.SetGeoTransform (ds.GetGeoTransform ()) outdata.SetProjection (ds.GetProjection ()) внеполосной = outdata.GetRasterBand (1) кт = gdal.ColorTable () ct.SetColorEntry (1, (0,0,102,255) ) ct.SetColorEntry (2, (0255255255)) outband.SetColorTable (кт) внеполосной.
J.Wang
1

голосов
1

ответ
76

Просмотры

gdal_proximity генерирует нули на больших растровых файлов

У меня есть растр (fcc.tif) лесной (значение 1) и Deforested пикселей (значение 0) без каких-либо значений данных (255), имеющих разрешение 30м для Папуа-Новой Гвинеи. Это большой растровой с 60459 х 40811 пикселей. Я пытаюсь использовать gdal_proximity.py (GDAL версии 2.1.2) для вычисления расстояния (в м) до обезлесенных пикселей. Я использую следующую команду: gdal_proximity.py fcc.tif dist_defor.tif -значения 0 -ot UInt32 -distunits GEO -use_input_nodata ДА -nodata 4294967295 Исчисление работает отлично на протяжении большей части региона, но производит неправильные значения нулей на большой площади, имеющей своего рода форму диска (отмечен красным цветом на рисунке). Расстояние до вырубки леса в Папуа-Новой Гвинее В этой области обезлесенные пикселей присутствуют, но они, кажется, не следует принимать во внимание при вычислении расстояния. Растр fcc.tif доступен здесь
Ghislain Vieilledent
1

голосов
1

ответ
288

Просмотры

Gdal_rasterize nodata_value не работает

Я хочу растрирование исходного слоя, выполненный из полигонов. Независимо от того, какое значение я придаю к «NoData_value», результат в моем массиве не всегда = 0. Я использую Python 3.4. Может кто-нибудь помочь мне понять, пожалуйста? source_srs = source_layer.GetSpatialRef () x_min, x_max, y_min, y_max = source_layer.GetExtent () Параметры # выходного файла XSIZE = Math.ceil ((x_max - x_min) / pixel_size) # число пикселей в направлении х данного pixel_size, округлено до ближайшего пикселя YSIZE = Math.ceil ((y_max - y_min) / pixel_size) # число пикселей в направлении у данного pixel_size, округлены до ближайших пикселей x_res = INT ((x_max - x_min) / XSIZE) # размер пикселя в метрах с округлением, чтобы соответствовать BBOX y_res = Int ((y_max - y_min) / YSIZE) # размер пикселя в метрах с округлением, чтобы соответствовать BBox NoData_value = -9999 # Создание выходного набора данных в качестве памяти target_ds = GDAL.
Marianne
1

голосов
1

ответ
4.2k

Просмотры

DLL загрузка не удалась ошибка с Python, пытаясь преобразовать .dem файлов в .grid файлов

Я пытался найти свободный и легкий способ конвертировать .dem файлов в .grid файлов, и я работаю над питоном программа, которая была в Интернете, чтобы сделать это. Я получаю сообщение об ошибке, что я не понимаю, и ищу его в Интернете показал мне, что люди получили эту ошибку раньше, но не обязательно в контексте того, что я в поиске, поэтому их решения вовлекают установки различных модулей которые не один, что мне нужно. Вот мой питон взнос: Python 3.4.0 (v3.4.0: 04f714765c13) [MSC v.1600 64 бит (AMD64)] на win32 Вот как я установил модуль мне нужно, называемый OSGeo. Я следовал инструкциям на основе выше питон партии, убедившись, что я использовал правильные версии для всего: Инструкции, которые я использовал После этих инструкций позволила мне пройти ошибки, что OSGeo не существует, так, по крайней мере, я сделал некоторый прогресс в этом аспекте. Вот код, который я пытался запустить: импорт SYS импорт Os импорт osgeo.gdal как Gd из gdalconst импорта GA_ReadOnly, GDT_Byte, GDT_UInt16, GDT_Int16, \ GDT_UInt32, GDT_Int32, GDT_Float32, GDT_Float64 импорт типов структуры # GDAL данных в Packt data_types gd_type = {GDT_Byte: "б", GDT_UInt16: "Н", GDT_Int16: "ч", GDT_UInt32: "Я", GDT_Int32: "Я", GDT_Float32: "ф", GDT_Float64: "г"} # установления входного файла ifilename = г "C: \ Users \ Ник \ Desktop \ sample.dem" # генерировать имя выходного файла ofilename = os.path.splitext (ifilename) [0] + ".grid" # использовать GDAL читать DEM файл idataset = Gd. Open (ifilename, GA_ReadOnly), если idataset не None: печать (. "Невозможно прочитать входной файл {}" формат (ifilename)); sys.exit (2) # получить размер дем смещ_по_столбцы = idataset.RasterXSize строк = idataset.RasterYSize # Get и рассчитать пределы координат тр = idataset.GetGeoTransform () XUL = тр [0] юлы = тр [3] = XUL XLR + (смещ_по_столбцы - 1) * тр [1] YLr = юлы + (ряды - 1) * тр [5] данные # записи в двоичный выход = открыт (ofilename, "термометр") of.write (struct.pack ( "2i », смещ_по_столбцы, строка)) of.write (struct.pack ( "4f", XUL, YLr, XLR, юлы)) = группа idataset.GetRasterBand (1) D = band.ReadRaster (0, 0, COLS, строки, COLS, строки, данные band.DataType) = struct.unpack (gd_type [band.DataType] * (строки * COLS), д) of.write (struct.pack ( "F" * (* смещ_по_столбцы строка), * данные) ) of.close () Вот мое сообщение об ошибке: Traceback (самый последний вызов последнего): Файл «C:
Slick Craftians
1

голосов
1

ответ
222

Просмотры

Перепроецировать XY точек GeoTiff в Lat / Long с помощью GDAL / OGR C ++

Я использую GDAL / OGR API (C ++) для перепроецировать XY точки в широту / долготу координат из заданного Tiff. Я в состоянии достичь этого прямо сейчас, но, тем coordenates, что я получаю не соответствуют реальным координатам я пытаюсь получить. Я понял, что этот метод не читает входной набор данных, таким образом, есть не является «отправной точкой». В самом деле, используя инструмент gdaltranslate из командной строки, дает правильные corrdinates, потому что я посылаю Tiff в качестве параметра. К сожалению, я не могу позволить себе использовать эту команду. Ниже мой код (до сих пор) и пример gdaltranslate, как выходы: C Метод ++: недействительные reproject_coords (строка map_biomass) {GDALDataset * набор данные; GDALAllRegister (); строка DS = map_biomass; Набор данных = (GDALDataset *) GDALOpen (ds.c_str (), GA_ReadOnly); Источник OGRSpatialReference (dataset-> GetMetadata ()), мишень; OGRCoordinateTransformation * Poct; target.importFromEPSG (4326); //source.AutoIdentifyEPSG (); //source.SetWellKnownGeogCS("32643" ); двойная х = 1794, у = 6644; //source.dumpReadable (); POCT = OGRCreateCoordinateTransformation (& источник, и цель); если (! Poct == NULL || poCT-> Transform (1, & х, & у)) Е ( "не Transformation \ п."); еще Е ( "(% е,% е) \ п", х, у); } Входной сигнал: х = у = 1794 6644 Выход: (70.527326,0.059926) Командная строка: gdaltransform Karnataka_biomass.tif -t_srs EPSG: 4326 -s_srs EPSG: 32643 Входной сигнал: х = у = 1794 6644 Выход: +75,7461474090405 12. 4826172522718 Вопрос в том, есть ли способ, чтобы «читать» Tiff в методе C ++, чтобы получить реальный Шир / COORDS. Я нуждаюсь?
René Orozco
1

голосов
1

ответ
75

Просмотры

GDAL / Базовая карта ж / Anaconda Python 2.7 без интернета или других ГИС варианты, такие как cartopy

Честно говоря, я поражен этим. За последние несколько лет, я использовал Anaconda2 как с BaseMap и GDAL в отдельных вычислительных средах. Сейчас я работаю с машиной Win10, которая не может быть подключена к Интернету, и я пытаюсь поставить последнюю GDAL и Basemap в Anaconda2 Python 2.7 установить. GDAL выглядит, как он всегда - установить GDAL Core, привязки Python, и установить экологические параметры. Базовая карта, где я немного перегружен. Я читал, что он приближается к EOL. Поэтому я рассматривал рекомендацию с помощью проекта Catopy. Однако у меня нет возможности использовать Конда, поэтому я немного завалены все пакеты, чтобы заставить его работать. Proj.4 требует OSGeo4W. В последний раз я установил OSGeo на машине он сломал мою установку питона с его собственным. Кроме того, я не» знаю, как установить библиотеку PROJ через OSGeo4W без интернета. Может кто-нибудь дать некоторые ориентиры? Я могу просто придерживаться BaseMap и пинать банку вниз по дороге, но так как я собираюсь усилия по обновлению этой машины с нуля, я мог бы также планировать на длительный срок. Спасибо! V / R, Франк
Frank Katzenberger
1

голосов
1

ответ
50

Просмотры

Ошибка при загрузке изображения MODIS с помощью runGdal

все ~ Я тщетно пытался в R скачать MODIS образы моих мест, представляющих интерес, однако, я всегда получаю ту же ошибку. Может кто-нибудь мне помочь? Заранее спасибо ~ Вот код:> продукт ч = 26> v = 4> GETT runGdal (работа = "NDVI", продукт = продукт, начать = dates2 $ beginDOY, конец = dates2 $ endDOY, степень = GETT) Нет коллекции указано, получить новейший для MOD13Q1 ######################## outProj = Асин pixelSize = Асин resamplingType = вблизи Output Directory = D: / NDVI_Processed // Дали ######################## Загрузка структуры на «LAADS» для: структуры MOD13Q1.006 Загрузка из «LAADS'-сервер! Попробуйте: 1 Выгрузка структуры «0» от «LAADS'-сервера. Ошибка в случае (FtpDayDirs [1] == FALSE) {: отсутствую значение, где TRUE / FALSE, необходимые Перед этой ошибкой, я провел некоторое время на rgdal проблем, и решить ее путем установки OSGeo4W и указав rgdal библиотеки. Вот мой sessionInfo:> sessionInfo () R версия 3.5.1 (2018-07-02) Платформа: x86_64-w64-mingw32 / x64 (64-разрядная версия) Запуск под: Windows 10 x64 (сборка 17134) Матрица продуктов: локаль по умолчанию : [1] LC_COLLATE = китайский (упрощенный) _China.936 [2] LC_CTYPE = китайский (упрощенный) _China.936 [3] LC_MONETARY = китайский (упрощенный) _China.936 [4] LC_NUMERIC = С [5] LC_TIME = китайский ( Упрощенный) _China.936 прикрепленные базовые пакеты: [1] Статистика графики grDevices UTILS наборы данных базовые методы и другие пакеты, прикрепленные: [1] MODIS_1.1.2 raster_2.6-7 mapdata_2.3.0 maps_3.3.0 rgdal_1.3-4 [6] SP_1. 3-1 загружается через пространство имен (а не прилагается):
Marco
1

голосов
1

ответ
0

Просмотры

Запуск GDAL функции / OGR с сервера на OnClick событие клиента

Этот вопрос исходит от моего плохого понимания того, как GDAL / OGR должен работать на стороне сервера, но, прежде чем пытаться это, я хотел бы знать, если то, что я хочу, это возможно с этой библиотекой. В основном, я занимаюсь разработкой приложений WebGIS, где пользователь должен взаимодействовать с WFS. Я хотел бы дать пользователю возможность загружать данные из этого WFS в формате, который сервер не предоставляет в качестве выходного сигнала, поэтому мне нужно, чтобы преобразовать его в первую очередь. Мне нужна функция ogr2ogr с водителем WFS, чтобы иметь возможность преобразовывать ответ GML сервера в (например) формате Shapefile. Мой самый главный вопрос: как я могу назвать ogr2ogr, который установлен на моем сервере, когда пользователь нажимает на (например) на кнопку «Загрузить»? Моя идея Obvioulsy это привязать событие OnClick с функцией JS, которая вызывает ogr2ogr, но вот мое отсутствие знаний в разработке серверной части веб-не ль мне идти дальше. Я должен подготовить сценарий (как в PHP), который внутренне вызывает ogr2ogr, или я должен поместить GDAL / OGR исполняемых файлов в папке CGI-BIN, так что я могу указать и называть их с требуемыми параметрами?
umbe1987

Просмотр дополнительных вопросов