This release is a pre-release and may not be stable for production use.
Django-Geo-SPaaS - GeoDjango Apps for satellite data management
About
GeoSPaaS is a set of Python tools meant to help scientists deal with Earth Observation data. django-geo-spaas is the core of GeoSPaaS. It is composed of several GeoDjango apps which provide basic functionalities:
geospaas.catalog: defines the structure of GeoSPaaS's catalog, which is used to store metadata about Earth Observation datasets. This is the core around which all GeoSPaaS functionalities are built.geospaas.vocabularies: defines a structured way to assign properties to the datasets in the catalog. Based on and compatible with the GCMD standard.geospaas.base_viewer: a basic web page which allows to view the contents of the catalog.geospaas.nansat_ingestor: data ingester based on Nansat. Can be used to populate a catalog. The preferred tool for this is now django-geo-spaas-harvesting.geospaas.export_DIF: app for exporting metadata to GCMD DIF format.
Usage
To make use of django-geo-spaas, you need to install the apps in a GeoDjango project.
To set up such a project, you can follow the instructions here:
https://docs.djangoproject.com/en/5.0/ref/contrib/gis/tutorial/.
You can also go through the workshops in the following repository to learn more about GeoSPaaS and see some practical uses: https://github.com/nansencenter/geospaas-workshops.
Using Docker
Docker can be used to set up a GeoSPaaS project more easily.
You will find instructions below for a basic set-up.
How to use Docker for development of Django-Geo-SPaaS
- Install Docker
- Clone
django-geo-spaasand change into that directory - Run
./build_container.sh. That will do the following:
- build a Docker image with Nansat, Django and Django-Geo-SPaaS installed
- create a project directory
projectin the current dir - create the database and update vocabularies
- create a container with name
geospaaswith the current dir mounted to/src. Thus the container sees all changes you do to the geospaas code.
- Run
docker start -i geospaas. That will launchbashinside thegeospaascontainter. From bash you can launch:python project/manage.py shell. - If you want to mount more directories, you can run the following command:
docker create -it --name=geospaas \
-v `pwd`:/src \
-v /input/dir/on/host:/path/to/dir/in/container \
geospaas
And then run docker start -i geospaas to go into the container and have access to commands.
6. Alretrnatively you can start the container in background:
docker start geospaas
and then execute commands in the runnning container:
docker exec -i geospaas project/manage.py shell
How to use Docker for running Django-Geo-SPaaS
If you already have a project directory or if you are working on another app you can use the existing Docker image with Django-Geo-SPaaS. The image is already uploaded to Docker Hub, so no above steps are necessary. The workflow can be the following:
- Create a container with necessary directories mounted
- Start container in background
- Run Django commands from your host:
# create container named myapp from Docker image geospaas
docker run -it --rm --name=myapp \
-v /host/dir/myapp:/src \
-v /data/dir:/data \
nansencenter/geospaas
# create project dir in /host/dir/myapp
docker exec myapp django-admin startproject myproject
# update settings.py
INSTALLED_APPS = [
...
'django.contrib.gis',
'leaflet',
'django_forms_bootstrap',
'geospaas.base_viewer',
'geospaas.nansat_ingestor',
'geospaas.catalog',
'geospaas.vocabularies',
'myproject',
]
...
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.spatialite',
'NAME': os.path.join(BASE_DIR, 'geodjango.db'),
}
}
# update urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('tests/', include('geospaas.base_viewer.urls')),
]
# migrate database schema
docker exec myapp /src/myproject/manage.py migrate
# update vocabularies
docker exec myapp /src/myproject/manage.py update_vocabularies
# ingest metadata
docker exec -w /src/myproject myapp ./manage.py ingest /data/myfiles*.nc
How to add new data to a GeoSPaaS catalog
The django-geo-spaas-harvesting app can be used to populate a GeoSPaaS catalog.
Release files for django-geo-spaas 3.0.0.dev7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django_geo_spaas-3.0.0.dev7.tar.gz | 89.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_geo_spaas-3.0.0.dev7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 168.1 kB
Release files / django_geo_spaas-3.0.0.dev7.tar.gz
| Download URL | django_geo_spaas-3.0.0.dev7.tar.gz |
|---|---|
| Size | 89.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
29e6d6e3b028c22ee472dfc2cb1e5a9b0328a53d3a1ea459a192bab91e284f44
|
|
BLAKE2b-256 checksum How to use checksums |
9e712e97b7a7bb8eb373d717ba2d2faa31ce785018dbe8ad21e428c2dc611e74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / django_geo_spaas-3.0.0.dev7-py3-none-any.whl
| Download URL | django_geo_spaas-3.0.0.dev7-py3-none-any.whl |
|---|---|
| Size | 78.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
041703651e150b1cdb5d41942415a419ac4261d167f940ac9433e4320b7597c7
|
|
BLAKE2b-256 checksum How to use checksums |
356fa919da09e1cdad1c419e29007c2d613c661bcd2dd574452ec43e072fac66
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|