# Django 6.0.5 documentation

# Installera geospatiala bibliotek

## Geospatiala bibliotek

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.14, 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.11, 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.5, 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.

Observera

The GeoDjango interfaces to GEOS, GDAL, and GeoIP may be used independently of Django. In other words, no database or settings file required – import them as normal from `django.contrib.gis`.

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

    $ 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ällan

When installing from source on UNIX and GNU/Linux systems, please follow the installation instructions carefully, and install the libraries in the given order. If using MySQL or Oracle as the spatial database, only GEOS is required.

Observera

På Linux-plattformar kan det vara nödvändigt att köra kommandot `ldconfig` efter att varje bibliotek har installerats. Ett exempel:

    $ sudo make install
    $ sudo ldconfig

Observera

macOS-användare måste installera Xcode för att kunna kompilera programvara från källan.

### GEOS

GEOS is a C++ library for performing geometric operations, and is the default internal geometry representation used by GeoDjango (it’s behind the ”lazy” geometries). Specifically, the C API library is called (e.g., `libgeos_c.so`) directly from Python using ctypes.

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

    $ 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:

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

Bygg sedan och installera paketet:

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

#### Felsökning

##### Kan inte hitta GEOS-biblioteket

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

    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ÄG`

If your GEOS library is in a non-standard location, or you don’t want to modify the system’s library path then the `GEOS_LIBRARY_PATH` setting may be added to your Django settings file with the full path to the GEOS C library. For example:

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

Observera

Inställningen måste vara den fullständiga sökvägen till det delade C-biblioteket; med andra ord vill du använda `libgeos_c.so`, inte `libgeos.so`.

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

### PROJ

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

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

    $ 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]:

    $ 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:

    $ 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:

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

Slutligen ska du konfigurera, skapa och installera PROJ:

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

### GDAL

GDAL is an excellent open source geospatial library that has support for reading most vector and raster spatial data formats. Currently, GeoDjango only supports GDAL’s vector data capabilities [2]. GEOS and PROJ should be installed prior to building GDAL.

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

    $ 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:

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

Slutligen ska du konfigurera, skapa och installera GDAL:

    $ 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ökning

##### Hittar inte GDAL-biblioteket

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ÄG`

If your GDAL library is in a non-standard location, or you don’t want to modify the system’s library path then the `GDAL_LIBRARY_PATH` setting may be added to your Django settings file with the full path to the GDAL library. For example:

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

Fotnoter

[1]

Datumskiftesfilerna behövs för att konvertera data till och från vissa projektioner. PROJ-strängen för Google-projektionen (900913 eller 3857) kräver t.ex. gridfilen `null` som endast ingår i de extra datumskiftfilerna. Det är lättare att installera skiftfilerna nu än att behöva felsöka ett problem som orsakas av att de saknas senare.

[2]

GeoDjango ger specifikt stöd för biblioteket OGR, en komponent i GDAL.