Installing gdal on windows

Installing gdal on windows

Предполагается, что читатель знаком с платформой .NET, языком программирования C# и средой разработки Visual Studio хотя бы на начальном уровне. В своем примере я буду использовать последнюю версию Visual Studio, а именно — Visual Studio 2017 Community Edition, которая является абсолютно бесплатной для учащихся, разработчиков открытого ПО и отдельных разработчиков. А где взять саму библиотеку GDAL/OGR, я уже расскажу по ходу самой статьи.

Что такое GDAL/OGR?

Чтобы ответить на этот философский вопрос, обратимся к официальному сайту. GDAL (Geospatial Data Abstraction Library — библиотека абстракции геопространственных данных) — это библиотека для работы с растровыми географическими форматами файлов данных. GDAL распространяется Open Source Geospatial Foundation на условиях лицензии X/MIT, то есть является проектом с открытым исходным кодом. Для разработчиков это означает, что им разрешено использовать лицензируемый код и в закрытом ПО. Единственное условие — указание авторского права и включение текста лицензии в распространяемое ПО. Таким образом, GDAL предоставляет некий унифицированный интерфейс по работе с различными источниками растровых географических данных.

Библиотека OGR, входящая в состав проекта GDAL, предоставляет аналогичные возможности для работы с векторными данными. Теоретически OGR отделен от GDAL, но в настоящее время эта библиотека является частью дерева исходных кодов GDAL. В будущем планируется полностью поместить OGR в GDAL, так что GDAL будет единой библиотекой для доступа к растровым и векторным данным.

Установка библиотеки GDAL/OGR вручную

Первым делом нам нужно скачать бинарники этой библиотеки для ОС Windows, т.к. здесь пойдет речь именно о работе в этой операционной системе. Загрузить скомпилированные бинарники можно с сайта GISInternals. В зависимости от вида ОС (x86 или x64) необходимо выбрать соответствующий архив. Для своей ОС я загрузил release-1800-x64-gdal-2-1-3-mapserver-7-0-4.zip. Далее, архив необходимо распаковать в произвольную директорию. Я распаковал в каталог c:\Programs\gdal.

На следующем шаге необходимо добавить в переменную окружения PATH пути к каталогам:

В случае, если вы распаковали архив в другую директорию, то путь необходимо соответствующим образом изменить.

Далее, создадим проект консольного приложения, который использует платформу .NET Framework (а не .NET Core), поскольку подключаемые нами библиотеки используют именно эту платформу. Также я выбрал версию .NET Framework 4.6.1, как отмечено на рисунке ниже.

Хотя можно выбрать и другую версию не ниже 4.0, что видно из манифеста управляемой сборки gdal_csharp.dll.

После того как проект создан, добавим ссылки на следующие сборки:

  • gdal_csharp.dll
  • gdalconst_csharp.dll
  • ogr_csharp.dll
  • osr_csharp.dll

Эти сборки расположены в директории c:\Programs\gdal\bin\gdal\csharp, если вы, конечно, распаковали архив в директорию c:\Programs\gdal.

На следующем шаге нам нужно в свойствах проекта изменить целевую платформу. Если вы загрузили x64 версию бинарников, как я, то вам нужно выбрать значение x64, как показано на рисунке ниже. Если же у вас x86 версия бинарников, то выберите значение x86.

Итак, все приготовления уже позади, и нам осталось только проверить корректность настройки нашего рабочего окружения и библиотеки GDAL/OGR. Для этого напишем простейшую программу, которая ничего не будет делать, но ее цель — корректно отработать, не выбросив никакого исключения. Наша проверочная программа выглядит таким образом:

Читайте также:  Терминал сом порта linux

Эта программа регистрирует драйвера доступа к растровым и векторным данным. Если все прошло успешно, то в консоли вы увидете строку «All right!» и программа будет ожидать нажатия клавиши [ENTER]. Рассмотрим некоторые виды ошибок, возникающие, когда что-то пошло не так. Многие исключения библиотеки содержат следующее малоинформативное сообщение: Инициализатор типа «OSGeo.GDAL.GdalPINVOKE» выдал исключение. Чтобы докопаться до сути нужно исследовать вложенные исключения. Последнее вложенное сообщение уже содержит больше информации: Была сделана попытка загрузить программу, имеющую неверный формат. (Исключение из HRESULT: 0x8007000B). Это сообщение означает, что в настройках проекта вы не выбрали нужную целевую платформу (о чем я написал выше) и у вас в настройках скорей всего стоит Any CPU.

