Как установить gdal на windows

Обновлено: 04.07.2024

GeoDjango использует и предоставляет интерфейсы для следующих бесплатных геопространственных библиотек:

программа Описание необходимые Поддерживаемые версии
GEOS Geometry Engine с открытым исходным кодом да 3.8, 3.7, 3.6, 3.5
proj.4 Библиотека картографических проекций Да (только PostgreSQL и SQLite) 6.3, 6.2, 6.1, 6.0, 5.x, 4.x
GDAL Библиотека да 3.1, 3.0, 2.4, 2.3, 2.2, 2.1, 2.0
GeoIP Библиотека геолокации на основе IP нет 2
PostGIS Пространственные расширения для PostgreSQL Да (только PostgreSQL) 3.0, 2.5, 2.4, 2.3, 2.2
SpatiaLite Пространственные расширения для SQLite Да (только SQLite) 4,3

Обратите внимание, что более старые или новые версии этих библиотек также могут очень хорошо работать с GeoDjango. Вам решать.

Интерфейсы GeoDjango с GEOS, GDAL и GeoIP могут использоваться независимо от Django. Другими словами, необязательно иметь базу данных или файл настроек, импортируйте их как обычный модуль из django.contrib.gis .

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

Также ознакомьтесь с конкретными инструкциями, если вы используете macOS или Windows .

Компиляция из исходников ¶

При установке из исходного кода в системах UNIX и GNU / Linux внимательно следуйте инструкциям по установке и устанавливайте библиотеки в указанном порядке. Если вы используете MySQL или Oracle в качестве пространственной базы данных, вам понадобится только GEOS.

На платформах Linux может потребоваться ввести команду ldconfig после установки каждой библиотеки. Например :

Пользователи MacOS должны установить Xcode , чтобы иметь возможность компилировать код из исходного кода.

GEOS - это библиотека C ++ для геометрических операций и внутреннее геометрическое представление по умолчанию, используемое GeoDjango (за «отложенными» геометрическими объектами). В частности, API библиотеки C (например libgeos_c.so ) вызывается непосредственно из Python с использованием ctypes.

Сначала загрузите GEOS с сайта GEOS и распакуйте исходный архив:

Затем перейдите в каталог, в который была разархивирована GEOS, и запустите сценарий «configure», скомпилируйте и установите:

Устранение неполадок ¶

Не удается найти библиотеку GEOS ¶

Когда GeoDjango не может найти GEOS, появляется эта ошибка:

Наиболее распространенное решение - правильно настроить параметры среды библиотеки или установить GEOS_LIBRARY_PATH в своих настройках.

Если вы используете двоичный пакет GEOS (например, в Ubuntu), может быть полезно установить binutils .

GEOS_LIBRARY_PATH ¶

Если ваша библиотека GEOS находится в нестандартном месте или вы не хотите изменять путь к системным библиотекам, вы можете добавить настройку GEOS_LIBRARY_PATH в свой файл настроек Django и указать там полный путь к библиотеке GEOS. в C. Например:

Параметр должен содержать полный путь к разделяемой библиотеке на C ; другими словами, это должно быть указано libgeos_c.so , а не libgeos.so .

PROJ.4 ¶

PROJ.4 - это библиотека для преобразования геопространственных данных в различные системы координат.

Сначала загрузите исходный код PROJ.4 и связанные файлы данных («файлы смещения датума») [1] :

Затем разархивируйте архив исходного кода и извлеките дополнительные файлы данных в подкаталог nad . Это необходимо сделать перед настройкой:

Наконец, запустите «configure» и «make» и установите PROJ.4:

GDAL - отличная бесплатная геопространственная библиотека, способная читать большинство векторных и растровых форматов пространственных данных. В настоящее время GeoDjango поддерживает только функции векторных данных GDAL [2] . Перед компиляцией GDAL необходимо установить GEOS и PROJ.4 .

Сначала загрузите последнюю выпущенную версию GDAL и распакуйте архив:

Выполните операции "configure", "make" и "install":

Поскольку GeoDjango имеет свои собственные интерфейсы Python, предыдущие инструкции не компилируют привязки Python, специфичные для GDAL. Привязки можно скомпилировать, добавив опцию --with-python при запуске configure . См. GDAL / OGR в Python для получения дополнительной информации о привязках GDAL.

Если у вас возникла проблема, ознакомьтесь с предложениями и решениями в разделе устранения неполадок ниже.

Устранение неполадок ¶

Не удается найти библиотеку GDAL ¶

