Giter VIP home page Giter VIP logo

geomanager's Introduction

GeoManager

Wagtail based Geospatial Data Manager and backend CMS for geomapviewer

Geomanager Admin Screenshot

Background

Most national/regional institutions working in weather/climate/DRM sectors regularly produce and 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 as PNGs or PDFS.

This is an effort to develop an interactive system for managing and publishing Geo-referenced (GIS) datasets. As the institutions 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 use by 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-imagefeatures 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

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
  • wagtail-modeladmin>=1.0.0
  • 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
  • django-tables2>=2.6.0
  • django-tables2-bulma-template>=0.2.0
  • CairoSVG>=2.7.0
  • wagtail-cache>=2.3.0
  • wagtail_adminsortable=0.1

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_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

Maintainer โœจ

GeoManager is built with ๐Ÿ’› by Erick Otenyo.

Your support and feedback are valuable in maintaining and improving the package.

logo logo logo

Buy Me A Coffee

geomanager's People

Contributors

erick-otenyo avatar

Stargazers

Thomas L. Kjeldsen avatar Nikolaus Schlemm avatar Joseph Kariuki avatar

Watchers

 avatar  avatar

Forkers

keenness25

geomanager's Issues

i am trying to reach you

Hi erick-otenyo i am actually from Tanzania, and there is no way i could reach you, please contact me through +255768897171 i have project to discuss.

Thanks and apologies for posting here

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.