Skip to main content

Use GeoNode client in your django projects

Project description

geonode-client Build Status Code Climate Test Coverage

MapStore - React map viewer for GeoNode

Installation

Install node and npm. We would encourage you to use nvm a version manager for node.

You need node > 5

Run npm install to install all dependencies.

Development Server

Run npm start to start the development server. Visit your browser at http://localhost:8080 to see the result.

Testing

During development run npm run test:watch to run tests on every file change.

Run npm test to run the full test suite with code coverage report.

Building

  • Building is done via webpack and the command is npm build
  • The dist folder is where the minified versions of these files are stored.

Deployment to GH-pages

Automated deployment via travis is enabled for the master branch.

If you want to deploy manually to gh-pages use npm run deploy

Important

The deplyoment uses the index-gh.html please keep this file in sync with index.html and change the path once the repo changes it's name. The .travis.yml needs to be changed as well.

Integrating into GeoNode/Django

  • Execute pip install django-mapstore-adapter --upgrade
  • Execute pip install django-geonode-mapstore-client --upgrade

GeoNode settings update

Update your GeoNode > settings.py as follows:

# To enable the MapStore2 based Client enable those
if 'geonode_mapstore_client' not in INSTALLED_APPS:
    INSTALLED_APPS += (
        'mapstore2_adapter',
        'geonode_mapstore_client',)

GEONODE_CLIENT_LAYER_PREVIEW_LIBRARY = 'mapstore'  # DEPRECATED use HOOKSET instead
GEONODE_CLIENT_HOOKSET = "geonode_mapstore_client.hooksets.MapStoreHookSet"

MAPSTORE_DEBUG = False

def get_geonode_catalogue_service():
    if PYCSW:
        pycsw_config = PYCSW["CONFIGURATION"]
        if pycsw_config:
                pycsw_catalogue = {
                    ("%s" % pycsw_config['metadata:main']['identification_title']): {
                        "url": CATALOGUE['default']['URL'],
                        "type": "csw",
                        "title": pycsw_config['metadata:main']['identification_title'],
                        "autoload": True
                     }
                }
                return pycsw_catalogue
    return None

GEONODE_CATALOGUE_SERVICE = get_geonode_catalogue_service()

MAPSTORE_CATALOGUE_SERVICES = {
    "Demo WMS Service": {
        "url": "https://demo.geo-solutions.it/geoserver/wms",
        "type": "wms",
        "title": "Demo WMS Service",
        "autoload": False
     },
    "Demo WMTS Service": {
        "url": "https://demo.geo-solutions.it/geoserver/gwc/service/wmts",
        "type": "wmts",
        "title": "Demo WMTS Service",
        "autoload": False
    }
}

MAPSTORE_CATALOGUE_SELECTED_SERVICE = "Demo WMS Service"

if GEONODE_CATALOGUE_SERVICE:
    MAPSTORE_CATALOGUE_SERVICES[GEONODE_CATALOGUE_SERVICE.keys()[0]] = GEONODE_CATALOGUE_SERVICE[GEONODE_CATALOGUE_SERVICE.keys()[0]]
    MAPSTORE_CATALOGUE_SELECTED_SERVICE = GEONODE_CATALOGUE_SERVICE.keys()[0]

DEFAULT_MS2_BACKGROUNDS = [{
        "type": "osm",
        "title": "Open Street Map",
        "name": "mapnik",
        "source": "osm",
        "group": "background",
        "visibility": True
    },
    {
        "group": "background",
        "name": "osm",
        "source": "mapquest",
        "title": "MapQuest OSM",
        "type": "mapquest",
        "visibility": False
    }
]

MAPSTORE_BASELAYERS = DEFAULT_MS2_BACKGROUNDS

if 'geonode.geoserver' in INSTALLED_APPS:
    LOCAL_GEOSERVER = {
        "type": "wms",
        "url": OGC_SERVER['default']['PUBLIC_LOCATION'] + "wms",
        "visibility": True,
        "title": "Local GeoServer",
        "group": "background",
        "format": "image/png8",
        "restUrl": "/gs/rest"
    }

Update migrations and static files

  • Execute DJANGO_SETTINGS_MODULE=<your_geonode.settings> python manage.py migrate
  • Execute DJANGO_SETTINGS_MODULE=<your_geonode.settings> python manage.py collectstatic

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 django-geonode-mapstore-client-1.0rc8.linux-x86_64.tar.gz.

File metadata

File hashes

Hashes for django-geonode-mapstore-client-1.0rc8.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 f1ca7749704de05167bf7c0800b013f3f8d953f74450543b5f181a8190f956e3
MD5 afccdde2e54bbf3d9c7aeef982d4f32b
BLAKE2b-256 5e85fab4acf230c6e8cee712a6a333875c3a46c8af0860f9faa9c512ecbca084

See more details on using hashes here.

Provenance

File details

Details for the file django_geonode_mapstore_client-1.0rc8-py2-none-any.whl.

File metadata

  • Download URL: django_geonode_mapstore_client-1.0rc8-py2-none-any.whl
  • Upload date:
  • Size: 29.0 MB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.12

File hashes

Hashes for django_geonode_mapstore_client-1.0rc8-py2-none-any.whl
Algorithm Hash digest
SHA256 b7a3a1467e46ba1cc692c5a4a12e7813e16347ed3e8717a6ee519df21b89416a
MD5 c32b63de280fd27664db91328fd53741
BLAKE2b-256 04ff4b91e70c8bb7a5afa42b041c0618b3856932ef07cb154fe42b9efca02a2a

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page