Еще одной ошибкой может быть отсутствие путей к каталогам c:\Programs\gdal\bin\gdal\csharp и c:\Programs\gdal\bin в переменной окружения PATH. (Здесь я предполагаю, что архив с библиотекой распакован в каталог c:\Programs\gdal). При этом сообщение в исключении верхнего уровня содержит те же строки: Инициализатор типа «OSGeo.GDAL.GdalPINVOKE» выдал исключение. А если пройти всю цепочку внутренних исключений, то получим более информативное сообщение: Не удается загрузить DLL «gdal_wrap»: Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E).

Установка библиотеки GDAL/OGR с помощью пакетного менеджера NuGet.

На самом деле, есть гораздо более простой способ установки и запуска библиотеки GDAL/OGR. Для этого нужно лишь воспользоваться менеджером пакетов NuGet. Воспользуемся графической оболочкой менеджера, которую можно открыть через меню Tools — NuGet Package Manager — Manage NuGet Packages for Solution. . На вкладке «Browse» вводим в строку поиска GDAL и устанавливаем 2 пакета: GDAL и GDAL Native. На момент написания статьи версия этих пакетов была 1.11.1. Как видно на скриншоте, у меня они уже установлены.

После загрузки и установки пакетов в проекте появятся 2 файла: GdalConfiguration.cs и GdalConfiguration.vb. В данном случае нас интересует файл GdalConfiguration.cs. Если исследовать его содержимое, то можно увидеть, что его статический конструктор в зависимости от разрядности приложения добавляет в переменную окружения PATH путь к соответствующему библиотечному каталогу, а также устанавливаются некоторые другие переменные окружения. А вызовы методов GdalConfiguration.ConfigureGdal() и GdalConfiguration.ConfigureOgr() регистрируют драйверы растровых и векторных данных соответственно.

Запустим приведенное ниже консольное приложение.

Если все прошло успешно и у вас выбрана конфигурация Debug, то вы увидете список зарегистрированных драйверов и нашу строку «All right!», а в случае конфигурации Debug — только нашу строку.

12.04.2017 Видео о том, когда что-то пошло не так 🙂 (обновление)

Решил записать еще ролик по ручной установке библиотеки GDAL/OGR, что описана в начале статьи. Запись осуществлялась на другой машине, где ранее не разворачивалась эта библиотека. И как это часто бывает, получил непредвиденную ошибку Не удается загрузить DLL «gdal_wrap»! Естественно, проверил добавленные пути в переменную окружения PATH. С ней все в порядке, однако ошибка все же есть! Если хотите узнать в чем же была причина, то прошу к просмотру:

Надеюсь, в этой статье мне удалось раскрыть бОльшую часть подводных камней и указать на самые большие грабли, которые подстерегают программистов при установке данной библиотеки. А в следующей статье я планирую создать небольшую программу, демонстрирующие возможности данной библиотеки и указать на некоторые полезные методы, которые пригодятся в дальнейшем при разработке своих ГИС приложений.

Читайте также:  Темы для qbittorrent linux

Установка GDAL с Python на Windows?

Может кто-нибудь объяснить, как установить GDAL / OGR с Python на Windows?

У меня Windows Vista, и я попытался проследить информацию на веб-сайте, и она, кажется, не связывает exe-файлы для меня.

Может кто-нибудь описать процесс, включая ссылки на нужные мне файлы / папки?

Теперь я попытался запустить установку GDAL с MinGW, но это также не удалось:

Если у вас нет веских причин не делать этого, я бы определенно рекомендовал начать с установщика OSGeo4W , который может устанавливать несколько разных версий GDAL и их соответствующие привязки Python. Он отлично работает и значительно упрощает историю развертывания Windows. В частности, вы захотите установить pkg-gdal-python , который находится в пределах ‘Libs’ в дереве установщика.

Его можно установить из cmd.exe, используя что-то вроде:

(Вы должны установить NumPy из того же места, используя аналогичную команду)

Хотя пакет не создан разработчиками OSGeo или GDAL, он представляет собой высококачественный дистрибутив с поддержкой последних версий GDAL, скомпилированных для 32-битных и 64-битных версий Python. Нет необходимости добавлять внешние библиотеки или управлять ими!

Обновление даже устанавливает GDAL_DATA переменную среды, если она не установлена, и включает PostgreSQL драйвер для чтения данных из PostGIS.

Другой вариант — установить дистрибутив Anaconda Python, содержащий пакеты для GDAL. Если вы собираетесь проделать большую работу, используя GDAL с другими пакетами Python (scipy, pandas, scikit-learn и т. Д.), Это может быть лучшим вариантом, чем OSGeo4W. С другой стороны, если вы хотите использовать Python в сочетании с несколькими открытыми исходными кодами и пакетами ГИС (GRASS, QGIS и т. Д.), OSGeo4W, вероятно, является лучшим вариантом.

