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 |
|---|---|---|---|
Geometry Engine Open Source |
Ja |
3.14, 3.13, 3.12, 3.11, 3.10, 3.9, 3.8 |
|
Bibliotek för kartografiska projektioner |
Ja (endast PostgreSQL och SQLite) |
9.x, 8.x, 7.x, 6.x |
|
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 |
|
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 |
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.
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