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.0rc7.linux-x86_64.tar.gz.

File metadata

File hashes

Hashes for django-geonode-mapstore-client-1.0rc7.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 f4d49e392cb2b0a08ff2ae2c5d30644e2142db9bf7b13a47247651852070d463
MD5 fffca09eeab959280e22a26c641c3252
BLAKE2b-256 0988298f0aace2d9094c22aa3386e7d03cea6bcbc39c22132b2d44ea9d3202af

See more details on using hashes here.

Provenance

File details

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

File metadata

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

File hashes

Hashes for django_geonode_mapstore_client-1.0rc7-py2-none-any.whl
Algorithm Hash digest
SHA256 dd511f9afde062927ff8e01e38384cee9dfbaa85bb351821cd63fdbabdf2ad6b
MD5 8d34e1b13b24741610bdef0b0d0f6754
BLAKE2b-256 da4b51701070fab0b28e52275bfb6e3f71252959777897c6a4d1aa0a7d22252e

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