Вы можете получить полный дистрибутив Anaconda по адресу : https://www.continuum.io/downloads, который содержит множество пакетов Python, направленных на «науку о данных», или минимальную установку с http://conda.pydata.org/miniconda. HTML

В процессе установки вам будет предложено добавить основной путь (чтобы он был доступен с любого терминала).

После настройки GDAL можно установить в новой среде, используя:

Затем активируйте его, как показано, когда команда завершится. Рекомендуется установить в новую среду, чтобы избежать конфликтов с другими пакетами и убедиться, что установлены необходимые переменные среды.

Я предложил установить их с канала conda-forge ( https://conda-forge.github.io/ ), поскольку они очень активны в поддержании своих сборок GDAL и следят за тем, чтобы они работали со многими библиотеками.

После того, как установленные пакеты могут быть обновлены из среды, используя:

Форумы GIS-Lab.info

Геоинформационные системы (ГИС) и Дистанционное зондирование Земли

Установка GDAL на Windows 64 (не через OSGeo4W )

Установка GDAL на Windows 64 (не через OSGeo4W )

Сообщение Natalia Novoselova » 06 дек 2016, 14:25

Вопрос является продолжением решения задачи конвертирования файла NetCDF (.nc) в растр.
Для этого самым оптимальным кажется вариант использовать утилиту GDAL gdalwarp.
Проблема в том, что при установке GDAL через установщик OSGeo4W для Windows, сборка имеет дефекты, один из результатов которых есть ошибка в использовании gdalwarp для открытия формата NetCDF. Подробнее об ошибке:
viewtopic.php?f=1&t=21797&start=30#p148711

Однако GDAL вроде бы можно установить для Windows и другим установщиком:

Мог бы кто-то подсказать – алгоритм установки GDAL по выбору с этого ресурса http://www.gisinternals.com/?
Хотелось бы – установить всё (сделать аналог полной установки GDAL через OSGeo4W ). И еще вопрос в связи с этим. Если делать такую переустановку, то нужно деинсталлировать сборку, поставленную через OSGeo4W ? Что-то через систему не нашла такой возможности (не видит GDAL как программу). Тогда через OSGeo4W я установила все по умолчанию для GDAL, выбрав для загрузки папку OSGeo4W \downloads.

Читайте также:  Код который удалит windows

Так вот здесь. Что нужно выбрать?
Предполагаю, что Stable Releases.
Выбираю верхний для Windows 64bit release-1500-x64-gdal-2-1-2-mapserver-7-0-2:

http://www.gisinternals.com/query.html? . -7-0-2.zip

И там дается большой список для загрузки

Что нужно здесь загружать? В каком порядке ставить?
Если можно вообще сориентировать в этом вопросе.

Installing GDAL with Python on windows?

Can anyone explain how to install GDAL/OGR with Python on Windows?

I have Windows Vista and I have tried following the information on the website and it does not seem to bind the exe files for me.

Can someone describe the process, including links to the files/folders I will need?

I have now tried to run the gdal setup with minGW, but this has also failed:

13 Answers 13

Unless you have good reasons not to, I’d definitely recommend starting with the OSGeo4W installer, which can install multiple different versions of GDAL and their relevant Python bindings. It works great and dramatically simplifies the Windows deployment story. Specifically, you’ll want to install pkg-gdal-python, which is within ‘Libs’ in the installer tree.

It can be installed from cmd.exe using something like:

(You should install NumPy from the same place using a similar command)

While the package is not built by OSGeo or GDAL developers, it is a high quality distribution with support for the latest versions of GDAL compiled for 32-bit and 64-bit versions of Python. No external libraries need to be added or managed!

Update it even sets the GDAL_DATA environment variable, if it is not set, and includes a PostgreSQL driver to read data from PostGIS.

Another option is to install the Anaconda Python distribution which has packages for GDAL. If you are going to be doing a lot of work using GDAL with other Python packages (scipy, pandas, scikit-learn etc.,) this might be a better option than OSGeo4W. On the other hand if you want to use Python in combination with a number of open source remote sensing and GIS packages (GRASS, QGIS etc.,) OSGeo4W is probably the better option.

You can get the full Anaconda distribution from: https://www.continuum.io/downloads which contains a lot of Python packages aimed at ‘data science’ or a minimal installation from http://conda.pydata.org/miniconda.html

As part of the installation it will prompt you to add to the main path (so it is available from any terminal).

Once set up GDAL can be installed into a new environment using:

Then activating it as show when the command finishes. Installing into a new environment is recommended to avoid conflicts with other packages and make sure the environmental variables required are set.

I’ve suggested installing from the conda-forge channel (https://conda-forge.github.io/) as they are very active in keeping their GDAL builds up to date and making sure they work against a lot of libraries.

Once installed packages can be updated from within the environment using:

Оцените статью