Если GeoDjango не может найти библиотеку GDAL, настройте параметры среды библиотеки или установите GDAL_LIBRARY_PATH в своих настройках.

GDAL_LIBRARY_PATH ¶

Если ваша библиотека GDAL находится в нестандартном месте или вы не хотите изменять путь к системным библиотекам, вы можете добавить параметр GDAL_LIBRARY_PATH в свой файл настроек Django и указать там полный путь к библиотеке GDAL. , Например :

Что такое 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 пути к каталогам:

  • c:\Programs\gdal\bin\gdal\csharp
  • c:\Programs\gdal\bin

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

Добавление директорий в переменную окружения PATH

Выбор проекта для демонстрации GDAL в Visual Studio 2017

Выбор проекта для демонстрации GDAL в Visual Studio 2017

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

Манифест сборки gdal_csharp.dll

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

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

Добавляемые в проект сборки

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

Изменение целевой платформы проекта

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

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

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

Окно менеджера пакетов NuGet с установкой GDAL

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

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

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

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

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

Ogr поставляется с gdal, поэтому мы можем использовать ogr, если установлен gdal.

Откройте cmd и введите python, как показано ниже:


Это для просмотра среды Python, мы должны принять правильное лекарство, скачать и установить соответствующий GDAL в соответствии с его ситуацией.


После нажатия на изображение выше, интерфейс, как показано ниже, найдите ядро ​​и загрузите его.


На этой машине установлены две анаконды, одна из которых python2.7, а другая - python3. Поскольку я хочу использовать его для arcgis, мне пришлось использовать python2.7. Так же скачайте следующее.


Видя картинку ниже, я всегда счастлив.


После того, как оба будут установлены, добавьте переменные среды. Мой компьютер, щелкните правой кнопкой мыши, свойства, дополнительные параметры системы, переменные среды, найдите путь, измените, добавьте следующий путь (потому что мы установили gdal здесь, если здесь нет 64-битной установки, лучше всего посмотреть Здесь установлен gdal?):

Создайте еще две переменные окружения:



Откройте cmd (обязательно откройте, поскольку cmd, открытый до установки gdal, не знает, что gdal установлен), тест выглядит следующим образом:

Как установить расширение GDAL для GeoServer в Windows

Я ищу рекомендации по настройке расширения GDAL для GeoServer.

Я установил 32-битные библиотеки и драйвер ECW:

  • это 64 или 32 битная Java? Я думаю, это должно быть 32 бит
  • Я думаю, что это 32 бит. Бег java -d64 -version в CMD возвращается Error: This Java instance does not support a 64-bit JVM
  • @iant При использовании imageio-ext Release / 1.1.15 он работает, но только версии не поддерживают VRT, который мне нужен.
  • тогда вам нужно будет создать новые привязки swig и (возможно) переработать Java-код в GeoTools, чтобы использовать новые функции

Я мог бы заставить расширение GDAL-ImageI / O-Ext работать в GeoServer 2.14.1 в Windows только ОДНИМ способом: используя Apache Tomcat 8.5 и устанавливая GeoServer как WAR. Использование установщика Windows добавляет в стек еще один уровень: оболочку. Это оказалось источником дополнительных проблем, которые могут смешиваться со всеми остальными, что делает развертывание очень сложным.

Мой рецепт следующий:

Убедитесь, что у вас установлена ​​64-разрядная версия MSVC 2010. Требование собственных библиотек GDAL.

Установите Tomcat 8.5 64bit на 64bit JDK (я тестировал с 1.8.202). НЕ ИСПОЛЬЗУЙТЕ 32-битную JDK / JRE!

Uzip gdal-data.zip в C:/gdal/gdal-data

Разархивируйте родные библиотеки GDAL из gdal-1.9.2-MSVC2010-x64.zip в C:/gdal/

Добавить в PATH env var: C:/gdal

Настройте в Windows следующие переменные среды: GDAL_DRIVER_PATH = C:\gdal GDAL_DATA = C:\gdal\gdal-data GEOSERVER_DATA_DIR = [TomcatInstallDir]\webapps\geoserver\data

Последний \data dir можно переместить из стандартного нестандартного местоположения в более разумное. GEOSERVER_DATA_DIR должен будет отразить это изменение.

* * * ПРИМЕЧАНИЕ: По состоянию на февраль 2019 года я все еще не знаю, как использовать какую-либо другую, более свежую версию GDAL, кроме v. 1.9.2, в Geoserver в Windows * * *

Читайте также: