Wagtail based Geospatial Data Manager
Project description
GeoManager
Wagtail based Geospatial Data Manager and backend CMS for geomapviewer
Background
National Meteorological and Hydrological Services (NMHSs) and other national/regional institutions working in weather/climate sectors usually use, produce or disseminate data and information that is Geo-referenced. This can range from forecast model outputs, earth observation data, stations observation, periodic bulletins and advisories and so on. Usually these are shared on their websites and social media pages in static formats, mostly PNGs.
This project is an initiative by the WMO RAF, as part of the Digital Transformation Package for the NMHSs in Africa, to provide an interactive system for managing and publishing Geo-referenced (GIS) datasets. As the NMHSs produce and share their products in static formats, they can also use packages like this, to make their data interactive.
The package is developed primarily for the NMHSs at national levels, but can be adapted in other institutions or places that need to visualize their geospatial data.
Features
All the raster and vector datasets uploaded must have time associated with each file.
For netCDF files with time dimension, time is automatically extracted from the file. For Geotiff, each uploaded file must be manually assigned time.
Data management and visualization
- Uploading and visualization of gridded data
- netCDF
- Geotiff
- Uploading and visualization of vector data
- Shapefiles
- Geojson
- Raster Tile serving of raster data using django-large-image.
All
django-large-image
features are available - Vector tile serving using PostGIS MVT Tiles
MapViewer Management
- Management of layers visualized on the geomapviewer
- Control on visibility (public or private) of layers on the MapViewer
Installation
Prerequisite
Before installing this package, you should make sure you have GDAL installed in your system.
TIP:
Installing GDAL can be notoriously difficult. You can use pre-built Python wheels with the GDAL binary bundled,
provided by KitWare, for easy installation in production linux environments.
To install GDAL using KitWare GDAL wheel, use:
pip install --find-links https://girder.github.io/large_image_wheels GDAL
Other required packages that you will need to install, if not installed already in your Wagtail Project
- psycopg2 - for postgres/postgis database connection
- wagtail_adminsortable - is also required, but the latest pip version is not compatible with the latest Wagtail versions. You can install the updated version that is compatible from Github using:
pip install https://github.com/Lh4cKg/wagtail-admin-sortable/archive/baa0d1f13a6bca4cc60e0d7dcd0522ecafcf5d67.zip
Installation
You can install the package using pip:
pip install geomanager
The following packages will be automatically installed when installing geomanager
, if not already installed.
- wagtail>=4.2.2
- adm-boundary-manager>=0.0.1
- django_extensions>=3.2.1
- wagtail_color_panel>=1.4.1
- wagtailfontawesomesvg>=0.0.3,
- django_json_widget>=1.1.1
- django_nextjs>= 2.2.2
- django-allauth>=0.54.0
- django-large-image>=0.9.0
- large-image-source-gdal>=1.20.6
- large-image-source-pil>=1.20.6
- large-image-source-tiff>=1.20.6
- django-filter>=22.1
- cftime>=1.6.2
- netCDF4>=1.6.3
- rasterio>=1.3.6
- rio-cogeo>=3.5.1
- xarray>=2023.3.0
- rioxarray>=0.14.0
- shapely>=2.0.1
- djangorestframework-simplejwt>=5.2.2
- wagtail-humanitarian-icons>=1.0.3
- wagtail-icon-chooser>=0.0.1
- matplotlib>=3.7.1
- wagtail-cache>=2.2.0
Usage
Make sure the following are all added to your INSTALLED_APPS
in your Wagtail settings
INSTALLED_APPS = [
...
"geomanager",
"adminboundarymanager",
"django_large_image",
'django_json_widget',
'django_nextjs',
"django_filters",
"wagtail_color_panel",
"wagtail_adminsortable",
"wagtailhumanitarianicons",
"wagtailiconchooser",
"django_extensions",
"wagtailfontawesomesvg"
"allauth",
"allauth.account",
"wagtailcache",
"wagtail.contrib.modeladmin",
"wagtail.contrib.settings",
"rest_framework",
"django.contrib.gis",
...
]
Run migrations
python manage.py migrate geomanager
Add the following to your project's urls.py
urlpatterns = [
...
path("", include("geomanager.urls")),
...
]
Wagtail Cache Setup
Geomanager depends on the wagtail-cache package for caching requests. Please have a look at the wagtail-cache documentation for setup instructions
Including the Map Viewer
This package is the backend component to the frontend geomapviewer.
Documentation
TODO
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file geomanager-0.0.5.tar.gz
.
File metadata
- Download URL: geomanager-0.0.5.tar.gz
- Upload date:
- Size: 480.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e757b898868068ddeb2bb5e725c918e20cbc8a9966fe094d6f8269282c841fb0 |
|
MD5 | 0bda6a09a84871fdfc358189c98fa822 |
|
BLAKE2b-256 | a50e7b7dbefc23bf1f3ba535247b1609b3248336829f64583df2f76314bbe24e |
File details
Details for the file geomanager-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: geomanager-0.0.5-py3-none-any.whl
- Upload date:
- Size: 515.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2c9080e63e7778a3e229df9c70ef8f1742b7a0f775522742359057e54cb28f9 |
|
MD5 | adfffa66410af4c317c1e16c40bf035b |
|
BLAKE2b-256 | 3360bbb13049dbbc6e1f3e611145a8ea2517115ae85fce9f521deb4abecb6c96 |