Installera geospatiala bibliotekLink to this heading

GeoDjango använder och/eller tillhandahåller gränssnitt för följande geospatiala bibliotek med öppen källkod:

Program

Beskrivning

Obligatorisk

Versioner som stöds

GEOS

Geometry Engine Open Source

Ja

3.13, 3.12, 3.11, 3.10, 3.9, 3.8

PROJ

Bibliotek för kartografiska projektioner

Ja (endast PostgreSQL och SQLite)

9.x, 8.x, 7.x, 6.x

GDAL

Bibliotek för abstraktion av geospatiala data

Ja

3.10, 3.9, 3.8, 3.7, 3.6, 3.5, 3.4, 3.3, 3.2, 3.1

GeoIP

IP-baserat bibliotek för geolokalisering

Nej

2

`PostGIS`____

Rumsliga tillägg för PostgreSQL

Ja (endast PostgreSQL)

3.4, 3.3, 3.2, 3.1

SpatiaLite

Spatiala tillägg för SQLite

Ja (endast SQLite)

5.1, 5.0, 4.3

Observera att äldre eller nyare versioner av dessa bibliotek kan också fungera helt bra med GeoDjango. Din körsträcka kan variera.

På Debian/Ubuntu rekommenderas att du installerar följande paket som installerar, direkt eller genom beroenden, de nödvändiga geospatiala biblioteken:

Shell
$ sudo apt-get install binutils libproj-dev gdal-bin

Se även plattformsspecifika instruktioner om du använder macOS eller Fönster.

Bygga från källanLink to this heading

Vid installation från källkod på UNIX- och GNU/Linux-system, följ installationsanvisningarna noggrant och installera biblioteken i angiven ordning. Om du använder MySQL eller Oracle som spatial databas krävs endast GEOS.

GEOSLink to this heading

GEOS är ett C++-bibliotek för att utföra geometriska operationer och är den interna standardgeometrirepresentationen som används av GeoDjango (den ligger bakom de ”lata” geometrierna). Specifikt anropas C API-biblioteket (t.ex. libgeos_c.so) direkt från Python med hjälp av ctypes.

Först laddar du ner GEOS från GEOS webbplats och avtar källarkivet:

Shell
$ wget https://download.osgeo.org/geos/geos-X.Y.Z.tar.bz2
$ tar xjf geos-X.Y.Z.tar.bz2

Gå sedan in i GEOS-katalogen, skapa en build-mapp och gå in i den:

Shell
$ cd geos-X.Y.Z
$ mkdir build
$ cd build

Bygg sedan och installera paketet:

Shell
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ cmake --build .
$ sudo cmake --build . --target install

FelsökningLink to this heading

Kan inte hitta GEOS-biblioteketLink to this heading

När GeoDjango inte kan hitta GEOS utlöses detta fel:

Text
ImportError: Could not find the GEOS library (tried "geos_c"). Try setting GEOS_LIBRARY_PATH in your settings.

Den vanligaste lösningen är att korrekt konfigurera din Inställningar för biblioteksmiljö eller ange GEOS_BIBLIOTEK_ SÖKVÄG i dina inställningar.

Om du använder ett binärt paket av GEOS (t.ex. på Ubuntu) kan du behöva Installera binutils.

GEOS_BIBLIOTEK_ SÖKVÄGLink to this heading

Om ditt GEOS-bibliotek finns på en plats som inte är standard, eller om du inte vill ändra systemets bibliotekssökväg, kan inställningen GEOS_LIBRARY_PATH läggas till i din Django-inställningsfil med den fullständiga sökvägen till GEOS C-biblioteket. Till exempel:

Shell
GEOS_LIBRARY_PATH = '/home/bob/local/lib/libgeos_c.so'

Se även Mina loggar är fyllda med GEOS-relaterade fel.

PROJLink to this heading

PROJ är ett bibliotek för konvertering av geospatiala data till olika koordinatreferenssystem.

Först laddar du ner PROJ-källkoden:

Shell
$ wget https://download.osgeo.org/proj/proj-X.Y.Z.tar.gz

… och datumskiftningsfiler (ladda ner proj-datumgrid-X.Y.tar.gz för PROJ < 7.x) [1]:

Shell
$ wget https://download.osgeo.org/proj/proj-data-X.Y.tar.gz

Ta sedan fram källkodsarkivet och extrahera datumskiftfilerna i underkatalogen data. Detta måste göras förut för konfigurationen:

Shell
$ tar xzf proj-X.Y.Z.tar.gz
$ cd proj-X.Y.Z/data
$ tar xzf ../../proj-data-X.Y.tar.gz
$ cd ../..

För PROJ 9.x och senare stöder utgåvorna endast byggande med CMake (se PROJ RFC-7).

För att bygga med CMake måste du se till att ditt system uppfyller build requirements. Skapa sedan en build-mapp i PROJ-katalogen och gå in i den:

Shell
$ cd proj-X.Y.Z
$ mkdir build
$ cd build

Slutligen ska du konfigurera, skapa och installera PROJ:

Shell
$ cmake ..
$ cmake --build .
$ sudo cmake --build . --target install

GDALLink to this heading

GDAL är ett utmärkt geospatialt bibliotek med öppen källkod som har stöd för att läsa de flesta vektor- och rasterformat för spatiala data. För närvarande stöder GeoDjango endast GDAL:s vektordata-funktioner [2]. GEOS och PROJ bör installeras innan GDAL byggs.

Ladda först ner den senaste versionen av GDAL och öppna arkivet:

Shell
$ wget https://download.osgeo.org/gdal/X.Y.Z/gdal-X.Y.Z.tar.gz
$ tar xzf gdal-X.Y.Z.tar.gz

För GDAL 3.6.x och senare stöder utgåvorna endast byggande med CMake. Om du vill bygga med CMake skapar du en build-mapp i GDAL-katalogen och går in i den:

Shell
$ cd gdal-X.Y.Z
$ mkdir build
$ cd build

Slutligen ska du konfigurera, skapa och installera GDAL:

Shell
$ cmake ..
$ cmake --build .
$ sudo cmake --build . --target install

Om du har några problem, se felsökningsavsnittet nedan för förslag och lösningar.

FelsökningLink to this heading

Hittar inte GDAL-biblioteketLink to this heading

När GeoDjango inte kan hitta GDAL-biblioteket, konfigurera din Inställningar för biblioteksmiljö eller ange GDAL_BIBLIOTEK_VÄG i dina inställningar.

GDAL_BIBLIOTEK_VÄGLink to this heading

Om ditt GDAL-bibliotek finns på en plats som inte är standard, eller om du inte vill ändra systemets bibliotekssökväg, kan inställningen GDAL_LIBRARY_PATH läggas till i din Django-inställningsfil med den fullständiga sökvägen till GDAL-biblioteket. Till exempel:

Shell
GDAL_LIBRARY_PATH = '/home/sue/local/lib/libgdal.so'

Fotnoter